iptables sul nodo di uscita tor


9

Voglio far funzionare un router Tor aperto .

La mia politica di uscita sarà simile a ReducedExitPolicy .

Ma voglio anche rendere difficile per la rete tor abusare delle mie risorse.

Casi che voglio impedire ai clienti di fare tramite Tor:

  • Martellare un sito con moltissimi pacchetti.
  • Netscan aggressivi di interi blocchi IP

Casi che NON desidero impedire ai clienti di eseguire tramite Tor:

  • caricando alcuni hudreds di file immagine sul cloud
  • seminare un torrente

La mia domanda è: è possibile farlo e come?

Il mio primo pensiero è stato un firewall (Linux / iptables o * BSD / ipfw / pf) - ma questo sarà probabilmente inutile a causa delle proprietà intrinseche del router Onion.

È in corso lo sviluppo di un team torproject su questo argomento?

Chiedo anche suggerimenti generali sulla protezione dei nodi di uscita Tor.

Aggiornamento (settembre 2012)

Da risposte utili e alcune altre ricerche, penso che questo non possa essere fatto.

Il meglio che puoi fare per impedire alle persone di abusare del nodo di uscita per contribuire in DDOS è rilevare pacchetti molto frequenti diretti a un IP.

La soglia "molto frequente" dipende dalla larghezza di banda totale del nodo ... Se è errata, ci saranno falsi positivi, bloccando il traffico legittimo di app TCP in tempo reale e il traffico proveniente da molti client verso una destinazione.

Aggiornamento (dicembre 2014)

Le mie previsioni erano ovviamente vere - ho ricevuto diverse denunce di abuso di rete dal mio provider di Internet.

Per evitare l'arresto del servizio, ho dovuto utilizzare il seguente set di iptablesregole ( ONEWè una catena per i pacchetti TCP SYN in uscita (ovvero NUOVI):

Non sono sicuro che basterà ma eccolo qui:

-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

Risposte:


2

Tieni presente che:

  • I miei clienti tor cambiano i circuiti virtuali ogni 10 minuti circa secondo la mia attuale comprensione. Ciò significa che l'IP di origine sta cambiando in quel periodo di tempo. È improbabile che tu impedisca qualsiasi comportamento che ritieni dannoso per un periodo superiore a tale durata.

  • Si noti che il fatto che Tor inoltra solo il traffico TCP e non altri protocolli limita abbastanza le possibilità di abuso.

iptablespuò consentire di trattare le nuove connessioni TCP in uscita in modo diverso da quelle esistenti. Tutto ciò che è ESTABLISHED,RELATEDdovrebbe essere ACCEPTEDo essere passato attraverso una catena di "connessioni TCP esistenti", e TCP in uscita che non viene catturato da quello potrebbe essere limitato nella tariffa. Qualsiasi traffico Tor in uscita dovrebbe essere soggetto a questo.

Credo che tra quanto sopra e l'utilizzo della "Politica di uscita ridotta" sarebbe il massimo che puoi fare.

Idealmente, non eseguire nient'altro sulla tua Tor box tranne:

  • Probabilmente avrai almeno SSH attivo, mettilo su una porta diversa da 22.
  • Probabilmente vorrai eseguire un semplice server web per visualizzare questa pagina . mini-httpdUn'istanza chroot dovrebbe fare. Non usare inetd.

Non avviare Tor su una scatola che viene utilizzata per qualsiasi altra cosa. Assicurati di aver letto la sezione "Relè di uscita" delle FAQ legali di Tor e di averne compreso appieno le implicazioni. Anche leggere e fare tutto questo .


1

Sarà più difficile del solito prevenire questi attacchi poiché l'IP di origine non è costante. Tuttavia, per quanto ne so, le rotte in questione vengono modificate solo ogni pochi minuti circa.

Quindi potresti comunque distribuire alcune delle regole standard di limitazione / filtro ma con una soglia più alta, dal momento che devi presumere che ci sia un'intera rete dietro i tuoi IP di origine.

Puoi filtrare:

  • Pacchetti di impronte digitali / scansione difettosi o tipici (flag TCP / IP non validi, XMAS, la maggior parte dei tipi ICMP ecc.)
  • Pacchetti NON VALIDI che non si adattano a connessioni in corso o nuove (stato -m)
  • NUOVE connessioni a partire da una soglia piuttosto elevata

Tuttavia, tenere presente che tali operazioni vengono in genere eseguite sul traffico in entrata. Non sai che tipo di protocolli verranno eseguiti dai tuoi "clienti" e potresti limitarli in modi che possono essere fastidiosi / poco chiari.

