PowerRC's Blog

Posted by:
PowerRC

码农,吃货,偶尔飙车和摄影,应该属于危险人物。

9,652

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

版权申明

若文中未注明,则本文由 PowerRC 原创,转载请注明出处。

分享

发表评论

*

code

back up ↑