Fail2Ban 刚刚阻止了我的 IP 3 次 SSH 尝试。它添加了 iptables 规则,我可以使用“sudo iptables -L -n”命令查看它。但是我仍然可以访问该站点并通过 SSH 登录!可能是什么问题?是因为我在使用 CloudFlare 吗?我已将 Nginx 设置为将真实 IP 写入访问日志而不是 Cloud Flare IP。还不够吗?
Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP all -- 119.235.14.8 0.0.0.0/0
RETURN all -- 0.0.0.0/0 0.0.0.0/0
输入链:
Chain INPUT (policy DROP)
target prot opt source destination
fail2ban-NoAuthFailures tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
fail2ban-nginx-dos tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 80,8090
fail2ban-postfix tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 25,465
fail2ban-ssh-ddos tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 22
fail2ban-ssh tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 22
ufw-before-logging-input all -- 0.0.0.0/0 0.0.0.0/0
ufw-before-input all -- 0.0.0.0/0 0.0.0.0/0
ufw-after-input all -- 0.0.0.0/0 0.0.0.0/0
ufw-after-logging-input all -- 0.0.0.0/0 0.0.0.0/0
ufw-reject-input all -- 0.0.0.0/0 0.0.0.0/0
ufw-track-input all -- 0.0.0.0/0 0.0.0.0/0
LOG all -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
更新 2019:原始答案中的 API 使用已被弃用,取而代之的是 API v4,请改用新版本。 Fail2ban unban 操作因 Cloudflare 而失败,感谢 @baptx 评论
iptables获取不到真实ip,所以应该使用cloudflare的api将云端的IP加入黑名单。
这是我的动作配置文件