Fail2Ban 过滤器忽略 postfix 和 dovecot

问题描述

我们的一个客户端配置错误的设备发送了错误用户名。他找不到设备,所以fail2ban 一直阻止他。当我们将 ip 添加到白名单时,它可以工作,但是当他的路由器设置新的 ip 地址时,他再次被禁止

所以,我的想法是设置一个 fail2ban 过滤器来忽略他在 postfix 和 doevecot 中的特定用户名。

这样的过滤器会是什么样子?

解决方法

这不是您需要的过滤器,而是监狱配置中的 ignoreregex(每个 jail dovecot 或 postfix 一个)。

请注意,正则表达式的外观取决于日志行(导致禁令)的外观。
如果您的日志行(导致禁止)如下所示:

... auth-worker(123): Info: sql(certain-user@example.de,192.0.2.1,<sessionid>): unknown user

您可以将以下配置添加到监狱中(在您的 jail.local 中):

[dovecot]
...
_ignore_users = (?:certain-user|some-user|another-user)@example.de
ignoreregex = sql\(%(_ignore_users)s,[^\)]*\): unknown user$
...

如果禁止仅发生在此类消息中,fail2ban 将停止禁止此类用户,否则您必须为多种消息格式编写 ignoreregex


顺便说一句:

我们的一个客户端配置错误的设备发送了错误的用户名。他找不到设备...

他的系统 e. G。他的一些主机可能是某个僵尸网络的一部分(总是尝试对某个用户名进行暴力破解),因此可能不建议将他列入白名单。

当我们将 ip 添加到白名单时,它可以工作,但是当他的路由器设置新的 ip 地址时,他再次被禁止

如果他有某种 DynDns(或可以在他的路由器中配置),您可以将其 FQDN 添加到 ignoreip 而不是 IP。