我正在使用 fail2ban 来监控纯文本 http 数据包(负载均衡器正在使用 SSL 卸载),使用由负载均衡器添加的标头。fail2ban 抱怨说,它在禁止 IP 地址之后在日志中看到这些 IP 地址,但是 iptables 上的数据包数量却在增加,它们怎么可能被忽略呢?
我的 fail2ban 日志如下所示
2020-09-27 19:10:42,748 fail2ban.actions [1744]: NOTICE [jailprov] Ban 5.180.220.215
2020-09-27 19:11:34,478 fail2ban.actions [1744]: NOTICE [jailprov] 5.180.220.215 already banned
2020-09-27 19:12:08,097 fail2ban.actions [1744]: NOTICE [jailprov] 5.180.220.215 already banned
2020-09-27 19:12:21,119 fail2ban.actions [1744]: NOTICE [jailprov] 5.180.220.215 already banned
2020-09-27 19:12:50,088 fail2ban.actions [1744]: NOTICE [jailprov] 5.180.220.215 already banned
2020-09-27 19:13:08,609 fail2ban.actions [1744]: NOTICE [jailprov] 5.180.220.215 already banned
我的 iptables 如下所示
[me@server log]# iptables -vnL
Chain INPUT (policy ACCEPT 2917 packets, 368K bytes)
pkts bytes target prot opt in out source destination
2751K 199M fail2ban-default tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
2749K 198M fail2ban-default tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 2952 packets, 530K bytes)
pkts bytes target prot opt in out source destination
Chain fail2ban-default (2 references)
pkts bytes target prot opt in out source destination
18 6408 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 STRING match "5.180.220.215" ALGO name bm TO 65535
[other rules removed for brevity]
5499K 396M RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
答案1
/etc/sysconfig/iptables
其中某处有一个无效(且不可见)的字符,可能是 Windows 样式的行尾而不是 Unix 样式。它阻止了 iptables 服务的运行。使用简单的复制粘贴重建文件并重新启动 iptables 服务解决了该问题。快速说明,如果我在iptables -vnL
修复后仅包含 fail2ban 规则,它仍然与我在原始问题中显示的内容相同。