Inoltre, per i pacchetti NUOVI (o apolidi) che limitano la frequenza potresti prendere in considerazione alcuni schemi più coinvolti in cui i pacchetti rifiutati (mai DROP a meno che non sia ovviamente un attacco!) Sono randomizzati. In questo modo, un utente normale può semplicemente provare a ricaricare e avere fortuna, anche se la velocità complessiva è attualmente al limite, mentre uno scanner di porte simultanee non sarà in grado di aggirare il limite di velocità.

Inoltre chiedi sulle mailing list di Tor, probabilmente non sei il primo ad avere tali pensieri: https://lists.torproject.org/cgi-bin/mailman/listinfo


1

Prima di tutto non suggerirei iptables per risolvere tutto questo, davvero un nodo Tor di uscita ideale avrebbe caricato il traffico di bilanciamento attraverso alcuni tunnel VPN per tenere gli occhi dell'ISP lontani dai pacchetti e dalla destinazione reale e / o utilizzare il proxy di cache per mantenere le richieste ripetute in uscita al popolare contenuto statico al minimo ... mentre si esaminano queste opzioni, ecco un cerotto per i problemi di denuncia degli abusi;

Fonti di informazioni utilizzate

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/

Combinando i due collegamenti di origine in regole che possono essere utilizzate per frustrare i robot che cercano di utilizzare il nodo di uscita Tor per la scansione delle porte. Nota che ciò potrebbe rendere gli hacker che usano il tuo nodo di uscita molto poco felici poiché queste regole causano il blocco di nmap.

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

Esegui sopra con bashmagie preformate su variabili con ,camme, ad esempio;

user@host~# bash iptables_limit_tor.sh

Ecco di nuovo l'elenco di variabili

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

Nota che potresti anche voler filtrare le nuove connessioni in uscita per i -m state NEW ! --syntipi di affari divertenti usati da alcuni bot per trovare server sfruttabili, ecco una catena di esempio che potresti avere il prefisso i due sopra per filtrare ulteriormente tali chiacchiere malformate

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

Tuttavia, la catena di cui sopra sarebbe molto restrittiva in quanto a qualsiasi pacchetto abbinato verrà vietato l'IP (magari cambiando -j out_temp_banin -j DROPo -j REJECTper il test) per comunque molti secondi scelti nelle regole di quella catena. Questo set di regole potrebbe anche causare falsi positivi quando le app mal codificate all'estremità del client si riconnettono su un nuovo cercatore Tor.

~~~~~

Software da considerare per ulteriore smistamento del traffico Dai un'occhiata firejaila Linux, la fonte è su Github e Source forge e le pagine man si trovano sulla vecchia home page, un sottodominio wordpress e DigitalOcean ha una guida per Nginx con PHP e Firejail che con una piccola modifica potrebbe darti molto più incitamento su dove limitare la rete. Ci sono altri strumenti come KVMtroppo che possono essere utilizzati per mantenere i servizi spiciffic entro boundries operativi in modo negozio arround per trovare quello che funziona meglio per il vostro sistema.

Un'altra opzione sarebbe quella di funzionare fail2banin modo tale che quando un amministratore di sistema pazzo attua una connessione http o ssl al tuo IP che una regola viene aggiunta per eliminare-m state --state NEWconnessioni a coloro che richiedono la pagina di avviso di uscita. Questo, se combinato con sane limitazioni di un-ban, potrebbe consentire al server remoto di rompersi mentre il loro amministratore di sistema mormora l'inquinamento dei log ;-) Tuttavia, questo va oltre lo scopo di questa risposta corrente e dipende dal software che stai usando per servire pagine di avviso di uscita; suggerimento sia nginx che apache serviranno il primo vhost o blocco server nelle configurazioni se ora è stato richiesto l'URL. Se usi qualcos'altro diverso da apache o nginx ti consigliamo di consultare le pagine man ma per me è stato semplice come impostare il primo vhost per accedere a un altro file e avere fail2ban aggiungere eventuali IP da quel registro a un elenco di ban temporaneo ; questo funziona egregiamente anche per vietare i bot su server pubblici perché di solito usano un indirizzo IP e non forniscono risultati di richiesta di dominio nel server che serve il bot trap,

