前言
使用fail2ban防暴力破解。
简介
fail2ban的工作原理是监听linux的工作日志,找到有问题的IP地址,再使用iptables规则禁用。
安装fail2ban
1.fail2ban功能十分强大,其官方地址:http://www.fail2ban.org
2.使用yum安装fail2ban,安装之前需要安装epel源。
示例:
yum -y install fail2ban
3.fail2ban的配置文件位置
/etc/fail2ban/jail.conf
fail2ban防暴力破解
1.更改配置文件/etc/fail2ban/jail.conf
在[sshd中]加入设置条件:SSH 远程登录 5 分钟内 3 次密码验证失败,禁止用户 IP 访问主机 1 小时,1 小时该限制
自动解除,用户可重新登录。
注:
enabled = true #是否激活此项(true/false)修改成 true。
filter = sshd #过滤规则 filter 的名字,对应 filter.d 目录下的 sshd.conf。
action = iptables[name=SSH, port=ssh, protocol=tcp] #动作的相关参数,对应action.d/iptables.conf 文件。
sendmail-whois[name=SSH, dest=you@example.com, sender=fail2ban@example.com,sendername=“Fail2Ban”] #触发报警的收件人。
logpath = /var/log/secure #检测的系统的登陆日志文件。这里要写 sshd 服务日志文件。默认为 logpath = /var/log/sshd.log(在 centos8 当中需要删除默认的 ssh 区域 logpath 选项)
bantime = 3600 #禁止用户 IP 访问主机 1 小时。
findtime = 300 #在 5 分钟内内出现规定次数就开始工作。
maxretry = 3 #3 次密码验证失败。
2.启动服务
[root@mail ~]# systemctl start fail2ban
[root@mail ~]# systemctl enable fail2ban
3.测试登陆
- 查看sshd的fail2ban的状态,将ban掉的ip释放
总结
需要注意的 2 点:
- 另外如果后期需要把 iptables 清空后或 iptables 重启后,也需要把 fail2ban 重启一下
- 如果修改 ssh 默认端口 22 为 2022 后,配置 fail2ban 来监控 SSHD 服务需要修改配置文件.