টর প্রস্থান নোডে iptables


9

আমি একটি ওপেন টর রাউটার চালাতে চাই ।

আমার প্রস্থান নীতি অনুরূপ হতে হবে ReducedExitPolicy

তবে টর নেটওয়ার্কের জন্য আমার সংস্থানগুলিকে অপব্যবহার করা আরও শক্ত করে তুলতে চাই।

কেসগুলি আমি টর মাধ্যমে ক্লায়েন্টদের করা থেকে বিরত রাখতে চাই:

  • খুব বেশি প্যাকেট সহ একটি সাইট হ্যামারিং।
  • পুরো আইপি ব্লকের আগ্রাসী নেটস্ক্যানগুলি

কেসগুলি আমি টায়ারের মাধ্যমে ক্লায়েন্টদের করা থেকে বিরত রাখতে চাই না:

  • ক্লাউডে কয়েকটি হুডের চিত্রের ফাইল আপলোড করা হচ্ছে
  • একটি টরেন্ট বীজ

আমার প্রশ্ন, এটি কি আদৌ করা যায় এবং কীভাবে?

আমার প্রথম চিন্তাটি ছিল কিছু ফায়ারওয়াল (লিনাক্স / iptables বা * BSD / ipfw / pf) - তবে এটি সম্ভবত অনিয়ন রাউটারের সহজাত বৈশিষ্ট্যের কারণে অকেজো হবে।

এই বিষয়টিতে কোন টরপ্রজেক্ট টিমের বিকাশ চলছে?

টোর প্রস্থান নোডগুলি সুরক্ষার বিষয়ে আমি সাধারণ ইঙ্গিতগুলির জন্যও বলি।

আপডেট (সেপ্টেম্বর 2012)

সহায়ক উত্তর এবং কিছু অন্যান্য গবেষণা থেকে আমি মনে করি এটি করা যায় না।

DDOS এ অবদান রাখার জন্য এক্সজিট নোডগুলিকে অপব্যবহার করা থেকে বিরত রাখতে আপনি সবচেয়ে ভাল যা করতে পারেন তা হ'ল একটি আইপি-তে নির্দেশিত খুব ঘন ঘন প্যাকেটগুলি সনাক্ত করা।

"খুব ঘন ঘন" প্রান্তিকতা মোট নোড ব্যান্ডউইথের উপর নির্ভর করে ... যদি এটি ভুল হয় তবে মিথ্যা ধনাত্মকতা থাকবে, রিয়েলটাইম টিসিপি অ্যাপ্লিকেশনগুলির বৈধ ট্র্যাফিককে বাধা দেওয়া হবে এবং অনেক ক্লায়েন্টের কাছ থেকে এক গন্তব্যে ট্র্যাফিক ট্র্যাফিক করা হবে।

আপডেট (ডিসেম্বর 2014)

আমার ভবিষ্যদ্বাণীগুলি স্পষ্টত সত্য ছিল - আমার ইন্টারনেট সরবরাহকারীর কাছ থেকে আমার বেশ কয়েকটি নেটওয়ার্ক অপব্যবহারের অভিযোগ ছিল।

পরিষেবা শাটডাউন এড়াতে আমাকে নিম্নলিখিত iptablesনিয়মগুলি ( ONEWবহির্গামী টিসিপি এসওয়াইএন (ওরফে নিউ) প্যাকেটের জন্য একটি চেইন) নিয়োগ করতে হয়েছিল:

আমি নিশ্চিত না যে এটি যথেষ্ট হবে তবে এখানে এটি রয়েছে:

-A ONEW -o lo -j ACCEPT
-A ONEW -p udp --dport 53 -m limit --limit 2/sec --limit-burst 5 -j ACCEPT
-A ONEW -m hashlimit --hashlimit-upto 1/second --hashlimit-mode dstip --hashlimit-dstmask 24 --hashlimit-name ONEW -j ACCEPT
-A ONEW -m limit --limit 1/sec -j LOG --log-prefix "REJECTED: "
-A ONEW -j REJECT --reject-with icmp-admin-prohibited

উত্তর:


2

মনে রেখ যে:

  • টর ক্লায়েন্টরা আমার বর্তমান বোঝার জন্য প্রতি 10 মিনিট বা তারপরে ভার্চুয়াল সার্কিটগুলি স্যুইচ করে। এর অর্থ সোর্স আইপি সেই সময়ের ফ্রেমের চারপাশে পরিবর্তিত হচ্ছে। আপনি সেই সময়ের চেয়ে বেশি সময় ধরে দূষিত বলে মনে করেন এমন কোনও আচরণ রোধ করার সম্ভাবনা নেই।

  • উল্লেখ্য যে টোর কেবলমাত্র টিসিপি ট্র্যাফিকের প্রক্সি করে এবং অন্য কোনও প্রোটোকল অপব্যবহারের সম্ভাবনাগুলিকে কিছুটা সীমাবদ্ধ করে না।

