iptables на вузлі виходу tor


9

Я хочу запустити відкритий маршрутизатор Tor .

Моя політика виходу буде схожа на ReducedExitPolicy .

Але я також хочу зробити так, щоб мережа tor не зловживала своїми ресурсами.

Випадки, які хочу завадити клієнтам робити через Tor:

  • Забивання одного сайту з дуже багато пакетів.
  • Агресивні мережеві блоки цілих IP-блоків

Випадки Я НЕ хочу заважати клієнтам робити через Tor:

  • завантаження декількох файлів зображень у хмару
  • засівання торента

Моє запитання: чи можна це взагалі зробити, і як?

Першою моєю думкою був деякий брандмауер (Linux / iptables або * BSD / ipfw / pf) - але це, ймовірно, буде марним через властиві властивостям маршрутизатора Onion.

Чи існує якась поточна розробка команд торпроектів на цю тему?

Я також прошу загальних підказок щодо закріплення вузлів виходу Tor.

Оновлення (вересень 2012 р.)

З корисних відповідей та деяких інших досліджень я думаю, що цього неможливо зробити.

Найкраще, що ви можете зробити, щоб люди не зловживали вузлом виходу для участі в DDOS, - це виявити дуже часті пакети, спрямовані на один IP.

Поріг "дуже частого" залежить від загальної пропускної здатності вузла ... Якщо він неправильний, з'являться помилкові позитиви, що блокують законний трафік додатків TCP у реальному часі та трафік, що надходить від дуже багатьох клієнтів до одного пункту призначення.

Оновлення (грудень 2014 р.)

Мої прогнози, очевидно, були правдивими - у мене було кілька скарг на зловживання мережею від мого Інтернет-провайдера.

