iptables pada simpul keluar tor

9

Saya ingin menjalankan router Tor terbuka .

Kebijakan keluar saya akan mirip dengan ReducedExitPolicy .

Tetapi saya juga ingin menyulitkan jaringan untuk menyalahgunakan sumber daya saya.

Kasus yang saya ingin mencegah klien melakukan melalui Tor:

  • Memalu satu situs dengan paket yang sangat banyak.
  • Netscan agresif seluruh blok IP

Kasus yang TIDAK AKU INGIN mencegah klien melakukan melalui Tor:

  • mengunggah beberapa hudred file gambar ke cloud
  • menebar torrent

Pertanyaan saya adalah, dapatkah ini dilakukan sama sekali, dan bagaimana?

Pikiran pertama saya adalah beberapa firewall (Linux / iptables atau * BSD / ipfw / pf) - tetapi ini mungkin tidak akan berguna karena sifat bawaan dari router Onion.

Apakah ada pengembangan tim proyek untuk topik ini?

Saya juga meminta petunjuk umum untuk mengamankan simpul keluar Tor.

Pembaruan (Sep 2012)

Dari jawaban yang bermanfaat dan beberapa penelitian lain, saya pikir ini tidak dapat dilakukan.

Hal terbaik yang dapat Anda lakukan untuk menghentikan orang dari menyalahgunakan simpul keluar untuk berkontribusi dalam DDOS, adalah mendeteksi paket yang sangat sering diarahkan ke satu IP.

Ambang "sangat sering" tergantung pada bandwidth total node ... Jika salah, akan ada positif palsu, memblokir lalu lintas yang sah dari aplikasi TCP realtime dan lalu lintas yang bersumber dari sangat banyak klien ke satu tujuan.

Pembaruan (Des 2014)

Prediksi saya benar - saya memiliki beberapa keluhan penyalahgunaan jaringan dari penyedia internet saya.

