在 Ubuntu 14.04 服务器上运行。
所以我已经正确配置了 fail2ban 来处理/var/log/auth.logSSH 登录尝试。
在 3 次尝试失败后,我在 fail2ban 日志中看到了这一点:
2014-11-19 15:22:56,822 fail2ban.actions: WARNING [ssh] Ban BANNED_IP_ADDY
Run Code Online (Sandbox Code Playgroud)
iptables -L 显示这个链:
Chain fail2ban-ssh (1 references)
target prot opt source destination
REJECT all -- BANNED_IP_ADDY anywhere reject-with icmp-port-unreachable
RETURN all -- anywhere anywhere
Run Code Online (Sandbox Code Playgroud)
然而,从那个 IP 我仍然可以通过 SSH 登录而没有任何问题。
同样的故事适用于我所有的 fail2ban 监狱。例如 Apache,我可以看到 fail2ban 正确检测到日志并声称它禁止了一个 IP。该 IP 最终位于 iptables 链中,但该 IP 实际上并未被拒绝。
在这些情况下,我有一种感觉是因为 SSH 不在标准端口上。它位于不同的端口上。
因此,如果我强制 ssh 监狱规则使用新端口:
[ssh]
enabled = true
port = 32323
filter = sshd …Run Code Online (Sandbox Code Playgroud)