Щоб уникнути відключення служби, мені довелося застосувати наступний набір iptablesправил ( ONEWце ланцюжок для вихідних пакетів TCP SYN (він же НОВОГО):

Я не впевнений, що цього буде достатньо, але ось це:

-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

Майте на увазі, що:

  • Клієнти Tor перемикають віртуальні схеми кожні 10 хвилин або близько того, наскільки я розумію. Це означає, що вихідний IP змінюється протягом цього часового періоду. Ви навряд чи зможете запобігти будь-якій поведінці, яку вважаєте зловмисною довше, ніж ця тривалість.

  • Зауважте, що факт, що Tor підтримує лише трафік TCP, а не будь-який інший протокол, обмежує можливості зловживання зовсім небагато.

iptablesможе дозволити вам трактувати нові вихідні TCP-з'єднання інакше, ніж існуючі. Все, що ESTABLISHED,RELATEDмає бути ACCEPTEDабо поставлено через ланцюжок "існуючих TCP-з'єднань", і вихідний TCP, який не потрапить на це, може бути обмежений. Цьому слід підпорядкувати будь-який вихідний трафік Tor.

Я вважаю, що між вищезазначеним та використанням "Політики скорочення виходу" буде приблизно найкраще, що ви можете зробити.

В ідеалі не запускайте нічого іншого на коробці Tor, крім:

  • Ви, мабуть, принаймні матимете SSH, помістіть його на інший порт, ніж 22.
  • Напевно, ви захочете запустити простий веб-сервер для відображення цієї сторінки . Chroot'ed mini-httpdекземпляр повинен зробити. Не використовуйте inetd.

Не запускайте Tor на коробці, яка використовується для чого-небудь іншого. Переконайтеся, що ви прочитали розділ "Вихідні реле" розділу " Правові запитання щодо Тор" та повністю зрозуміли його наслідки. Також читайте і робіть усе це .


1

Це буде важче, ніж зазвичай, запобігти цим атакам, оскільки вихідний IP не є постійним. Однак, наскільки мені відомо, маршрути в торі змінюються лише кожні кілька хвилин.

Таким чином, ви все ще можете розгорнути деякі стандартні правила обмеження / фільтрації, але з більш високим порогом, оскільки ви повинні припустити, що за вашими IP-адресами джерела існує ціла мережа.

Ви можете фільтрувати:

  • погані або типові пакети відбитків пальців / сканування (погані прапорці TCP / IP, XMAS, більшість типів ICMP тощо)
  • INVALID-пакети, які не підходять до поточних або нових з'єднань (стан -m)
  • НОВІ з'єднання, починаючи з якогось досить високого порогу

Однак майте на увазі, що такі дії, як правило, робляться на в'їзному трафіку. Ви не знаєте, якими протоколами працюватимуть ваші "клієнти", і ви можете обмежити їх способами, які можуть бути роздратованими / незрозумілими.

Крім того, для обмеження швидкості НОВИХ (або без стану) пакетів ви можете розглянути ще одну задіяну схему, коли відкинуті (ніколи не DROP, якщо явно не є атакою!) Пакети рандомізовані. Таким чином, звичайний користувач може просто спробувати натиснути на повторне завантаження та пощастить, навіть якщо загальна швидкість наразі знаходиться на межі, тоді як одночасний сканер порту не зможе обійти ваш ліміт швидкості.

Також запитайте у списках розсилки Tor, ви, мабуть, не вперше такі думки: https://lists.torproject.org/cgi-bin/mailman/listinfo


1

По-перше, я б не пропонував iptables вирішити все це, справді ідеальний вихід Tor-вузла завантажував би баланс трафіку, хоча кілька тунелів VPN, щоб не відводити очі провайдера від пакетів та справжнього пункту призначення та / або використовувати кешування-проксі, щоб утримати вихідні повторні запити. до мінімізації популярного статичного вмісту ... при розгляді цих варіантів ось смуга допомоги для проблем зі скаргами на зловживання;

Джерела використовуваної інформації

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/

Поєднання двох посилань на джерела в правила, які можуть бути використані для відлякування ботів, намагаючись використовувати свій вузол виходу Tor для сканування портів. Зауважте, це може змусити хакерів, що використовують ваш вузол виходу, дуже незадоволеними, оскільки ці правила спричиняють час очікування 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

Запустіть вище, 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різновидів смішної комерції, які використовуються деякими ботами для пошуку експлуатованих серверів. Ось приклад ланцюжка, що ви могли б зробити попередньо вказані вище для подальшої фільтрації таких неправильних балачок

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

Однак вищезазначений ланцюг був би дуже обмежуючим, оскільки будь-який зібраний пакет заборонятиме IP (можливо, змінюється -j out_temp_banна -j DROPабо -j REJECTдля тестування) протягом скільки-небудь секунд, вибраних у правилах цієї ланцюга. Цей набір правил може також спричинити помилкові позитиви, коли погано кодовані програми на кінцевому підключенні клієнта повторно підключаються через нову серкоту Tor.

~~~~~

Програмне забезпечення для подальшого формування трафіку. Ознайомтеся з firejailLinux, джерело знаходиться на Github та Source forge, а сторінки man можна знайти на старій домашній сторінці, піддомен Wordpress, а DigitalOcean має посібник для Nginx з PHP та Firejail, що з невеликою модифікацією може дати вам набагато більше стимулів щодо того, де мережу слід відмовити назад. Існують і інші інструменти, такі як, які KVMтакож можна використовувати для збереження сервісних послуг у межах оперативних кордонів, щоб знайти магазин, який найкраще підходить для вашої системи.

Ще одним варіантом буде запускати fail2banтаким чином, що коли скажений sys-admin відвідує http або ssl-з'єднання з вашим IP-адресою, додається правило для скасування-m state --state NEWз'єднання з тими, хто вимагає вашої сторінки повідомлення про вихід. Це в поєднанні з розумними обмеженнями часу на заборону може дозволити віддаленому серверу перерву в той час, як їхній sys-admin замислюється про реєстрацію журналу ;-) Однак це виходить за рамки цього поточного відповіді і залежить від того, яке програмне забезпечення ви використовуєте для обслуговування сторінки повідомлення про вихід; підказка і nginx, і apache будуть обслуговувати перший vhost або серверний блок у ваших конфігураціях, якщо тепер запитували URL. Якщо ви використовуєте щось інше, ніж apache або nginx, ви захочете ознайомитись із сторінками man, але для мене це було так само просто, як встановити перший vhost для входу в інший файл і не вдалося22 додати будь-які IP-адреси з цього журналу до списку заборон temp. ; це також чудово підходить для заборони ботів на загальнодоступних серверах, оскільки вони зазвичай використовують IP-адресу та не надають запит домену призводить до того, що сервер обслуговує ловушку бота,

