用fail2ban来防暴力破解服务器
十一放假归来后,也就是在10朋11号,在看日志的时候,我发现邮件服务器中的一个邮件账户(不常常用)有问题,它一直在向外发送邮件,收件人是一些QQ号码,内容是:“恭喜您,得到星光大道节目的奖品”,里面还搞的有一个老毕的照片,当时看了我斗想笑。当我登录进去一看,发件箱里已经有1千多封邮件了,而且还收到了QQ的退信通知。这个内心愁啊。。之前没有遇到过这种***。ssh
呵,没说的,先给公司领导说下,要把这个账户的密码给改下。登录邮件后台管理系统,把用户的密码给改了下。而后,再着用# tail -f /var/log/maillog来看,又发现有人一直在用这个账户尝试登录,里面全是这个账户登录失败的消息:authentication failed:authentication failureide
这很然是有人在暴力破解这个账户的密码,并且源ip地址仍是在不断的变化的,原本我还想用iptables来把这个源ip给DROP掉,看来手工的来添加是根本不可行的。post
因而我就在网上搜索“Linux下防暴力破解的软件”,而后就找到了:fail2banspa
Fail2ban软件的安装我就不说了,网上多里很,来讲下我是怎么设置的。由于安装好了之后,在设置这块,我又花了很多的时间来研究才解决。日志
在fail2ban安装完成之后,就能够实现ssh的防暴力破解。可是,要想实现fail2ban支持postfix的防暴力破解,那就还要在filter.d/postfix.conf中作相应的修改,以下(关键就在这儿):orm
failregex = reject: RCPT from (.*)\[<HOST>\]: 554
.*LOGIN FAILED, .*, ip=\[<HOST>\]$
postfix\/smtpd.* warning:.*\[<HOST>\]: SASL LOGIN authentication failed
extmail.*: user=.*, client=<HOST>, module=login, status=badlogin
这是一个对/var/log/maillog文件的一个正则匹配。若是发现日志文件中有:“SASL LOGIN authentication failed”的时候,就会把相应的IP地址提取出来,而后调用iptables,对其进行DROP。
配置好后,重启fail2ban服务。过个10分钟就会发现iptables里有一些ip地址被DROP了。
一直到如今都没有再出现暴力破解的状况了。