我在我的服务器上启用了 dovecot 插件,过了一会儿(读作:10 秒),我收到了第一个禁令:
2020-12-20 08:05:22,349 fail2ban.actions [1495]: NOTICE [dovecot] Ban 212.70.149.85
2020-12-20 08:05:22,451 fail2ban.filter [1495]: INFO [dovecot] Found 212.70.149.85 - 2020-12-20 08:05:22
2020-12-20 08:05:47,530 fail2ban.filter [1495]: INFO [dovecot] Found 212.70.149.85 - 2020-12-20 08:05:47
2020-12-20 08:05:47,842 fail2ban.filter [1495]: INFO [dovecot] Found 212.70.149.85 - 2020-12-20 08:05:47
2020-12-20 08:06:38,200 fail2ban.filter [1495]: INFO [dovecot] Found 212.70.149.85 - 2020-12-20 08:06:38
2020-12-20 08:06:38,401 fail2ban.filter [1495]: INFO [dovecot] Found 212.70.149.85 - 2020-12-20 08:06:38
2020-12-20 08:06:38,891 fail2ban.actions [1495]: WARNING [dovecot] 212.70.149.85 already banned
但正如你所看到的,不知何故,1 分钟后它还没有被解禁,又尝试了 5 次。
这是来自我的 iptables 部分的内容:
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
1816 99591 f2b-dovecot tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 110,995,143,993,587,465,4190
[...]
Chain f2b-dovecot (1 references)
pkts bytes target prot opt in out source destination
31 1770 REJECT all -- * * 212.70.149.70 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- * * 212.70.149.54 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 REJECT all -- * * 212.70.149.85 0.0.0.0/0 reject-with icmp-port-unreachable
1717 93921 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
lsof 输出:
COMMAND PID FD TYPE DEVICE SIZE/OFF NODE NAME
dovecot 2154 23u IPv4 24422 0t0 TCP *:pop3 (LISTEN)
dovecot 2154 24u IPv6 24423 0t0 TCP *:pop3 (LISTEN)
dovecot 2154 25u IPv4 24424 0t0 TCP *:pop3s (LISTEN)
dovecot 2154 26u IPv6 24425 0t0 TCP *:pop3s (LISTEN)
- 所以这对我来说看起来很好... dovecot 正在监听 pop3 和 pop3s(110 和 995),它们位于多端口的 dport 中。
- 此服务器上已禁用 ip6(目前),所以我 100% 确定它不会通过那里
- 正如 lsof 所示,它没有监听 UDP
我在这里很困惑:为什么 iptables 没有捕获(并拒绝)数据包?因为正如您在 iptables 中看到的那样,还有另一个 IP 也被阻止了,并且阻止工作正常。54 和 85 有什么不同?
有什么方法可以调试它吗?
还有其他答案,但都没有帮助:
- 将协议设置为全部:不适用于多端口,但不会改变任何内容,因为 dovecot 仅在 tcp 上监听。
- 它没有使用代理
谢谢!