iptablesআপনাকে নতুন বহির্গামী টিসিপি সংযোগগুলি বিদ্যমান বিদ্যমানগুলির চেয়ে আলাদাভাবে আচরণ করতে দেয়। "বিদ্যমান টিসিপি সংযোগগুলি" চেইনের মাধ্যমে যা কিছু ESTABLISHED,RELATEDকরা ACCEPTEDবা রাখা উচিত , এবং আউটগোয়িং টিসিপি যা ধরা পড়ে না তা রেট সীমাবদ্ধ হতে পারে। যে কোনও বিদায়ী টর ট্র্যাফিকের বিষয় হতে হবে।

আমি বিশ্বাস করি উপরেরটির মধ্যে এবং "হ্রাস প্রস্থান নীতি" ব্যবহার করা আপনার পক্ষে সবচেয়ে ভাল।

আদর্শভাবে, আপনার টর ​​বাক্সে আর কিছু চালাবেন না:

  • আপনার সম্ভবত কমপক্ষে এসএসএইচ থাকবে, এটি 22 এর চেয়ে আলাদা পোর্টে রেখে দিন।
  • আপনি সম্ভবত এই পৃষ্ঠাটি প্রদর্শনের জন্য একটি সাধারণ ওয়েবসার্ভার চালাতে চাইবেন । একটি chroot'ed mini-httpdউদাহরণ করা উচিত। ব্যবহার করবেন না inetd

টর এমন কোনও বাক্সে চালাবেন না যা অন্য কোনও কিছুর জন্য ব্যবহৃত হচ্ছে। নিশ্চিত হয়ে নিন যে আপনি টর আইনী FAQ এর "প্রস্থান প্রস্থানগুলি" বিভাগটি পড়েছেন এবং এর প্রভাবগুলি পুরোপুরি বুঝতে পেরেছেন। এগুলিও পড়ুন এবং করুন


1

উত্স আইপি ধ্রুবক না হওয়ায় এই আক্রমণগুলি প্রতিরোধ করা স্বাভাবিকের চেয়ে শক্ত হবে। যাইহোক, আমার জ্ঞান অনুসারে টোরের রুটগুলি প্রতি কয়েক মিনিট বা তার পরে কেবল পরিবর্তন করা হয়।

সুতরাং আপনি এখনও কিছু স্ট্যান্ডার্ড সীমাবদ্ধতা / ফিল্টারিং নিয়ম মোতায়েন করতে পারেন তবে উচ্চতর চৌম্বক সহ, যেহেতু আপনাকে অবশ্যই ধরে নিতে হবে যে আপনার উত্স আইপিগুলির পিছনে একটি পুরো নেটওয়ার্ক রয়েছে।

আপনি ফিল্টার করতে পারেন:

  • খারাপ বা সাধারণ ফিঙ্গারপ্রিন্টিং / স্ক্যানিং প্যাকেটগুলি (খারাপ টিসিপি / আইপি পতাকা, এক্সএমএএস, বেশিরভাগ আইসিএমপি প্রকার ইত্যাদি)
  • অবতরণ প্যাকেটগুলি যা চলমান বা নতুন সংযোগের সাথে মানানসই নয় (-মামজাত)
  • নতুন সংযোগগুলি কিছু বরং উচ্চ প্রান্তে শুরু হচ্ছে

তবে সচেতন থাকবেন যে এ জাতীয় জিনিসগুলি সাধারণত অভ্যন্তরীণ ট্র্যাফিকের ক্ষেত্রেই করা হয়। আপনার "গ্রাহকরা" কী ধরণের প্রোটোকল চালাবেন তা আপনি জানেন না এবং আপনি এগুলি এমনভাবে সীমাবদ্ধ করতে পারেন যা বিরক্তিকর / অস্পষ্ট হতে পারে।

এছাড়াও, রেট-সীমাবদ্ধ নতুন (বা স্টেটলেস) প্যাকেটের জন্য আপনি আরও কিছু জড়িত স্কিম বিবেচনা করতে চাইতে পারেন যেখানে প্রত্যাখ্যাত (কখনই দ্রোপ হয় না যতক্ষণ না এটি স্পষ্টভাবে আক্রমণ না করে!) প্যাকেটগুলি এলোমেলো করে দেওয়া হয় না। এইভাবে, একজন নিয়মিত ব্যবহারকারী কেবল পুনরায় লোড হিট করার চেষ্টা করতে পারেন এবং ভাগ্যবান হয়ে উঠতে পারেন, যদিও সামগ্রিক হার বর্তমানে সীমাতে রয়েছে, তবে সমবর্তী পোর্ট স্ক্যানার আপনার হারের সীমাটি ছিন্ন করতে সক্ষম হবে না।

