技术解析

Fail2Ban 启动后无效果
0
1975-02-25 16:22:16
idczone

系统 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.用 fail2ban-regex 检查是否能匹配规则
2.检查目标日志文件权限,看能不能被 fail2ban 访问
3.你的 logpath 呢?

还有,建议把自己的规则放在 jail.local 里以覆盖 jail.conf 里的默认配置
为什么都喜欢直接改 jail.conf 呢?

因为网上教程都写在 conf 2333

把 maxretry = 5 改成 3 试试,看下是不是因为 ssh 的原因

不记得 Debian 的配置,但是 Ubuntu 下 fail2ban 应该是安装即可用的(针对 SSH 来说)。
楼主不如检查一下日志比如 /var/log/auth.log 之类,看看是不是登录错误已经被记录了。
如果你连 auth.log 都找不到了的,那么 fail2ban 应该是一抹黑的(捂脸)
http://serverfault.com/questions/545622/no-more-logging-after-upgrade-to-debian-wheezy

改过 SSH 端口也是安装即可用吗?


记忆中并不是,而且你看设定里
> action = iptables[name=SSH, port=ssh, protocol=tcp]
指定了 SSH 的端口。

自用 VPS ,把 SSH apache 停了,世界一片清净

似乎 SSH 端口不影响效果。。。
http://serverfault.com/questions/382858/in-fail2ban-how-to-change-the-ssh-port-number

抱歉,是 SSH 端口会影响 block 效果,要在配置文件里指定好

我之前遇到过一样的问题, 后来发现是因为改了时区导致系统时间和程序运行的时间(log 记录的时间)不一致,
你把 findtime 设为一天试试, 看会不会 block

搞什么 fail2ban ,直接把 password auth 关了用 private key auth ,随便人家怎么暴力破。

fail2ban 的特性会被用作 dos 攻击,一般不建议使用 fail2ban 了,可以试试 sshguard

debian 感觉用 denyhosts 好用点

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服