我的服务器目前有非常严格的 fail2ban 规则,该规则会永久且持续地禁止所有端口上登录失败的任何 IP。这似乎有点过分,但大多数端口都是“私有”端口(意味着只有我应该访问它们)。
因为我的服务器运行一个公共网站,所以不应该在 HTTP 和 HTTPS 上禁止 IP,我还设置了一个 Web 界面来取消禁止我的 IP,以防我将自己锁定在外,然后我需要能够访问。
我对防火墙和 iptables 没有太多经验,目前正在action.d/iptables-allports.conf
使用持续禁令。
我如何配置一项操作来禁止除“公共端口”之外的所有端口上的 IP 或禁止所有“私有端口”上的 IP(给定一个公共/私有端口的静态列表)?
提前致谢。-介意
答案1
快速思考,不是不禁止这些 IP 从所有端口访问,而是仍然禁止它们,但让 80 和 443 端口上的所有流量通过。
将此规则添加到 iptables 中,就不会有人在端口 80 和 443 上被拒绝,即使 fail2ban 仍然禁止他们。
iptables -I INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT