RHEL 8 上的 Firewalld 与 Fail2ban - Fail2ban 看似阻止了 IP,但实际上并没有被阻止

RHEL 8 上的 Firewalld 与 Fail2ban - Fail2ban 看似阻止了 IP,但实际上并没有被阻止

我在 RHEL 8 上使用 Firewalld 运行 fail2ban。根据 fail2ban 日志(DEBUG 级别),它会阻止 IP 地址且没有任何错误,但实际上 Firewalld 和 nftables 中没有这样的规则。

jail.local配置文件中我已设置banactionfirewallcmd-ipset和。banaction_allportsfirewallcmd-ipset[actiontype="<allports>"]

我在 fail2ban 和防火墙日志文件中均未看到任何错误消息。此外,在阻止 IP 时会向我正确发送电子邮件。

firewallcmd-common.conf配置文件中,我已将区域选项更改为防火墙中自定义区域的名称。

有谁知道问题可能是什么或我可以在哪些其他日志文件中查找错误?

答案1

但实际上firewalld和nftables中没有这样的规则。

“这样的规则”到底是什么意思?

  1. 操作firewallcmd-ipset将添加规则并创建 ipset如果它启动操作(自 fail2ban 版本 0.10 以来,这是根据第一次禁令按需发生的)。

  2. 然后firewallcmd-ipset 将在此 ipset 中添加一个条目对于每个被禁止的 IP。

如果您在firewalld列表中没有看到该规则,那么可能是:

  • 被某些东​​西删除或刷新(例如某些服务从头开始重新创建防火墙规则)
  • 操作启动时会发生一些错误(在启动 fail2ban 后第一次禁止此监狱时,请参阅 fail2ban.log),例如,如果某些自定义设置不兼容

要查看 fail2ban 操作在您的情况下执行了哪些命令(例如您也可以在 shell 中尝试它们),您可以转储 fail2ban 配置:

fail2ban-client -d | grep "$jail"
# pretty dump in new version (>= 0.10):
fail2ban-client --dp

相关内容