Appoggerei twords che eseguono una politica di uscita Tor limitata (sembra che tu l'abbia gestita) e quindi spingendo il traffico attraverso i tunnel VPN, punti di credito extra per il bilanciamento del carico tra tunnel multipli. Perché ciò causerebbe meno disturbi al traffico di rete Tor e manterrebbe gli occhi del tuo ISP annebbiati dal fatto che stai eseguendo un nodo di uscita ... a meno che non desiderino ammettere di annusare e decifrare il tuo traffico VPN. Questo perché l'esecuzione di regole che vietano il temp o autorizzano l'hosting autonomo dell'host remoto potrebbe portare a una violazione della privacy dei client del tuo nodo, in quanto il trasferimento del traffico a una VPN (o pochi) aiuterebbe la privacy del tuo cliente e manterrà il tuo client L'ISP viene perseguitato da richieste per i registri del traffico di rete da parte di qualsiasi governo in grado di funzionare whois www.some.domain.

~~~~

Modifiche / Aggiornamenti

~~~~

Ho fatto un viaggio nelle mie note estese e ho tirato su le configurazioni per i server pubblici che utilizzo

Ecco la stansa jail.localfail2ban

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

Ed ecco il apache-ipscan.conffile del filtro

[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

Ed ecco il iptables-repeater.conffile di azione

# 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

Nota: il filtro sopra è stato modificato per bloccare OUTPUTle azioni di avvio / arresto, ma ti consigliamo comunque di aggiungere le -p TCP -m state --state NEWconfigurazioni a ciascuna linea per escludere solo le nuove connessioni in uscita dall'indirizzo IP registrato.

L'ultimo è l'impostazione di una configurazione vHost di Apache che instrada coloro che non richiedono un dominio a un accesso specifico e un registro degli errori e l'impostazione dell'accesso consentito o negato in modo tale che sia sempre un errore, nemmeno il loopback dovrebbe essere in grado di aprire la pagina senza errori di pop-up . Ultimo ma non meno importante, sta impostando la pagina di errore per Apache sull'avviso di uscita predefinito da Tor in modo che venga pubblicato anziché 503o404messaggi insipidi. Oppure, se hai aggiunto le linee di stato alle azioni iptables per fail2ban, puoi semplicemente puntare allo stesso file di registro utilizzato dall'avviso di uscita. Il risultato sarebbe che il tuo server non sarebbe in grado di stabilire nuove connessioni verso l'IP del server che ha controllato il tuo indirizzo IP ma che le connessioni stabilite e correlate sarebbero comunque consentite, ovvero che potrebbero comunque navigare tra le tue altre pagine ma non puoi navigare tra i thiers .


Molto gradito, se ti è piaciuto che ho appena inviato una grande quantità di script / note a GitHub che potresti voler dare un'occhiata. Ho iniziato questo progetto privatamente più di un anno fa, ma ora che la salute è un problema l'ho reso pubblico per il debug e l'aggiunta di funzionalità nel caso in cui non potessi completarlo; che e mantenere azioni intraprese a livello locale e globale da altri mi hanno spinto a prendere una posizione per rendere la privacy personale un passaggio più semplice.
S0

Ho scritto un altro progetto e l'ho inviato a GitHub . Questo mira ad aiutare gli amministratori dei server a proteggere i log dei loro server usando la crittografia asimmetrica GnuPG. Finché il nodo di uscita o il servizio nascosto non contiene la chiave privata correlata, il progetto sopra riportato dovrebbe impedire ai registri passati di perdere gli indirizzi IP di altri nodi collegati al proprio nodo.
S0AndS0

0

La larghezza di banda limitata del resto della rete Tor risolverà questi problemi per te. Inoltre, se sei preoccupato, esegui solo relay, non un nodo di uscita.


0

Ho una soluzione migliore: squid cache server. Squid cache server disponibile per configurare la definizione acle tu denyo acceptciascuno acl. È molto interessante quel team di calamari che definisce un insieme di regole nella loro wiki che la tua domanda ha trovato iptables,PF o che altri non riescono a fare il tuo lavoro, perché semplicemente lavorano in un altro livello.


Non vedo alcun modo ragionevole di combinare Squid (che conosco e mi piace) con Tor ...
filiprem,

prova con Zebra route.
Golfo Persico

Intendi reindirizzare il traffico di uscita per la porta 80 e convogliarlo attraverso i calamari per aggiungere un po 'di controllo? Questo risolve solo una piccola parte del problema. La vera causa è prevenire l'abuso di Tor per qualsiasi DDOS basato su IP.
filiprem,

È possibile utilizzare la progettazione della rete su tre livelli: 1. livello esterno 2. livello di processo. 3. layer utente / server ====> Causa la tua sicurezza sarà migliorata.
Golfo Persico
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.