由于fail2ban Version 0.10
支持 IPv6。我fail2ban
与 一起使用ufw
。我发现只有 IPv4 地址被阻止。这是不利的。
Failed to execute ban jail 'nginx-noscript' action 'ufw' info 'ActionInfo({'ip': '2400:xx:xx:xx::xx', 'family': 'inet6', 'fid': <function Actions.ActionInfo.<lambda> at 0x7fbe026ee820>, 'raw-ticket': <function Actions.ActionInfo.<lambda> at 0x7fbe026eeee0>})': Error banning '2400:xx:xx:xx::xx'
根据 fail2ban 更新日志,并非所有禁令都已扩展到 IPv6。有人知道让 fail2ban 阻止 IPv4 和 IPv6 的可靠方法吗?
答案1
我不会太担心。我几乎看不到 IPv6 上的恶意流量会触发 fail2ban,无论是通过各种公共主机。所有禁令最终都会获得 IPv6 支持,但如果您了解 Python,您可以考虑通过自己添加缺失的支持并提交补丁来提供帮助。
也就是说,你可以使用 ufw 性能最高的禁令是iptables-ipset-*
,并使用这些禁令的 IPv6 版本将适用于 IPv6 和 IPv4。
banaction = iptables-ipset-proto6
banaction = iptables-ipset-proto6-allports