টোর মেলিং তালিকাগুলিতেও জিজ্ঞাসা করুন, আপনি সম্ভবত এই জাতীয় চিন্তাভাবনা প্রথম নন: https://lists.torproject.org/cgi-bin/mailman/listinfo


1

প্রথমে আমি এই সমস্তগুলি সমাধান করার জন্য আইপটিবলগুলির পরামর্শ দেব না, সত্যই একটি আদর্শ প্রস্থান টর নোড প্যাকেটগুলি এবং সত্যের গন্তব্য থেকে দূরে রাখতে কয়েকটি ভিপিএন টানেল এবং আউটবাউন্ড পুনরাবৃত্তি অনুরোধগুলি রাখার জন্য ক্যাচিং প্রক্সি ব্যবহার করার জন্য যদিও কয়েকটি ভিপিএন টানেল বেলে ট্র্যাফিক লোড করবে সর্বনিম্ন জনপ্রিয় স্থিতিশীল সামগ্রীতে ... এই বিকল্পগুলি সন্ধানের জন্য এখানে অপব্যবহার অভিযোগের সমস্যার জন্য একটি ব্যান্ড-সহায়তা রয়েছে ;

ব্যবহৃত তথ্য উত্স

http://www.ossramblings.com/using_iptables_rate_limiting_to_prevent_portscans

http://blog.nintechnet.com/how-to-block-w00tw00t-at-isc-sans-dfind-and-other-web-vulnerability-scanners/

নিয়মে দুটি উত্সের লিঙ্কের সংমিশ্রণ যা পোর্ট স্ক্যানিংয়ের জন্য আপনার টর ​​প্রস্থান নোডটি ব্যবহার করার চেষ্টা করে বটগুলি হতাশ করতে ব্যবহৃত হতে পারে। নোট করুন এটি আপনার প্রস্থান নোড ব্যবহার করে হ্যাকারকে খুব আন-খুশি করতে পারে কারণ এই নিয়মগুলির ফলে এনএম্যাপ হ্যাং-টাইমের কারণ রয়েছে।

#!/bin/bash
## Network interface used by Tor exit daemon
_tor_iface="eth1"
## Ports that Tor exit daemon binds to, maybe comma or space sepperated.
_tor_ports="9050,9051"
## Time to ban connections out in secconds, default equates to 10 minutes, same as default Tor cercut.
_ban_time="600"
## How long to monitor conections in seconds, default equates to 10 minutes.
_outgoing_tcp_update_seconds="600"
## How many new connections can be placed to a server in aloted update time limits. May nead to increes this depending on exit node usage and remote servers usages.
_outgoing_tcp_hitcount="8"
## How long to monitor connections for in minuets, default is 15 minutes but could be lessoned.
_outgoing_tcp_burst_minute="15"
## Hom many connections to accept untill un-matched
_outgoing_tcp_burst_limit="1000"

iptables -N out_temp_ban -m comment --comment "Make custom chain for tracking ban time limits" || exit 1
iptables -A out_temp_ban -m recent --set --name temp_tcp_ban -p TCP -j DROP -m comment --comment "Ban any TCP packet coming to this chain" || exit 1

