以前我有一个带有 Iptables 的 CentOS 6.5,并且我按照这里的建议为 nginx 配置了一些 jail:如何使用 fail2ban 来管理 Nginx?。
但是现在我在 CentOS 7 中,尝试使用新的防火墙和最新的 fail2ban。我知道有一个新的firewallcmd-ipset.conf
。但我想知道上述链接的代码应该如何适应新的防火墙和新的 fail2ban。
观察firewallcmd-ipset.conf
它似乎也期望变量port
和。因此也许只需用name
替换就足够简单了。iptables-multiport
firewallcmd-ipset
有什么想法吗?
提前致谢,
答案1
您无需更改任何内容。在 CentOS 7 上,默认配置已包含一个配置位,用于将 fail2ban banaction 设置为firewallcmd-ipset。它位于软件包中fail2ban-firewalld
,应该会自动安装。
您只需要确保您没有覆盖banaction
配置中的其他地方。
答案2
FirewallD 只是 iptables 的一个包装器,它提供了一种管理规则的简单方法。但是,恕我直言,Firewalld 更适合工作站环境,而不是服务器环境。因此,我建议您采取systemctl
以下行动
disable FirewallD
mask Firewalld
enable iptables
然后把相关iptables
行动放在你的jail.local
在我以前使用 fail2ban 中的firewalld配置的经验中,我发现配置不会重新加载frewalld,这意味着使fail2ban添加的规则生效。
当我firewall-cmd --reload
手动操作时,fail2ban 记录的所有无效 IP 都显示在firewall-cmd --list-all
在这种情况下,使用iptables
是您更快的选择,或者您可以修改firewalld-xxxxx
配置。