fail2ban 包含要禁止的 IP 地址列表

fail2ban 包含要禁止的 IP 地址列表

假设我有一个 .txt 文件,其中包含我想在一段时间内禁止的 IP 地址列表(即某种黑名单文件)。我知道如何在 Apache 中执行此操作(例如)- 只需将 .txt 文件包含到 apache.conf 中,然后进行正常重启即可。

我想知道使用 fail2ban 是否可以实现同样的事情,我以某种方式让 fail2ban 定期“读入”我想要禁止的 IP 地址列表,利用 fail2ban 机制与 iptables 进行通信?

答案1

Fail2ban 用于管理要禁止的地址列表自动地

一切都基于这样一个假设:如果相同的远程地址,这些“错误”不是偶然的,地址是恶意的,并试图做一些恶意的事情(例如暴力破解密码、扫描漏洞等)。错误被放在引号中,因为它取决于定义——什么是“错误”,定义为过滤器在 fail2ban 中。它期望应用程序日志某物实时(几乎)当它发现通信中的问题时,并且该日志消息还包含与其通信的远程地址。

这种检测本身并非毫无错误。合法用户可能会记错密码,并在登录时尝试几次近似的猜测;这些尝试在日志中的表现与真正的暴力破解并无不同。如果他们过于坚持和仓促,他们就会被禁止,而这实际上是误报。

远程 IP 通常也只是受感染的计算机,一段时间后它们将出现在另一个 IP 下;它们之前占用的 IP 可能被其他无辜参与者占用,并且该系统会发现自己被错误禁止。受感染和易受攻击的系统有时也会得到治愈和修复,因此它们不再具有危险性。

为了解决所有这些问题,fail2ban 实施的禁令是不是永久的,一段时间后会自动解除禁令。

当你有一个先验要禁止的地址列表。首先,通常这些地址不是地址,而是网络块(一组相邻地址)。其次,该列表的条目是已知不会过期;我们假设操作这些网络块的实体是恶意的。最后,也是最重要的一点:fail2ban 在管理大型禁令名单方面表现糟糕. 它之所以好用和可用是因为它是自动化的;不要尝试使用它来处理数千个地址。仅使用数据库中的数千个地址启动/停止它就会花费大量的处理时间(几十分钟)。

如果您有地址列表,请直接使用防火墙。不要尝试使用 fail2ban 来管理它。相反,如果您发现一些地址(或一组紧密的地址,如小型子网)经常被自动禁止和解禁,那么调查这些地址并可能手动禁止它们以便 fail2ban 不再处理它们可能会很有帮助。

相关内容