iptables -N out_vuln_scan -m comment --comment "Make custom chain for mitigating port scans originating from ${_tor_iface}" || exit 1
for _tor_port in ${_tor_ports//,/ }; do
    iptables -A out_vuln_scan -p TCP -o ${_tor_iface} --sport ${_tor_port} -m recent --name temp_tcp_ban --update --seconds ${_ban_time} -j DROP -m comment --comment "Update ban time if IP address is found in temp_tcp_ban list" || exit 1
    iptables -A out_vuln_scan -p TCP -o ${_tor_iface} --sport ${_tor_port} -m state --state NEW -m recent --set -m comment --comment "Monitor number of new conncetions to ${_server_iface}" || exit 1
    iptables -A out_vuln_scan -p TCP -o ${_tor_iface} --sport ${_tor_port} -m state --state NEW -m recent --update --seconds 30 --hitcout 10 -j out_temp_ban -m comment --comment "Ban address when to many new connections are attempted on ${_tor_iface}" || exit 1
done
iptables -A out_vuln_scan -j RETURN -m comment --comment "Return un-matched packets for further processing" || exit 1

## Add rules to accept/allow outbound packets
iptables -N tor_out -m comment --comment "Make custom chain for allowing Tor exit node services" || exit 1
for _tor_port in ${_tor_ports//,/ }; do
    iptables -A tor_out -p TCP -o ${_tor_iface} --sport ${_tor_port} -m state --state NEW -m recent --set --name limit_${_tor_port} -m comment --comment "Track out-going tcp connections from port ${_tor_port}" || exit 1
    iptables -A tor_out -p TCP -o ${_tor_iface} --sport ${_tor_port} -m state --state NEW -m recent --update --seconds ${_outgoing_tcp_update_seconds:-60} --hitcount ${_outgoing_tcp_hitcount:-8} --rttl --name limit_${_tor_port} -j LOG --log-prefix "TCP flooding port ${_tor_port}" -m comment --comment "Log atempts to flood port ${_tor_port} from your server" || exit 1
    iptables -A tor_out -p TCP -o ${_tor_iface} --sport ${_tor_port} -m state --state NEW -m recent --update --seconds ${_outgoing_tcp_update_seconds:-60} --hitcount ${_outgoing_tcp_hitcount:-8} --rttl --name limit_${_tor_port} -j DROP -m comment --comment "Drop attempts to flood port ${_tor_port} from your server" || exit 1
    iptables -A tor_out -p TCP -o ${_tor_iface} --sport ${_tor_port} -m limit --limit ${_outgoing_tcp_burst_minute:-15}/minute --limit-burst ${_outgoing_tcp_burst_limit:-1000} -j ACCEPT -m comment --comment "Accept with conditions new connections from port ${_tor_port} from your server" || exit 1
done
iptables -A tor_out -j RETURN -m comment ---comment "Reurn un-matched packets for further filtering or default polices to take effect." || exit 1
## Activate jumps from default output chain to new custom filtering chains
iptables -A OUTPUT -p TCP -o ${_tor_iface} -j out_vuln_scan -m comment --comment "Jump outbound packets through vulnerability scaning mitigation" || exit 1
iptables -A OUTPUT -p TCP -o ${_tor_iface} -j tor_out -m comment --comment "Jump outbound packets through conditional acceptance" || exit 1

ক্যামজাসের bashসাথে ভেরিয়েবলগুলিতে ,যাদুবিদ্যার প্রবর্তন করতে উপরে চালিত করুন;

user@host~# bash iptables_limit_tor.sh

এখানে আবার ভেরিয়েবলের তালিকা

_tor_iface="eth1"
_tor_ports="9050,9051"
_ban_time="600"
_outgoing_tcp_update_seconds="600"
_outgoing_tcp_hitcount="8"
_outgoing_tcp_burst_minute="15"
_outgoing_tcp_burst_limit="1000"

আপনার কাছে নতুন বিদেশগামী সংযোগ ফিল্টার করতে পারেন নোট -m state NEW ! --synধরণের মজার এখানে নানারকম সার্ভার খোঁজার জন্য কিছু বট দ্বারা ব্যবহৃত buisness একটি উদাহরণ শৃঙ্খল আপনি আরও ফিল্টারিং যেমন বিকৃত অনর্থক জন্য দুটি উপরে prefice হতে পারে যে

iptables -N out_bad_packets -m comment --comment "Make new chain for filtering malformed packets" || exit 1
iptables -A out_bad_packets -p TCP --fragment -j out_temp_ban -m comment --comment "Drop all fragmented packets" || exit 1
iptables -A out_bad_packets -p TCP -m state --state INVALID -j out_temp_ban -m comment --comment "Drop all invalid packets" || exit 1
iptables -A out_bad_packets -p TCP ! --syn -m state --state NEW -j out_temp_ban -m comment --comment "Drop new non-syn packets" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags ALL NONE -j out_temp_ban -m comment --comment "Drop NULL scan" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags ALL ALL -j out_temp_ban -m comment --comment "Drop XMAS scan"|| exit 1
iptables -A out_bad_packets -p TCP --tcp-flags ALL FIN,URG,PSH -j out_temp_ban -m comment --comment "Drop stealth scan 1" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags ALL SYN,RST,ACK,FIN,URG -j out_temp_ban -m comment --comment "Drop pscan 1"|| exit 1
iptables -A out_bad_packets -p TCP --tcp-flags SYN,FIN SYN,FIN -j out_temp_ban -m comment --comment "Drop pscan 2" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags FIN,RST FIN,RST -j out_temp_ban -m comment --comment "Drop pscan 3" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags SYN,RST SYN,RST -j out_temp_ban -m comment --comment "Drop SYN-RST scan" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags ACK,URG URG -j out_temp_ban -m comment --comment "Drop URG scans" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags ALL SYN,FIN -j out_temp_ban -m comment --comment "Drop SYNFIN scan" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags ALL URG,PSH,FIN -j out_temp_ban -m comment --comment "Drop nmap Xmas scan" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags ALL FIN -j out_temp_ban -m comment --comment "Drop FIN scan" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags ALL URG,PSH,SYN,FIN -j out_temp_ban -m comment --comment "Drop nmap-id scan" || exit 1
iptables -A out_bad_packets -p TCP --tcp-flags RST RST -o ${_tor_iface} --sport ${_tor_port} -m limit --limit 2/second --limit-burst 3 -j out_temp_ban -m comment --comment "Mitigate Smurf attacks from excesive RST packets"
iptables -A out_bad_packets -p TCP --tcp-flags RST RST -o ${_tor_iface} --sport ${_tor_port} -m limit --limit 2/second --limit-burst 2 -j RETURN -m comment --comment "Ban Smurf attacks using excesive RST packets"
iptables -A out_bad_packets -j RETURN -m comment --comment "Return un-matched packets for further processing." || exit 1

যাইহোক, উপরের চেইনটি অত্যন্ত সীমাবদ্ধ হবে কারণ যে কোনও মিলিত প্যাকেটে আইপি নিষিদ্ধ করা হবে (সম্ভবত এটি পরীক্ষার জন্য বা পরিবর্তিত -j out_temp_banহবে ) তবে এই চেইনের নিয়মে অনেক সেকেন্ডের জন্য বেছে নেওয়া হয়েছে। ক্লায়েন্টের শেষের দিকে অ্যাপ্লিকেশনগুলিকে একটি নতুন টর সার্কিটের সাথে পুনরায় সংযোগ করতে খারাপভাবে কোড করা হলে নিয়মের এই সেটটিও ফলস ইতিবাচক কারণ হতে পারে।-j DROP-j REJECT

~~~~~

ট্র্যাফিককে আরও শ্যা্যাপিংয়ের জন্য বিবেচনা করার জন্য সফ্টওয়্যারটি firejailলিনাক্সের জন্য পরীক্ষা করে দেখুন, উত্সটি গিথুব এবং উত্স ফোর্জে রয়েছে এবং ম্যান পৃষ্ঠাগুলি পুরানো হোম পৃষ্ঠায় পাওয়া যেতে পারে, একটি ওয়ার্ডপ্রেস সাব ডোমেন, এবং ডিজিটাল ওশান পিএনপি এবং ফায়ার জেইলের সাথে এনগিনেক্সের জন্য একটি গাইড রয়েছে যা সামান্য সংশোধন করার মাধ্যমে আপনাকে নেটওয়ার্কটি যেখানে থ্রোটল করা উচিত তা আরও বেশি উস্কানি দিতে পারে। অন্যান্য সরঞ্জামগুলিও রয়েছে KVMযা স্পিসিফিক সার্ভিসগুলি অপারেশনাল সীমানার মধ্যে রাখতে ব্যবহার করা যেতে পারে তাই আপনার সিস্টেমের জন্য সবচেয়ে ভাল কাজ করে এমন একটি সন্ধান করুন shop

তবুও অন্য বিকল্পটি fail2banএমনভাবে চালানো হবে যে কোনও পাগল সি-অ্যাডমিন আপনার আইপি-তে কোনও HTTP বা এসএসএল সংযোগের সত্যতা স্বীকার করে যে কোনও নিয়ম ছাড়ার জন্য যোগ করা হয়েছে is-m state --state NEWআপনার প্রস্থান বিজ্ঞপ্তি পৃষ্ঠা অনুরোধ যারা সংযোগ। এটি যদি সান আন-নিষেধাজ্ঞার সময় সীমাবদ্ধতার সাথে মিলিত হয় তবে দূরবর্তী সার্ভারটি বিরতি দিতে পারে যখন লগ দূষণ সম্পর্কে তীব্র সিএস-অ্যাডমিন বিবাদ করতে পারে ;-) তবে, এটি বর্তমান প্রশ্নের উত্তরের বাইরে নয় এবং আপনি কোন সফ্টওয়্যারটি ব্যবহার করছেন তার উপর নির্ভরশীল প্রস্থান বিজ্ঞপ্তি পৃষ্ঠাগুলি; ইন্আরএলটি যদি অনুরোধ করা হয় তবে আপনার কনফিগারেশনে এনজিন্স এবং অ্যাপাচি উভয়ই প্রথম ভোস্ট বা সার্ভার ব্লক পরিবেশন করবে। যদি অ্যাপাচি বা এনজিনেক্স ব্যতীত অন্য কোনও কিছু ব্যবহার করে আপনি ম্যান পেজগুলির সাথে পরামর্শ করতে চান তবে আমার পক্ষে এটি সহজ ছিল যে কোনও পৃথক ফাইলে লগ ইন করার জন্য প্রথম vhost সেট করা এবং ফেল 22 সেই লগ থেকে কোনও অস্থায়ী নিষেধাজ্ঞার তালিকায় কোনও আইপি যুক্ত করতে পারে ; এটি সর্বজনীন সার্ভারগুলিতে বটগুলি নিষিদ্ধ করার জন্যও দুর্দান্ত কাজ করে কারণ তারা সাধারণত একটি আইপি ঠিকানা ব্যবহার করে এবং বট ট্র্যাপটি সার্ভারে কোনও ডোমেন অনুরোধের ফলাফল সরবরাহ না করে,

আমি টিওয়ার্ডগুলি একটি নিষিদ্ধ টর প্রস্থান নীতি চালিয়ে যাচ্ছি (মনে হচ্ছে আপনি এটি পরিচালনা করেছেন) এবং তারপরে ভিপিএন টানেলগুলির মাধ্যমে ট্র্যাফিকের দিকে ঠেলে দেওয়া হবে, মাল্টিপুলার টানেলের মধ্যে লোড ভারসাম্যের জন্য অতিরিক্ত ক্রেডিট পয়েন্ট। কারণ এটি টোর নেটওয়ার্ক ট্র্যাফিককে কম ব্যাহত করতে পারে এবং আপনার আইএসপির চোখ এই বিষয়টির উপরে মেঘলা থাকবে যে তারা যদি আপনার ভিপিএন ট্র্যাফিক স্নিগ্ধ করতে এবং ক্র্যাক করতে স্বীকার না করে তবে ... এর কারণ এই যে নিয়মগুলি নিষিদ্ধ করা বা রিমোট হোস্টকে স্ব-নিষেধাজ্ঞার অনুমতি দেয় সেগুলি আপনার নোডের ক্লায়েন্টদের গোপনীয়তার লঙ্ঘন করতে পারে যেখানে কোনও ভিপিএন (বা কয়েকটি) ট্রাফিককে ঠেলে দেওয়ার ফলে আপনার ক্লায়েন্টের গোপনীয়তা সহায়তা করবে এবং আপনার আইএসপি আপনার নেটওয়ার্ক ট্র্যাফিক লগগুলির জন্য অনুরোধগুলি দ্বারা চালিত হতে পারে এমন কোনও সরকার কর্তৃক অনুরোধের সাথে জড়িত থেকে রক্ষা পাবে whois www.some.domain

~~~~

সম্পাদনা / আপডেট

~~~~

আমি আমার এক্সটেনসিভ নোটগুলিতে একটি ট্রিপ নিয়েছি এবং আমি যে পাবলিক সার্ভারগুলি ব্যবহার করি তার জন্য কনফিগারগুলি টানলাম

এখানে jail.localব্যর্থতা 2 স্তম্ভ

[apache-ipscan]
enabled  = true
port = http,https
filter = apache-ipscan
logpath = /var/log/apache*/*error_ip*
action = iptables-repeater[name=ipscan]
maxretry = 1

এবং এখানে ফিল্টার apache-ipscan.confফাইল

[DEFAULT]
_apache_error_msg = \[[^]]*\] \[\S*:error\] \[pid \d+\] \[client <HOST>(:\d{1,5})?\]
[Definition]
failregex = \[client <HOST>\] client denied by server .*(?i)/.*
#^<HOST>.*GET*.*(?!)/.*
#   ^%(_apache_error_msg)s (AH0\d+: )?client denied by server configuration: (uri )?.*$
#            ^%(_apache_error_msg)s script '\S+' not found or unable to stat(, referer: \S+)?\s*$
ignoreregex = 
# DEV Notes: 
# the web server only responds to clients with a valid Host: 
# header. anyone who tries using IP only will get shunted into 
# the dummy-error.log and get a client-denied message
#
# the second regex catches folks with otherwise valid CGI paths but no good Host: header
#
# Author: Paul Heinlein

এবং এখানে কর্ম iptables-repeater.confফাইল

# Fail2Ban configuration file
#
# Author: Phil Hagen <phil@identityvector.com>
# Author: Cyril Jaquier
# Modified by Yaroslav Halchenko for multiport banning and Lukas Camenzind for persistent banning
# Modified by S0AndS0 to combine features of previous Authors and Modders
#
[Definition]
# Option:  actionstart
# Notes.:  command executed once at the start of Fail2Ban.
# Values:  CMD
#
actionstart = iptables -N fail2ban-BADIPS-<name>
              iptables -A fail2ban-BADIPS-<name> -j RETURN
          iptables -I INPUT -j fail2ban-BADIPS-<name>
          ## Comment above line and uncomment bello line to use multiport and protocol in addition to named jails
          #iptables -I INPUT -p <protocol> -m multiport --dports <port> -j fail2ban-BADIPS-<name>
          # set up from the static file
          #cat /etc/fail2ban/ip.blocklist.<name> |grep -v ^\s*#|awk '{print $1}' | while read IP; do iptables -I fail2ban-BADIPS-<name> 1 -s $IP -j DROP; done
          cat /etc/fail2ban/ip.blocklist.<name> |grep -v ^\s*#|awk '{print $1}' | while read IP; do iptables -I fail2ban-BADIPS-<name> 1 -d $IP -j DROP; done
          ## Comment above line and uncomment bellow line to check if there are blacklist files to load before attempting to load them
          # if [ -f /etc/fail2ban/ip.blacklist.<name> ]; then cat /etc/fail2ban/ip.blacklist.<name> | grep -e <name>$ | cut -d "," -s -f 1 | while read IP; do iptables -I fail2ban-BADIPS-<name> 1 -s $IP -j DROP; done; fi
# Option:  actionstop
# Notes.:  command executed once at the end of Fail2Ban
# Values:  CMD
#
actionstop = iptables -D INPUT -p <protocol> -m multiport --dports <port> -j fail2ban-BADIPS-<name>
         iptables -F fail2ban-BADIPS-<name> 
         iptables -X fail2ban-BADIPS-<name>
# Option:  actioncheck
# Notes.:  command executed once before each actionban command
# Values:  CMD
#
#actioncheck = iptables -n -L INPUT | grep -q fail2ban-BADIPS-<name>
actioncheck = iptables -n -L OUTPUT | grep -q fail2ban-BADIPS-<name>
# Option:  actionban
# Notes.:  command executed when banning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    <ip>  IP address
#          <failures>  number of failures
#          <time>  unix timestamp of the ban time
# Values:  CMD
#
#actionban = if ! iptables -C fail2ban-BADIPS-<name> -s <ip> -j DROP; then iptables -I fail2ban-BADIPS-<name> 1 -s <ip> -j DROP; fi
actionban = if ! iptables -C fail2ban-BADIPS-<name> -d <ip> -j DROP; then iptables -I fail2ban-BADIPS-<name> 1 -d <ip> -j DROP; fi
# Add offenders to local blacklist, if not already there
        if ! grep -Fxq '<ip>,<name>' /etc/fail2ban/ip.blocklist.<name>; then echo "<ip>,<name> # fail2ban/$( date '+%%Y-%%m-%%d %%T' ): auto-add for BadIP offender" >> /etc/fail2ban/ip.blocklist.<name>; fi
# Report offenders to badips.com
#        wget -q -O /dev/null www.badips.com/add/<name>/<ip>
# Option:  actionunban
# Notes.:  command executed when unbanning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    <ip>  IP address
#          <failures>  number of failures
#          <time>  unix timestamp of the ban time
# Values:  CMD
#
#actionunban = iptables -D fail2ban-REPEAT-<name> -s <ip> -j DROP
actionunban = iptables -D fail2ban-REPEAT-<name> -d <ip> -j DROP
# Disabled clearing out entry from ip.blacklist (somehow happens after each stop of fail2ban)
#sed --in-place '/<ip>,<name>/d' /etc/fail2ban/ip.blacklist.<name>
[Init]
# Defaut name of the chain
# 
# Defaut name of the chain
name = BADIPS
# Option:  port
# Notes.:  specifies port to monitor
# Values:  [ NUM | STRING ]  Default:
# 
#port = ssh
# Option:  protocol
# Notes.:  internally used by config reader for interpolations.
# Values:  [ tcp | udp | icmp | all ] Default: tcp

উপরের নোটের ফিল্টারটি সম্পাদনা OUTPUT/ স্টপ ক্রিয়াকলাপগুলি সম্পাদনা করার জন্য সম্পাদনা করা হয়েছে তবে আপনি -p TCP -m state --state NEWলগ ইনকৃত আইপি ঠিকানা থেকে কেবল নতুন আউটবাউন্ড সংযোগ নিষিদ্ধ করতে প্রতিটি লাইনে কনফিগারেশন যুক্ত করতে চাইবেন ।

সর্বশেষে একটি অ্যাপাচি ভি হোস্ট কনফিগারেশন সেট আপ করা হচ্ছে যা নির্দিষ্টভাবে অ্যাক্সেস এবং ত্রুটি লগতে কোনও ডোমেনের জন্য অনুরোধ না করে এবং অনুমোদিত বনাম অ্যাক্সেসটিকে অস্বীকার করে তা নির্ধারণ করে দেয় যা লুপব্যাকটিও পপিং ত্রুটি ছাড়াই পৃষ্ঠাটি টানতে সক্ষম হবে না । সর্বশেষে তবে আপের জন্য তর থেকে ডিফল্ট প্রস্থান নোটিশে ত্রুটি পৃষ্ঠাটি সেট করা হচ্ছে যাতে এটি 503বা এর পরিবর্তে পরিবেশিত হয়404দু: খিত বার্তা। অথবা যদি আপনি ব্যর্থ 2 ব্যাবহারের জন্য iptables ক্রিয়ায় রাজ্য রেখাগুলি যুক্ত করেন তবে আপনি সহজেই আপনার প্রস্থান বিজ্ঞপ্তির দ্বারা ব্যবহৃত একই লগ ফাইলটিতে নির্দেশ করতে পারেন could ফলাফলটি হ'ল আপনার সার্ভারটি আপনার আইপি ঠিকানাটি যাচাই করেছে তবে প্রতিষ্ঠিত এবং সম্পর্কিত সংযোগগুলি এখনও অনুমোদিত হতে পারে এমন সার্ভারের আইপিতে নতুন সংযোগ তৈরি করতে সক্ষম হবে না, তারা এখনও আপনার অন্যান্য পৃষ্ঠাগুলি ব্রাউজ করতে পারে তবে আপনি তার মাধ্যমে ব্রাউজ করতে পারবেন না ।


সর্বাধিক স্বাগত, আপনি যদি উপভোগ করেন যে আমি গিটহাবের কাছে স্ক্রিপ্ট / নোটের একটি বড় পরিমাণ সবেমাত্র ঠেলেছি যা আপনি দেখতে চাইবেন । আমি এক বছর আগে এই প্রকল্পটি প্রাইভেটলি শুরু করেছিলাম তবে এখন স্বাস্থ্যটি এমন একটি সমস্যা যা আমি এটি শেষ করতে না পারলে ডিবাগিং এবং বৈশিষ্ট্যগুলি যুক্ত করার জন্য এটিকে জনসমক্ষে প্রকাশ করেছি; যা এবং অন্যের দ্বারা স্থানীয় এবং বিশ্বব্যাপী গৃহীত পদক্ষেপগুলি ব্যক্তিগত ব্যক্তিগত গোপনীয়তাকে আরও সহজ স্যুইচ করার জন্য একটি অবস্থান নিতে আমাকে উত্সাহিত করে
S0AndS0

আমি অন্য একটি প্রকল্প লিখেছি এবং এটি গিটহাবের দিকে ঠেলেছি । এটি GnuPG অসমমিতিক এনক্রিপশন ব্যবহার করে সার্ভার প্রশাসকদের তাদের সার্ভারের লগগুলি সুরক্ষিত করতে সহায়তা করে। এতক্ষণ আপনার প্রস্থান নোড বা লুকানো পরিষেবা সম্পর্কিত ব্যক্তিগত কী ধরে না রাখলে, উপরের প্রকল্পটি আপনার নিজের নোডের সাথে সংযুক্ত অন্যান্য নোডের আইপি ঠিকানাগুলি ফাঁস করা থেকে অতীতের লগগুলি রাখা উচিত।
S0AndS0

0

টর নেটওয়ার্কের বাকী অংশগুলির সীমিত ব্যান্ডউইথ আপনার জন্য সমস্যাগুলি সমাধান করবে। এছাড়াও আপনি যদি উদ্বিগ্ন থাকেন তবে কেবল রিলে চালান, একটি প্রস্থান নোড নয়।


0

আমার আরও ভাল সমাধান রয়েছে: স্কুইড ক্যাশে সার্ভার। স্কুইড ক্যাশে সার্ভারটি সংজ্ঞায়িত করতে কনফিগার aclকরতে এবং আপনি denyবা acceptপ্রত্যেকে উপলব্ধ acl। এটি খুব আকর্ষণীয় যে স্কুইড দলটি তাদের উইকিতে নিয়মের একটি সেট সংজ্ঞায়িত করছে যে আপনার প্রশ্নটি সেখানে খুঁজে পেয়েছে iptables,PFবা অন্যরা আপনার কাজগুলি করতে পারে না, কারণ কেবল অন্য স্তরে কাজ করে।


টোরের সাথে স্কুইড (যা আমি জানি এবং পছন্দ করি) এর সংমিশ্রণের কোনও বুদ্ধিমান উপায় আমি দেখতে পাই না ...
ফিলিপ্রেম

দিয়ে চেষ্টা করুন Zebra route
ফার্সিগাল্ফ

আপনার অর্থ কি 80 টর পোর্টে যাওয়া টর প্রস্থান ট্র্যাফিককে পুনর্নির্দেশ করা এবং কিছু নিয়ন্ত্রণ যুক্ত করার জন্য স্কুইডের মাধ্যমে পাইপিং করা? এটি সমস্যার সামান্য অংশ সমাধান করে। আসল কারণটি হ'ল কোনও আইপি ভিত্তিক ডিডিওএসের জন্য টোর অপব্যবহার রোধ করা।
ফিলিপ্রেম

আপনি আপনার নেটওয়ার্কটি তিনটি স্তরে ডিজাইন ব্যবহার করতে পারেন: 1. বাইরে স্তর 2. প্রক্রিয়া স্তর। 3. ব্যবহারকারীর / সার্ভার স্তর ====> এটি আপনার সুরক্ষার উন্নতি ঘটায়।
ফার্সিগাল্ফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.