tor çıkış düğümünde iptables


9

Açık bir Tor yönlendirici çalıştırmak istiyorum .

Çıkış politikam ReducedExitPolicy'e benzer .

Ama aynı zamanda işkence ağının kaynaklarımı kötüye kullanmasını zorlaştırmak istiyorum.

Müşterilerin Tor üzerinden yapmasını engellemek istediğim durumlar:

  • Bir siteyi çok fazla paketle çekiçlemek.
  • Tüm IP bloklarının agresif ağları

Müşterilerin Tor üzerinden yapmasını önlemek istemediğim durumlar:

  • birkaç resim dosyasını buluta yükleme
  • bir torrent tohumlama

Sorum şu, bu hiç yapılabilir mi ve nasıl?

İlk düşüncem bazı güvenlik duvarıydı (Linux / iptables veya * BSD / ipfw / pf) - ancak Soğan yönlendiricinin doğal özellikleri nedeniyle bu muhtemelen işe yaramaz.

Bu konuda devam eden bir proje geliştirme ekibi var mı?

Ayrıca Tor çıkış düğümlerinin güvenliğini sağlamak için genel ipuçları istiyorum.

Güncelleme (Eylül 2012)

Yararlı cevaplar ve diğer bazı araştırmalardan bunun yapılamayacağını düşünüyorum.

İnsanların DDOS'a katkıda bulunmak için çıkış düğümünü kötüye kullanmasını önlemek için yapabileceğiniz en iyi şey, bir IP'ye yönlendirilen çok sık paketleri tespit etmektir.

"Çok sık" eşiği toplam düğüm bant genişliğine bağlıdır ... Yanlışsa, gerçek zamanlı TCP uygulamalarının meşru trafiğini ve çok sayıda istemciden tek bir hedefe kaynaklı trafiği engelleyen yanlış pozitifler olacaktır.

Güncelleme (Aralık 2014)

Tahminlerim açıkça doğruydu - İnternet sağlayıcımdan birkaç ağ kötüye kullanımı şikayeti vardı.

