如何在本地fail2ban过滤器定义中*添加*规则?

use*_*ser 10 debian fail2ban

我已经在我控制的服务器上安装了 Debian 打包的 fail2ban。由于我之前有一些失败正则表达式,因此我将它们放入本地过滤器定义文件中,因此它们也会被考虑在内。因此,我最终得到了 /etc/fail2ban/filter.d/sshd.conf 和 /etc/fail2ban/filter.d/sshd.local。这是推荐的设置方式,它似乎工作得很好。

但是,在 .local 文件中,我实际上是从 .conf 文件中替换了整个失败正则表达式列表。文档似乎没有表明有任何其他方法可以做到这一点,为了让它工作,我只是将发行版提供的 .conf 文件复制到 .local 文件并进行了一些添加。

如果我能简单地修改列表,从上游和 Debian 维护者的工作中受益,以便及时了解发行版维护的日志条目过滤器正则表达式的变化,那就太好了。

我能想到的唯一真正的解决方法是实际创建两个 jail,一个使用分发提供的配置,另一个使用我自己的配置。这似乎具有(相当重要的)缺点,即它们被视为独立的监狱(您会期望这样的设置)。

当然,我不可能是唯一一个想要将我自己的几个失败正则表达式添加到已经存在的集合中的人,并且将维护的麻烦降到最低。

是否可以通过站点本地或主机本地文件修改fail2ban 过滤器定义中的 failregex 和 ignoreregex 列表,而无需对相应的全局或分发提供的文件进行任何更改?如果是,那该怎么做呢?

Mic*_*ton 5

让我们看一下该/etc/fail2ban/filter.d/sshd.conf文件的部分内容。

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf
Run Code Online (Sandbox Code Playgroud)

所以你可能认为你可以在这里添加:after = sshd.local并使其读取这样的文件;其中的任何设置都将覆盖该文件中的设置。

它有效。除非您不能简单地修改条目failregex或任何其他指令;你只能更换它们。

你的感觉是正确的。这绝对是fail2ban配置文件格式的缺点。我会向开发商投诉。