Я нахиляю лайки, виконуючи обмежену політику виходу із Tor (виглядає, що ви справились з цим), а потім підштовхуєте трафік через тунелі VPN, додаткові кредитні бали для балансування навантаження між багатопультовими тунелями. Тому що це може спричинити менше перебоїв у мережевому трафіку Tor і збереже очі Вашого провайдера затуманені тим фактом, що Ви використовуєте вузол виходу ... якщо тільки вони не хочуть визнати нюхання та розтріскування вашого трафіку VPN. Це тому, що використання правил, які тимчасово-забороняють або дозволяють віддаленому хосту самозаборонятись, можуть призвести до порушення конфіденційності для клієнтів вашого вузла, коли висування трафіку на VPN (або кілька) допоможе конфіденційності вашого клієнта і збереже ваш Інтернет-провайдер не переслідується запитами ваших журналів мережевого трафіку будь-яким органом управління, який може працювати whois www.some.domain.

~~~~

Редагування / оновлення

~~~~

Я здійснив подорож до своїх розширених записок і підтягнув конфігурації для публічних серверів, якими я користуюся

Ось fail2ban jail.localstansa

[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конфігурації до кожного рядка, щоб тільки нові вихідні з'єднання були заборонені з зареєстрованої IP-адреси.

Останнє - це налаштування конфігурації Apache vHost, яка виконує маршрутизацію тих, хто не запитує домен, до специфічного журналу доступу та помилок та встановлення дозволеного vs забороненого доступу таким чином, що він завжди помиляється, навіть не може бути зворотним циклом, щоб мати змогу витягнути сторінку без появи помилок . І останнє, але не менш важливе значення - це встановлення сторінки помилок для Apache у повідомленні про вихід за замовчуванням від Tor, щоб воно подалося замість 503або404м'які повідомлення. Або якщо ви додали рядки стану до дій iptables для fail2ban, ви можете просто вказати на той самий файл журналу, який використовується вашим повідомленням про вихід. Результатом буде те, що ваш сервер не зможе встановити нові з'єднання з IP-адресою сервера, який перевіряє вашу IP-адресу, але встановлені та пов’язані з ними з'єднання все одно будуть дозволені, тобто вони все ще можуть переглядати ваші інші сторінки, але ви не можете переглядати тієри .


Найкраще вітаю, якби вам сподобалось, що я щойно підштовхнув до GitHub велику кількість сценаріїв / нотаток, які ви, можливо, захочете поглянути. Я розпочав цей проект приватно понад рік тому, але тепер, коли здоров'я є проблемою, я оприлюднив його для налагодження та додавання функцій, якщо я не можу його закінчити; це і цілеспрямовані дії, які інші та місцеві глобальні дії змусили мене зайняти позицію щодо полегшення особистої конфіденційності.
S0AndS0

Я написав ще один проект і відправив його на GitHub . Це спрямовано на допомогу адміністраторам серверів у захисті журналів свого сервера за допомогою асиметричного шифрування GnuPG. Поки ваш вузол виходу або прихована служба не містить відповідний приватний ключ, вищевказаний проект повинен утримувати попередні журнали від протікання IP-адрес інших вузлів, що підключаються до вашого власного вузла.
S0AndS0

0

Обмежена пропускна здатність решти мережі Tor вирішить ці проблеми для вас. Крім того, якщо ви переживаєте, запустіть просто реле, а не вихідний вузол.


0

У мене є краще рішення: кеш-сервер кешу. Сервер кешу кальмарів доступний для налаштування визначених aclі ви, denyабо acceptкожного acl. Дуже цікаво, що команда кальмарів визначає набір правил у своїй вікі, що ваше запитання, знайдене там iptables,PF чи іншим, не може виконувати вашу роботу, тому що просто працює в інших шарах.


Я не бачу жодного розумного способу поєднання кальмарів (які я знаю і люблю) з Тор ...
filiprem

спробуйте Zebra route.
PersianGulf

Ви маєте на увазі переадресацію вихідного трафіку tor, який йде до порту 80, і пропускає його через кальмари, щоб додати деякий контроль? Це вирішує лише невелику частину проблеми. Справжньою причиною є запобігання зловживанням Tor для будь-якого DDOS на базі IP.
filiprem

Ви можете використовувати дизайн мережі в три шари: 1. зовнішній шар 2. технологічний шар. 3.користувач / серверний шар ====> Це спричинить покращення безпеки.
Персидська затока
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.