Hizmetin kapanmasını önlemek için aşağıdaki iptableskurallar kümesini kullanmak zorunda kaldım ( ONEWgiden TCP SYN (diğer adı YENİ) paketleri için bir zincirdir:

Bunun yeterli olacağından emin değilim ama işte burada:

-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

Yanıtlar:


2

Unutmayın:

  • Tor istemcileri sanal devreleri her 10 dakikada bir değiştiriyorlar. Bu, kaynak IP'nin bu zaman aralığında değiştiği anlamına gelir. Kötü amaçlı bulduğunuz herhangi bir davranışı bu süreden daha uzun süre engellemeniz olası değildir.

  • Tor'un sadece TCP trafiğine proxy uyguladığını ve başka bir protokolün olmadığını kötüye kullanım olasılıklarını biraz sınırladığını unutmayın.

iptablesyeni giden TCP bağlantılarına mevcut olanlardan farklı davranmanıza izin verebilir. "Varolan TCP bağlantıları" zincirinde ESTABLISHED,RELATEDolması ACCEPTEDveya geçirilmesi gereken her şey ve bunun tarafından yakalanmayan giden TCP oranı sınırlı olabilir. Giden tüm Tor trafiği buna tabi olmalıdır.

Yukarıdakiler ile "Azaltılmış Çıkış Politikası" nı kullanmak arasında yapabileceğiniz en iyi şey olacağına inanıyorum.

İdeal olarak, Tor kutunuzda başka bir şey çalıştırmayın:

  • Muhtemelen en azından SSH'niz olacak, 22'den farklı bir limana yerleştireceksiniz.
  • Muhtemelen bu sayfayı görüntülemek için basit bir web sunucusu çalıştırmak isteyeceksiniz . Bir chroot'ed mini-httpdörneği yapmalı. Kullanma inetd.

Tor'u başka bir şey için kullanılan bir kutu üzerinde çalıştırmayın. Tor Legal SSS'nin "Çıkış Röleleri" bölümünü okuduğunuzdan ve bunun sonuçlarını tam olarak anladığınızdan emin olun . Ayrıca tüm bunları okuyun ve yapın .


1

Kaynak IP sabit olmadığından bu saldırıları önlemek normalden daha zor olacaktır. Ancak, bence tor'daki yollar sadece birkaç dakikada bir değiştiriliyor.

Böylece, kaynak IP'lerinizin arkasında bir ağ olduğunu varsaymanız gerektiğinden, standart sınırlama / filtreleme kurallarından bazılarını yine de daha yüksek bir eşikle dağıtabilirsiniz.

Filtre uygulayabilirsiniz:

  • kötü veya tipik parmak izi / tarama paketleri (kötü TCP / IP bayrakları, XMAS, çoğu ICMP türü vb.)
  • Devam eden veya yeni bağlantılara uymayan INVALID paketleri (-m durumu)
  • Oldukça yüksek bir eşikte başlayan yeni bağlantılar

Ancak, bu tür şeylerin genellikle gelen trafikte yapıldığını unutmayın. "Müşterilerinizin" ne tür protokoller çalıştıracağını bilmiyorsunuz ve onları sinir bozucu / net olmayan şekillerde kısıtlayabilirsiniz.

Ayrıca, hız sınırlayıcı YENİ (veya vatansız) paketler için, reddedilen (açıkça bir saldırı olmadığı sürece asla DROP!) Paketlerin rasgele dağıtıldığı daha karmaşık bir plan düşünebilirsiniz. Bu şekilde, düzenli bir kullanıcı, genel hız şu anda sınırda olmasına rağmen, yeniden yükleme ve şans kazanmaya çalışabilirken, eşzamanlı bir bağlantı noktası tarayıcısı hız sınırınızı atlayamayacaktır.

Ayrıca Tor posta listelerini de sorun, muhtemelen bu tür ilk düşünceler siz değilsiniz: https://lists.torproject.org/cgi-bin/mailman/listinfo


1

Öncelikle, tüm bu sorunları çözmek için iptables önermem, gerçekten ideal bir çıkış Tor düğümü, ISP'nin gözlerini paketlerden ve gerçek hedeflerden uzak tutmak ve / veya giden tekrar isteklerini tutmak için önbellek proxy'sini kullanmak için birkaç VPN tüneli olsa balace trafiğini yükleyecekti popüler statik içeriği en aza indirgemek için ... bu seçeneklere bakarken kötüye kullanım şikayeti sorunları için yara bandı var ;

Kullanılan bilgi kaynakları

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/

İki kaynak bağlantısını, bağlantı noktası taraması için Tor çıkış düğümünüzü kullanmaya çalışan botları hayal kırıklığına uğratmak için kullanılabilecek kurallarla birleştirmek. Bu kurallar nmap askıda kalma süresine neden olduğundan, bu durumun bilgisayar korsanlarının çıkış düğümünüzü çok mutlu edebileceğini unutmayın.

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

Sihirli bashdeğişkenlerle önceden oluşturulmuş büyüler elde etmek için yukarıda çalıştırın ,;

user@host~# bash iptables_limit_tor.sh

İşte yine değişkenlerin listesi

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

Ayrıca , bazı botlar tarafından sömürülebilir sunucuları bulmak için kullanılan komik-m state NEW ! --syntürleri için yeni giden bağlantıları filtrelemek isteyebilirsiniz.

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

Bununla birlikte, yukarıdaki zincir çok kısıtlayıcı olacaktır, çünkü eşleşen herhangi bir paket IP'nin yasaklanmasına (belki de test -j out_temp_baniçin -j DROPveya -j REJECTtest edilmesi için) o zincirin kurallarında birkaç saniye boyunca seçilecektir. Bu kurallar kümesi, istemcinin sonundaki kötü kodlanmış uygulamalar yeni bir Tor kesimi üzerinden yeniden bağlandığında da hatalı pozitiflere neden olabilir.

~~~~~

Daha fazla trafik akışı için düşünülmesi gereken yazılım firejailLinux için göz atın , kaynak Github ve Source forge'dadır ve man sayfaları eski giriş sayfasında, bir wordpress alt etki alanında bulunabilir ve DigitalOcean'ın PHP ve Firejail ile Nginx için bir kılavuzu vardır. küçük bir değişiklikle, ağın nerede geri çekilmesi gerektiği konusunda çok daha fazla teşvik edebilirsiniz. KVMSpiciffic hizmetleri operasyonel sınırlar içinde tutmak için kullanılabilecek başka araçlar da vardır, böylece sisteminiz için en uygun olanı bulmak için alışveriş yapın.

Yine başka bir seçenek, fail2bançılgın bir sys-admin IP'nize bir http veya ssl bağlantısı atlattığında düşecek bir kuralın ekleneceği şekilde çalışacaktır .-m state --state NEWçıkış bildirimi sayfanızı isteyenlere bağlantılar. Bu, aklını yasaklayan zaman sınırlarıyla birleştirilirse, sys-admin günlük kirliliği hakkında konuşurken uzak sunucunun bir mola vermesine izin verebilir ;-) Ancak, bu mevcut yanıtın kapsamı dışındadır ve hizmet için kullandığınız yazılıma bağlıdır çıkış bildirimi sayfaları; ipucu hem nginx hem de apache, şimdi URL istendiğinde yapılandırmalarınızdaki ilk vhost veya sunucu bloğunu sunacaktır. Apache veya nginx dışında başka bir şey kullanıyorsanız, man sayfalarına danışmak isteyeceksiniz, ancak benim için ilk vhost'u farklı bir dosyaya günlüğe ayarlamak ve fail2ban'ın bu günlükten geçici bir yasak listesine herhangi bir IP eklemesini sağlamak kadar basitti ; bu, genellikle bir IP adresi kullandıkları ve sunucuda bot tuzağını sunan bir etki alanı isteği sonuçları sağlamadığı için genel sunuculardaki botları yasaklamak için harika çalışır,

Kısıtlı Tor çıkış politikasını çalıştıran (eğilmiş gibi görünüyor) ve daha sonra trafiği VPN tünellerinden iterek, çok kanallı tüneller arasında yük dengelemesi için ekstra kredi puanları verirdim. Bu, Tor ağ trafiğinde daha az kesintiye neden olacağından ve ISP'nizin gözlerini bir çıkış düğümü çalıştırdığınız gerçeğine bağlı tutacaktır ... VPN trafiğinizi koklamak ve kırmak istemedikçe. Bunun nedeni, geçici olarak yasaklayan veya uzak ana bilgisayarın kendi kendini yasaklamasına izin veren çalıştırma kurallarının, trafiğinizin bir VPN'ye (veya birkaçına) aktarılmasının müşterinizin gizliliğine yardımcı olacağı ve İSS, çalışabilecek herhangi bir hükümet tarafından ağ trafiği günlüklerinizle ilgili taleplerle doludur whois www.some.domain.

~~~~

Düzenlemeler / Güncellemeler

~~~~

Geniş notlarıma bir gezi yaptım ve kullandığım genel sunucular için yapılandırmaları çıkardım

İşte jail.localfail2ban stansa

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

Ve işte filtre apache-ipscan.confdosyası

[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

Ve işte eylem iptables-repeater.confdosyası

# 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

Yukarıdaki filtrenin OUTPUTbaşlatma / durdurma eylemlerini engelleyecek şekilde düzenlendiğini, ancak yine -p TCP -m state --state NEWde her bir satıra yalnızca günlüğe kaydedilen IP adresinden yeni giden bağlantıların yasaklanması için yapılandırmaları eklemek isteyeceksiniz .

Son olarak, bir alan istemeyenleri erişim ve hata günlüğünü belirtmek için yönlendiren bir Apache vHost yapılandırması oluşturmak ve izin verilen ve reddedilen erişimi her zaman hata olacak şekilde ayarlamak, geri döngü bile sayfayı hatalar çıkarmadan sayfayı çekebilmemelidir . Son olarak yerine servis edildiğini, böylece Tor'dan varsayılan çıkış bildirimine Apache için hata sayfası kuruyor az değil 503ya404mülayim mesajlar. Veya fail2ban için iptables eylemlerine durum satırları eklediyseniz, çıkış bildiriminiz tarafından kullanılan aynı günlük dosyasına kolayca işaret edebilirsiniz. Sonuç olarak, sunucunuz IP adresinizi kontrol eden sunucunun IP'sine yeni bağlantılar kuramaz, ancak kurulan ve ilgili bağlantılara hala izin verilir, yani yine de diğer sayfalarınıza göz atabilirler, ancak hırsızlara göz atamazsınız. .


Eğer ben sadece komut / notlar büyük bir meblağ itti ettik zevk eğer çoğu karşıladı GitHub bir görünüm olsa almak isteyebileceklerini. Bu projeye bir yıldan uzun bir süre önce özel olarak başladım, ancak şimdi sağlık bir sorun, bunu bitiremediğimde hata ayıklama ve özellikler eklemek için herkese açık hale getirdim; ve yerel olarak ve küresel olarak başkaları tarafından gerçekleştirilen ciddi eylemler, kişisel gizliliği daha kolay bir geçiş yapmak için bir tavır almaya itti .
S0AndS0

Başka bir proje yazdım ve GitHub'a gönderdim . Bu, sunucu yöneticilerinin GnuPG asimetrik şifrelemesini kullanarak sunucu günlüklerini korumalarına yardımcı olmayı amaçlamaktadır. Çıkış düğümünüz veya gizli hizmetiniz ilgili özel anahtarı içermediği sürece, yukarıdaki proje geçmiş günlüklerin kendi düğümünüze bağlanan diğer düğümlerin IP adreslerini sızdırmasını engellemelidir.
S0AndS0

0

Tor ağının geri kalanının sınırlı bant genişliği sizin için bu sorunları çözecektir. Ayrıca endişeniz varsa, bir çıkış düğümü değil, sadece röle çalıştırın.


0

Daha iyi bir çözümüm var: squid cache server. Squid önbellek sunucusu tanımlamak yapılandırmak için kullanılabilir aclve siz denyveya accepther acl. Kalamar takımının, wiki'lerinde sorunuzun orada bulduğu iptables,PFveya başkalarının işlerinizi yapamayacağı bir dizi kural tanımlaması çok ilginç çünkü sadece başka katmanlarda çalışın.


Squid'i (ki bildiğim ve sevdiğim) Tor ile birleştirmenin mantıklı bir yolunu görmüyorum ...
filiprem

ile deneyin Zebra route.
PersianGulf

80 numaralı bağlantı noktasına giden tor çıkış trafiğini yönlendirmek ve biraz kontrol eklemek için kalamardan geçmek mi demek istediniz? Bu, sorunun yalnızca küçük bir kısmını çözmektedir. Gerçek neden, herhangi bir IP tabanlı DDOS için Tor kötüye kullanımını önlemektir.
filiprem

Ağınızın tasarımını üç katmanda kullanabilirsiniz: 1. dış katman 2. proses katmanı. 3. kullanıcı / sunucu katmanı ====> Güvenliğiniz artacaktır.
PersianGulf
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.