Untuk menghindari penutupan layanan saya harus menggunakan seperangkat iptablesaturan berikut ( ONEWadalah rantai untuk paket TCP SYN keluar (alias BARU):

Saya tidak yakin itu akan cukup tetapi ini dia:

-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
filiprem
sumber

Jawaban:

2

Ingatlah bahwa:

  • Klien Tor mengganti sirkuit virtual setiap 10 menit atau lebih dengan pemahaman saya saat ini. Ini berarti IP sumber berubah sekitar kerangka waktu itu. Anda tidak mungkin mencegah perilaku apa pun yang Anda anggap jahat lebih lama dari durasi itu.

  • Perhatikan bahwa fakta bahwa Tor hanya proksi lalu lintas TCP dan tidak ada protokol lain yang membatasi kemungkinan penyalahgunaan.

iptablesdapat membiarkan Anda memperlakukan koneksi TCP keluar baru berbeda dari yang sudah ada. Apa pun yang ESTABLISHED,RELATEDharus ACCEPTEDatau dimasukkan melalui rantai "koneksi TCP yang ada", dan TCP keluar yang tidak tertangkap oleh itu bisa dibatasi tingkat. Setiap lalu lintas Tor keluar harus tunduk pada ini.

Saya percaya antara hal di atas dan menggunakan "Kebijakan Pengurangan Keluar" akan menjadi yang terbaik yang dapat Anda lakukan.

Idealnya, jangan menjalankan apa pun di kotak Tor Anda kecuali:

  • Anda mungkin setidaknya memiliki SSH, taruh di port yang berbeda dari 22.
  • Anda mungkin ingin menjalankan server web sederhana untuk menampilkan halaman ini . Contoh chroot mini-httpdharus dilakukan. Jangan gunakan inetd.

Jangan jalankan Tor pada kotak yang digunakan untuk hal lain. Pastikan Anda telah membaca bagian "Keluar Relai" pada Tor Legal FAQ dan sepenuhnya memahami implikasinya. Baca juga dan lakukan semua ini .

LawrenceC
sumber
1

Akan lebih sulit daripada biasanya untuk mencegah serangan ini karena sumber IP tidak konstan. Namun, setahu saya rute di tor hanya diubah setiap beberapa menit.

Jadi Anda masih bisa menggunakan beberapa aturan pembatasan / penyaringan standar tetapi dengan ambang batas yang lebih tinggi, karena Anda harus menganggap ada seluruh jaringan di belakang IP sumber Anda.

Anda dapat memfilter:

  • paket sidik jari / pemindaian buruk atau tipikal (flag TCP / IP buruk, XMAS, sebagian besar tipe ICMP dll)
  • Paket INVALID yang tidak cocok dengan koneksi yang sedang berlangsung atau baru (-m keadaan)
  • Koneksi BARU mulai dari ambang batas yang agak tinggi

Namun, perlu diketahui bahwa hal-hal seperti itu biasanya dilakukan pada lalu lintas masuk. Anda tidak tahu protokol seperti apa yang akan dijalankan oleh "pelanggan" Anda dan Anda mungkin membatasi mereka dengan cara yang bisa mengganggu / tidak jelas.

Juga, untuk paket BARU (atau stateless) yang membatasi tingkat Anda mungkin ingin mempertimbangkan skema yang lebih terlibat di mana paket ditolak (tidak pernah DROP kecuali itu jelas serangan!) Secara acak. Dengan cara ini, pengguna biasa hanya dapat mencoba menekan isi ulang dan mendapatkan keberuntungan, meskipun tarif keseluruhan saat ini berada pada batasnya, sementara pemindai port secara bersamaan tidak akan dapat menghindari batas tarif Anda.

Juga tanyakan pada milis Tor, Anda mungkin bukan yang pertama yang berpikir seperti itu: https://lists.torproject.org/cgi-bin/mailman/listinfo

pepe
sumber
1

Pertama saya tidak akan menyarankan iptables untuk menyelesaikan semua ini, benar-benar keluar ideal Tor node akan memuat lalu lintas balace melalui beberapa terowongan VPN untuk menjaga mata dari paket dan tujuan ISP yang sebenarnya dan / atau menggunakan caching proxy untuk menjaga keluar permintaan ulangi untuk konten statis populer ke minimum ... sambil melihat ke opsi itu di sini adalah bantuan band untuk masalah pengaduan penyalahgunaan;

Sumber informasi yang digunakan

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/

Menggabungkan kedua tautan sumber ke dalam aturan yang dapat digunakan untuk menggagalkan bot yang mencoba menggunakan simpul keluar Tor Anda untuk pemindaian port. Catatan ini mungkin membuat peretas menggunakan simpul keluar Anda sangat tidak senang karena aturan ini menyebabkan nmap hang-time.

#!/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

Jalankan di atas dengan bashagar sihir terbentuk pada variabel dengan ,cammas yaitu;

user@host~# bash iptables_limit_tor.sh

Inilah daftar variabel lagi

_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"

Catatan Anda mungkin juga ingin memfilter koneksi keluar baru untuk -m state NEW ! --synjenis bisnis lucu yang digunakan oleh beberapa bot untuk menemukan server yang dapat dieksploitasi.

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

Namun, rantai di atas akan sangat ketat karena setiap paket yang cocok akan memiliki IP yang diblokir (mungkin berubah -j out_temp_banmenjadi -j DROPatau -j REJECTuntuk pengujian) selama beberapa detik yang dipilih dalam aturan rantai itu. Seperangkat aturan ini juga dapat menyebabkan faulse positif ketika aplikasi berkode buruk di ujung klien terhubung kembali melalui Tor cercut baru.

~~~~~

Perangkat lunak yang perlu dipertimbangkan untuk memilah lalu lintas lebih lanjut. Periksa firejailLinux, sumbernya ada di Github dan Source menempa dan halaman manual dapat ditemukan di halaman rumah lama, sub domain wordpress, dan DigitalOcean memiliki panduan untuk Nginx dengan PHP dan Firejail yang dengan sedikit modifikasi bisa memberi Anda jauh lebih banyak hasutan ke mana jaringan harus diperketat kembali. Ada alat-alat lain seperti KVMjuga yang dapat digunakan untuk menjaga layanan spiciffic dalam batas-batas operasional jadi berbelanja di sekitar untuk menemukan salah satu yang paling cocok untuk sistem Anda.

Namun pilihan lain adalah untuk menjalankan fail2bansedemikian rupa sehingga ketika sys-admin mad menerima koneksi http atau ssl ke IP Anda bahwa aturan ditambahkan ke drop-m state --state NEWkoneksi ke mereka yang meminta halaman pemberitahuan keluar Anda. Ini jika digabungkan dengan batas waktu un-ban yang waras dapat membuat server jarak jauh istirahat sementara sys-admin mereka bergumam tentang polusi log ;-) Namun, itu berada di luar cakupan jawaban saat ini dan tergantung pada perangkat lunak apa yang Anda gunakan untuk melayani keluar dari halaman pemberitahuan; petunjuk nginx dan apache akan melayani blok vhost atau server pertama dalam konfigurasi Anda jika sekarang URL diminta. Jika menggunakan sesuatu yang lain selain apache atau nginx Anda akan ingin berkonsultasi dengan halaman manual tetapi bagi saya itu sesederhana mengatur vhost pertama untuk login ke file yang berbeda dan memiliki fail2ban menambahkan IP dari log itu ke daftar larangan sementara ; ini juga berfungsi baik untuk melarang bot di server publik karena mereka biasanya menggunakan alamat IP dan tidak memberikan hasil permintaan domain di server yang melayani jebakan bot,

