fil*_*rem 9 linux networking firewall iptables tor
我想运行一个开放的Tor路由器。
我的退出政策将类似于ReducedExitPolicy。
但我也想让 Tor 网络难以滥用我的资源。
我想阻止客户通过 Tor 进行的案例:
我不想阻止客户通过 Tor 进行的情况:
我的问题是,这完全可以做到吗?如何做到?
我的第一个想法是一些防火墙(Linux/iptables 或 *BSD/ipfw/pf) - 但由于 Onion 路由器的固有属性,这可能没用。
是否有关于此主题的任何正在进行的 torproject 团队开发?
我还要求提供有关保护 Tor 出口节点的一般提示。
从有用的答案和其他一些研究来看,我认为这是不可能的。
阻止人们滥用出口节点在 DDOS 中做出贡献的最好方法是检测指向一个 IP 的非常频繁的数据包。
“非常频繁”阈值取决于总节点带宽......如果错误,则会出现误报,阻止实时 TCP 应用程序的合法流量以及来自许多客户端到一个目的地的流量。
我的预测显然是正确的 - 我的互联网供应商有几次网络滥用投诉。
为了避免服务关闭,我必须采用以下iptables规则集(ONEW是用于传出 TCP SYN(又名 NEW)数据包的链:
我不确定它是否足够,但它是:
-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
Run Code Online (Sandbox Code Playgroud)