fail2ban:当两个 jail 禁止同一个 IP 时,会采取解禁行为吗?

fail2ban:当两个 jail 禁止同一个 IP 时,会采取解禁行为吗?

我有两个fail2banjail 处理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.dddIP 地址似乎也会被解禁,甚至比第一个禁令的到期时间还早。

我希望aaa.bbb.ccc.dddIP 地址保持被阻止状态直到最新的禁令到期,但这并没有发生在我身上。

f2b-postfixauth在2020-09-29 21:00:37之前,输出部分出现如下一行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进一步调查我的配置。

非常感谢。

答案1

我正在使用csf“正常的”非fail2ban防火墙处理,我发现csf并以不兼容的方式fail2ban进行交互iptables,这就是导致我的问题的原因。

我正在使用iptables-multiportfail2ban进行禁止,并且同时存在csf作为我的防火墙服务导致先前被禁止的(通过fail2ban)IP 地址仍然可以通过防火墙。

iptables-multiport我没有使用,而是更改了我的fail2ban监狱配置,仅通过进行禁止和取消禁止csf,如下所述: https://github.com/fail2ban/fail2ban/issues/2340

由于iptables-multiport不再在我的csf启用fail2ban设置中执行操作,因此所有禁止和取消禁止尝试现在都按预期工作。

相关内容