Saya akan menggunakan twisted menjalankan kebijakan keluar Tor terbatas (sepertinya Anda punya yang ditangani) dan kemudian mendorong lalu lintas melalui terowongan VPN, poin kredit tambahan untuk menyeimbangkan beban antara terowongan multipule. Karena ini akan menyebabkan lebih sedikit gangguan pada lalu lintas jaringan Tor dan membuat mata ISP Anda menjadi kabur karena Anda menjalankan simpul keluar ... kecuali jika mereka mau mengakui mengendus dan memecah lalu lintas VPN Anda. Ini karena menjalankan aturan yang melarang atau mengizinkan host jarak jauh untuk melarang diri sendiri dapat menyebabkan pelanggaran privasi bagi klien simpul Anda di mana dengan mendorong lalu lintas keluar ke VPN (atau beberapa) akan membantu privasi klien Anda dan menjaga Anda ISP tidak diburu dengan permintaan log lalu lintas jaringan Anda oleh pemerintah manapun yang mampu menjalankannya whois www.some.domain.

~~~~

Suntingan / Pembaruan

~~~~

Saya melakukan perjalanan ke catatan ekstensif saya dan menarik konfigurasi untuk server publik yang saya gunakan

Ini jail.localstansa fail2ban

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

Dan inilah apache-ipscan.conffile filternya

[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

Dan ini iptables-repeater.conffile tindakannya

# Fail2Ban configuration file
#
# Author: Phil Hagen <[email protected]>
# 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

Catatan filter di atas telah diedit untuk memblokir OUTPUTtindakan start / stop tetapi Anda masih ingin menambahkan -p TCP -m state --state NEWkonfigurasi ke setiap baris untuk hanya memiliki koneksi keluar baru yang diblokir dari alamat IP yang dicatat.

Terakhir adalah menyiapkan konfigurasi Apache vHost yang mengarahkan mereka yang tidak meminta domain ke akses specifide dan log kesalahan dan mengatur akses yang ditolak vs ditolak sehingga selalu kesalahan, bahkan loopback seharusnya tidak dapat menarik halaman tanpa muncul kesalahan . Terakhir namun tidak kalah penting adalah mengatur halaman kesalahan untuk Apache ke pemberitahuan keluar default dari Tor sehingga yang disajikan bukan 503atau404pesan lembut. Atau jika Anda telah menambahkan baris status ke tindakan iptables untuk fail2ban, Anda bisa dengan mudah hanya menunjuk ke file log yang sama yang digunakan oleh pemberitahuan keluar Anda. Hasilnya adalah bahwa server Anda tidak akan dapat membuat koneksi baru ke IP server yang memeriksa alamat IP Anda tetapi koneksi yang terhubung dan masih akan diizinkan, yaitu mereka masih bisa menelusuri halaman lain Anda tetapi Anda tidak dapat menelusuri melalui mereka .

S0AndS0
sumber
Sangat disambut, jika Anda menikmati bahwa saya baru saja mendorong sejumlah besar skrip / catatan ke GitHub yang mungkin ingin Anda lihat. Saya memulai proyek ini secara pribadi lebih dari setahun yang lalu, tetapi sekarang karena kesehatan adalah masalah, saya membuatnya menjadi publik untuk debugging dan menambahkan fitur jika saya tidak bisa menyelesaikannya; itu dan tindakan tertentu yang diambil secara lokal dan global oleh orang lain telah memaksa saya untuk mengambil sikap untuk membuat privasi pribadi menjadi lebih mudah.
S0AndS0
Saya telah menulis proyek lain dan mendorongnya ke GitHub . Ini bertujuan untuk membantu admin server dalam melindungi log server mereka dengan menggunakan enkripsi asimetris GnuPG. Selama node keluar atau layanan tersembunyi Anda tidak memiliki kunci privat terkait, proyek di atas harus menjaga log masa lalu dari kebocoran alamat IP dari node lain yang terhubung ke node Anda sendiri.
S0AndS0
0

Bandwidth terbatas dari sisa jaringan Tor akan menyelesaikan masalah itu untuk Anda. Juga jika Anda khawatir, jalankan hanya relay, bukan node keluar.

Richard Hum
sumber
0

Saya punya solusi yang lebih baik: server squid cache. Server cache Squid tersedia untuk mengkonfigurasi pendefinisian acldan Anda denyatau acceptmasing - masing acl. Sangat menarik bahwa tim cumi mendefinisikan seperangkat aturan dalam wiki mereka yang ditemukan pertanyaan Anda di sana iptables,PF atau orang lain tidak dapat melakukan pekerjaan Anda, karena hanya bekerja di lapisan lain.

Teluk Persia
sumber
Saya tidak melihat cara yang masuk akal untuk menggabungkan Squid (yang saya tahu dan sukai) dengan Tor ...
filiprem
coba dengan Zebra route.
PersianGulf
Apakah maksud Anda mengarahkan ulang lalu lintas keluar yang menuju port 80, dan menyalurkannya melalui squid untuk menambahkan kontrol? Ini hanya menyelesaikan sebagian kecil dari masalah. Penyebab sebenarnya adalah mencegah penyalahgunaan Tor untuk DDOS berbasis IP.
filiprem
Anda dapat menggunakan desain jaringan Anda dalam tiga lapisan: 1. lapisan luar 2. lapisan proses. 3.user / lapisan server ====> Ini menyebabkan keamanan Anda akan ditingkatkan.
PersianGulf