FSF系统管理员如何利用reaction阻挡僵尸网络
摘要
FSF系统管理员分享了他们如何使用reaction工具(fail2ban的替代方案)来阻止僵尸网络和DDoS攻击,该工具与ipset配合使用以处理大量恶意IP地址。
暂无内容
查看缓存全文
缓存时间: 2026/07/14 16:18
# How the FSF sysadmins block botnets with reaction — Free Software Foundation — Working together for free software
Source: https://www.fsf.org/blogs/community/blocking-botnets-with-reaction
—Published on Jul 09, 2026 11:29 AM
我曾多次撰文介绍 FSF 遭受 DDoS 攻击的情况,包括我们为[净化互联网所做的努力](https://www.fsf.org/bulletin/2024/fall/fsf-sysops-cleaning-up-the-internet)和[Uptime Kuma](https://www.fsf.org/bulletin/2026/summer/is-the-site-down-or-is-it-me-introducing-new-fsf-uptime-kuma-instance),以及[“保卫 Savannah 免受 DDoS 攻击”](https://www.fsf.org/bulletin/2025/spring/defending-savannah-from-ddos-attacks)。但我最近意识到,我遗漏了一个我们广泛使用的重要工具。今天我将介绍 [reaction](https://directory.fsf.org/wiki/Reaction)。
随着攻击性爬虫大量构建数据集以训练大语言模型(LLM),我们需要投入大量资源来挫败攻击者。在这个过程中,我们经历了一些成长的烦恼。
我们注意到爬虫中存在异常模式,这为我们编写正则表达式提供了素材。通过搜索正则表达式,我们获得了大量 IP 地址列表。查询这些 IP 地址的来源后发现,某些爬虫正在使用由住宅 IP 地址组成的僵尸网络来加快抓取速度并规避检测。
我们试图找出可能产生我们所看到流量的僵尸网络类型,其中我们怀疑一个名为“Vo1d”的僵尸网络,它由运行着某种被入侵应用的智能电视组成。最近,关于 Vo1d/Popa 僵尸网络的更多信息被披露。数字取证调查机构 Qurium 的安全研究人员有意运行了一个节点并发布了数据。我们得到了确认,至少部分命中 GNU Savannah 的僵尸网络流量正是来自 [Vo1d/Popa 僵尸网络](https://popa.live/csv/watched/git_domains.csv)。
我们将正则表达式放入 [fail2ban](https://directory.fsf.org/wiki/Fail2Ban) 中,发现达到了可添加到系统 [UFW](https://directory.fsf.org/wiki/Uncomplicated_Firewall-_ufw) 防火墙规则的最大数量,系统在约 65,000 条规则时出现性能下降。fail2ban 是一个可以读取日志文件流并在满足特定条件时执行操作的程序。操作通常是使用 UFW 等防火墙禁止某个地址,从而阻止或允许与服务器的连接。
我们了解了 [ipset](https://directory.fsf.org/wiki/Ipset),并配置 fail2ban 将其发现的 IP 地址添加到 IP 集合中。使用 ipset,我们不断构建更大的 IP 集合,即使多达五百万条规则也没有发现不稳定性。
我们使用 fail2ban 配合 ipset 一段时间,但遇到了其 Python 和 SQLite 架构的限制。我们多次用 BASH、awk、Perl 等工具自行编写解决方案作为快速补丁,用于匹配模式并添加规则到 ipset,无需额外的中间数据库。这些自定义脚本曾短暂奏效,但随着更多模式出现,我们需要运行多个小脚本,管理变得困难。而且并非所有模式都应在首次出现时就被禁止,因此我们需要一个类似 fail2ban 的解决方案。
我们寻找近期编写的 fail2ban 替代品。找到了一些,但许多只是作为一次性展示作品,而非长期维护的解决方案。我们最终在 Framasoft 的代码托管平台 Framagit 上发现了一个名为 [reaction](https://directory.fsf.org/wiki/Reaction) 的有前途项目,由 ppom 编写。
我们花了一些时间才理解如何配置 reaction。与 fail2ban 不同,reaction 没有附带现成可用的配置,你必须根据示例文档构建符合自身需求的配置。当时没有使用 ipset 的示例,因此我们必须自己构建一个。总体而言,这种方法非常好,因为现在我们拥有一个包含所需一切、极少冗余的配置。
在初始实现遇到扩展问题后,我们开发了一个更快的实现:reaction 关闭进程会将 IP 集合导出到磁盘,启动进程则会恢复 IP 集合。这使得我们几乎可以瞬间重启服务以应用新规则。
我们将我们的两种配置都上游发布到了 [reaction 的 wiki](https://reaction.ppom.me/examples/actions/ipset/),以便每个人都能从中受益。reaction 的入门文档现在也引用了我们提出的方法。
没有你们的支持,这项工作就不可能实现。正是因为有像你们这样的自由软件支持者,我们才能继续发现新模式、阻止爬虫、缓解 DDoS 攻击,并与大家分享我们的改进。
我们知道并非每个人都有能力捐赠,但如果您可以,请加入 FSF 成为[准会员](https://my.fsf.org/join?mtm_campaign=summer26&mtm_source=techappeal)来支持我们的努力。准会员身份是我们能够依赖的一种巨大支持。FSF 在捍卫您的自由方面绝不妥协。如果没有像您这样的人的持续承诺,我们所取得的进步将面临危险,软件自由可能沦为一句空话而非今天的现实。请帮助我们继续保护软件自由并扩大其全球支持。今年夏天每增加一位会员,都将助力我们实现新增 175 名会员的目标。准会员还将享受所有[会员福利](https://www.fsf.org/associate/benefits?mtm_campaign=summer26&mtm_source=techappeal),包括商品折扣、16GB 可启动会员卡以及使用我们的准会员视频会议服务器。
许多系统管理员都知道 fail2ban,但了解 [reaction](https://reaction.ppom.me/) 的人还不够多。我非常感谢 ppom 提供的帮助,以及他们通过 reaction 向世界发布的这个伟大项目。我们还实施了其他防御措施,但 reaction 承担了大部分自动化工作,确保我们的网站保持在线。
相似文章
在我的网站上屏蔽ASN(或类似)
一份技术指南,介绍如何使用iptables以及net-consolidator和cidr-aggregator等合并工具,从网站屏蔽整个ASN和云服务商IP范围,以减少不必要的机器人和AI爬虫流量。
联邦机构瓦解引发大规模DDoS攻击的物联网僵尸网络
美国、加拿大和德国当局已摧毁四个物联网僵尸网络——Aisuru、Kimwolf、JackSkid和Mossad——它们入侵了超过300万台设备,并发起了破纪录的DDoS攻击,包括针对美国国防部的攻击。
进攻性互联网姿态
作者解释了如何通过伪造 WordPress 登录、endlessh tarpit、阻止 AI 爬虫、伪造 phpinfo、无限虚假网站以及提示注入来毒化大语言模型,从而保护他的 VPS 和博客免受机器人和爬虫的侵扰。
巴西反DDoS公司被黑,用于攻击其他巴西ISP
KrebsOnSecurity报道,巴西一家名为Huge Networks的反DDoS公司遭到入侵,其基础设施被用来通过不安全的路由器和DNS服务器组成的僵尸网络,对其他巴西ISP发动大规模DDoS攻击。
黑客可利用9种最流行AI工具组建大规模僵尸网络
研究人员设计了一种名为HalluSquatting的基于拉取的提示注入攻击,利用AI编程助手易出现资源标识符幻觉的特点,从而能够组建大规模僵尸网络并发起大规模攻击。