问题描述
我们的一个客户端配置错误的设备发送了错误的用户名。他找不到设备,所以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。