Centos 7 配置fail2ban
最近服务器老是被人暴力试SSH密码,试过换端口,效果不理想,虽然说禁用了远程root 登录ssh ,已经可以说是很安全,但是看到log里一堆这种苍蝇记录,我就感到很不爽。
其实防暴力破解ssh的工具有很多,但是centos7下能用的只有fail2ban (需要从epel 软件库安装,关于epel请参照这篇文章)
fail2ban是一个不错的工具,原理是定期扫描相关服务的访问记录,把超过重试次数的IP拎出来封掉。
配置也很简单,以封试ssh密码的访问为例,具体如下
1.当然是需要先安装fail2ban
1 | #yum install fail2ban -y |
2.去创建本地的fail2ban 规则文件,最简单的办法是跑到/etc/fail2ban下,把jail.conf 复制一份,弄成jail.local
1 | #cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local |
3.以上一步,虽然弄好了一份规则文件,但是默认所有防护都没有打开,所以就需要编辑jail.local,设置以下两处:
3.1先把banaction 设置成 firewallcmd-new (网上很多教程会让用firewall-ipset,这样可以有更灵活的功能,比如说仅封300秒,但是我个人喜欢彻底封死,所以就不需要ipset)
1 | banaction=firewallcmd-new |
3.2然后启用对ssh的守护
找到[sshd],加入这句
1 | enabled=true |
3.3 这步并不必须,没有兴趣可以直接跳过
因为fail2ban默认的firewall 封禁规则,是return data package,但是我个人喜欢封死这些苍蝇,那就当然应该用drop package咯。
也很简单,需要修改文件
/etc/fail2ban/action.d/iptables-common.conf
把
1 | blocktype = REJECT --reject-with icmp-port-unreachable |
改成
1 | blocktype = DROP |
4.大功告成,启用下fail2ban就可以了。
1 2 | #systemctl enable fail2ban #systemctl start fail2ban |
近期评论