系统 Debian8 ,设置 Fail2Ban 为错误五次就封 IP 3 小时,但我在本机上测试时,故意输出 SSH 登录密码,在 5 次之后并不会弹出服务器断开连接的提示,而是不断的让我重新输入密码,/var/log/fail2ban.log 的日志最新一条为: 2016-02-05 03:52:08,146 fail2ban.jail [1915]: INFO Jail 'ssh-iptables' started
下面是我的 jail.conf 的内容:
[DEFAULT]
ignoreip = 127.0.0.1 172.31.0.0/24 10.10.0.0/24 192.168.0.0/24
bantime = 21600
maxretry = 5
findtime = 600
mta = sendmail
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, dest=[email protected], sender=[email protected]]
maxretry = 5
![]() | 1 ZyZyZzz 2016-02-05 17:11:56 +08:00 1.用 fail2ban-regex 检查是否能匹配规则 2.检查目标日志文件权限,看能不能被 fail2ban 访问 3.你的 logpath 呢? |
![]() | 2 ZyZyZzz 2016-02-05 17:16:21 +08:00 还有,建议把自己的规则放在 jail.local 里以覆盖 jail.conf 里的默认配置 为什么都喜欢直接改 jail.conf 呢? |
![]() | 3 xuhaoyangx 2016-02-05 17:17:55 +08:00 @ZyZyZzz 因为网上教程都写在 conf 2333 |
![]() | 4 kn007 2016-02-05 18:14:26 +08:00 把 maxretry = 5 改成 3 试试,看下是不是因为 ssh 的原因 |
5 raincious 2016-02-05 18:43:58 +08:00 不记得 Debian 的配置,但是 Ubuntu 下 fail2ban 应该是安装即可用的(针对 SSH 来说)。 楼主不如检查一下日志比如 /var/log/auth.log 之类,看看是不是登录错误已经被记录了。 如果你连 auth.log 都找不到了的,那么 fail2ban 应该是一抹黑的(捂脸) http://serverfault.com/questions/545622/no-more-logging-after-upgrade-to-debian-wheezy |
7 raincious 2016-02-05 18:57:14 +08:00 |
![]() | 8 7654 2016-02-05 18:58:04 +08:00 自用 VPS ,把 SSH apache 停了,世界一片清净 |
![]() | 9 Devin 2016-02-05 19:15:54 +08:00 |
11 zen9073 2016-02-05 19:40:39 +08:00 我之前遇到过一样的问题, 后来发现是因为改了时区导致系统时间和程序运行的时间(log 记录的时间)不一致, 你把 findtime 设为一天试试, 看会不会 block |
![]() | 12 edsgerlin 2016-02-06 11:16:57 +08:00 搞什么 fail2ban ,直接把 password auth 关了用 private key auth ,随便人家怎么暴力破。 |
![]() | 13 ibrother 2016-02-15 14:54:19 +08:00 fail2ban 的特性会被用作 dos 攻击,一般不建议使用 fail2ban 了,可以试试 sshguard |
![]() | 14 yiyiwa 2016-02-17 10:42:42 +08:00 debian 感觉用 denyhosts 好用点 |