我有两个fail2ban
监狱处理postfix
:一个叫postfixsasl
和一个叫postfixauth
。他们每个人都在寻找不同的正则表达式匹配来触发禁令。它们都可能由来自同一 IP 地址的活动触发,并且有时会发生这种情况。
如果其中一个禁令在另一个禁令之前到期,则似乎 IP 地址正在解除禁令,即使第二个禁令仍然有效。
例如,假设我运行fail2ban-client get postfixauth banip --with-time
并在其输出中得到以下行(实际 IP 地址已虚拟化):
aaa.bbb.ccc.ddd 2020-09-28 10:58:24 + 86400 = 2020-09-29 10:58:24
...并假设我运行fail2ban-client get postfixsasl banip --with-time
并得到以下输出。相同的 IP 地址以相同的方式被虚拟化:
aaa.bbb.ccc.ddd 2020-09-28 20:00:37 + 3600 = 2020-09-28 21:00:37
显然,第二个禁令将在第一个禁令之前到期。但是,似乎一旦第二个项目被取消禁止,aaa.bbb.ccc.ddd
IP 地址似乎就被取消禁止,甚至在第一个项目的到期时间之前。
我希望aaa.bbb.ccc.ddd
IP 地址一直被阻止,直到最新的禁令到期,但这不会发生在我身上。
在 2020-09-29 21:00:37 之前f2b-postfixauth
,输出部分出现以下行iptables -L
:
REJECT all -- aaa.bbb.ccc.ddd anywhere reject-with icmp-port-unreachable
...并且以下行出现在输出f2b-postfixsasl
部分中iptables -L
:
REJECT all -- aaa.bbb.ccc.ddd anywhere reject-with icmp-port-unreachable
在 2020-09-29 的 21:00:37 之后,两条线都从iptables -L
输出中消失了。
这是预期的行为吗?或者可能是我的配置可能有一些完全不相关的东西fail2ban
导致这种情况发生?如果这不是预期的行为,那么我将fail2ban
进一步调查我的配置。
非常感谢。
我正在使用
csf
“正常”的非fail2ban
防火墙处理,我发现了这一点csf
并以不兼容的方式fail2ban
进行交互iptables
,这就是我的问题的原因。我正在使用
iptables-multiport
insidefail2ban
来进行禁止,并且csf
我的防火墙服务同时存在导致以前被禁止(通过fail2ban
)的 IP 地址仍然可以通过防火墙。我没有使用
iptables-multiport
,而是将我的fail2ban
监狱配置更改为仅通过 进行禁止和取消禁止csf
,如下所述: https ://github.com/fail2ban/fail2ban/issues/2340由于在我的启用设置中
iptables-multiport
不再执行操作,所有禁止和取消禁止尝试现在都按预期工作。csf
fail2ban