阻止所有僵尸网络和 TOR 地址访问我们的网站

信息安全 网络 防火墙 攻击预防 ddos 僵尸网络
2021-08-21 08:53:18

我听说在 TOR 网络上发生了许多 DOS 攻击和一般的“黑帽黑客”尝试。我是否可以通过它们在BotNet 或类似列表中的存在来动态阻止源 IP ?

  • 这在阻止 DDoS 或黑帽/秘密活动方面的效果如何?

  • 我将如何实施这样的解决方案?(我在这里接受免费或付费解决方案)

编辑

假设本网站(或其他网络资源)的用户不应该是匿名的。这可以是公司政策、服务条款等。

这是一项限制服务提供商风险的练习。

4个回答

我的第一个想法是,如果是 DDoS 攻击,源头很可能是受感染的僵尸机器,操作员不太关心它们是否可追踪,因为它们不会带回给他。我敢肯定,很多黑帽用户使用 Tor 试图掩盖他们的踪迹,但我也敢打赌,Tor 上的合法用户比没有的要多。所以本质上你可以阻止所有的 Tor 流量,但最终你可能会阻止更多的好人而不是坏人。

我想鼓励您查看以下链接:

TOR 项目有一个关于滥用的完整常见问题解答页面,其中包括一个名为“我想从我的服务中禁止 Tor 网络”的部分。他们详细说明了如何识别和阻止 TOR 出口节点以及这样做的替代方案。

目前还有40 万人在使用 TOR,美国排名第一,约占 14%(6 万人)。这可能会对贵公司的形象产生不良影响。(“他们是反隐私的!”“他们赞成毫无根据的窃听!”,......)

严重的攻击会淹没您的 ISP,因此您的本地解决方案将无关紧要。您的 ISP 可能会阻止您和/或期望您支付高得离谱的超额带宽费用。

即使是一个坚定的攻击者也可能对在普通硬件上运行的站点造成很多问题,因此基于阻止特定 IP 地址的防御措施仍然值得。

您还应该注意,您认为的攻击更有可能只是配置错误的网络爬虫或其他相对无辜的程序不当行为。这很好,因为简单的阻塞很可能是有效的。

我间歇性地受到可能是僵尸网络的打击。在许多情况下,它所做的事情没有逻辑,经常每天访问相同的 URL 10,000 次。

它来了又走了。但是最近我被大量的 IPs 击中,每秒最多 1,000 个请求,足以杀死我的服务器。不清楚这是网络抓取、DDOS 还是其他什么。

它的足迹与之前的热门歌曲相同;大部分请求来自越南、泰国、韩国、日本、印度尼西亚、巴西、塞尔维亚、巴基斯坦和美国。

然而,这一次显然有来自或多或少每个国家的 IP,都是住宅的。

通过阅读,我听说过其他人遇到类似问题的报告。解决方案是阻止某些 AS 编号范围的 IP。这可以在 CloudFlare 中完成,例如:

(ip.geoip.asnum in {17451 17974 17586 41786 3786 17506 4721 17511 2497 63859 2514 45899 8452 7552 4766 3462 7713 29614 39832 26599 4760 12389 9829 9299 18403 45015 198961 36947 24560 9318 36903 23969 55836 47331 45758 45595 6697 45609 25019 8048 8151 27775 9304 28573 17552 132199 5384 4788 263535 9121 133481 4713 37457 6830 17501 4804 17488 38266 28885 16735 17676 6147 3215 24086 53006 24309 17924 34984 3320 4609 9198 8708 24863 38264 29975 2516 45271 131269 16190 10620 29465 23700 131090 22047 3352 8402 24835 35819 262186 18881 16509 50710 30722 17917 9541 17639 58224 3269 6799 2905 36873 17858 268030 18809 266532 30986 39891 2119 45629 12479 13999 27699 24186 23860 10139 204578 6400 53180 133982 7738 263137 14618 13489 42298 45916 22085 16010 22927 11796 10481 15895 23889 5617 29256 39651 22884 3243 8400 11427 36925 31549 5410 2527 33771 2860 27747 1267 12880 15399 200064 132165 31042 9329 6849 52760 37168 14117 36992 13188 25229 131596 23693 37705 9506 7418 37105 16135 3301 24940 262617 9269 9498 14754 2609 17465 8376 43766 4775 139526 18207 8369 17072 6805 37075 21003 198668 5769 3209 45769 27947 15802 8386 23674 12353 24757 12430 28548 1136 12322 19429 12083 17809 9009 7303 8167 264158 35805 42961 17882 15704 42863 15557 47524 17665 23944 3816 37611 8473 33915 9824 264527 31334 1299 45543 35699 10318 36884 44244 45143 18209 8544 4780 25144 37693 38623 37492 29518 45011 18001 8881 16086 12252 4771 8346 25472 5416 3329 29119 5391 4761 6821 12978 55430 36351 18126 37347 131207 45903 24323 9050 45184 12578 26615 27831 9873 12735 6713 21299}) or (ip.geoip.asnum in {10297 7922 35862 701 577 5089 1221 20115 20001 209 22773 6128 7545 7018 6327 5650 2856 20057 13285 11796 10796 35228})

那是打击我的大多数 AS 号码的列表。

如果您不使用 CloudFlare,请从此处获取这些数字并为您的服务器制定规则:

https://www.enjen.net/asn-blocklist/

我将它们传递给 CloudFlare 中的 JS 浏览器测试,它阻止了大约 99% 的攻击。

我怀疑这是一项服务,例如 Proxy Rack,它向 ISP 支付使用其 IP 的费用。因此,通过阻止/机器人测试来自这些 ISP 的所有流量,您可以阻止攻击,并且您的绝大多数流量都不会受到影响。