fail2ban来防暴力破解

         十一放假归来后,也就是在1011号,在看日志的时候,我发现邮件服务器中的一个邮件帐户(不经常用)有问题,它一直在向外发送邮件,收件人是一些QQ号码,内容是:“恭喜您,获得星光大道节目的奖品”,里面还搞的有一个老毕的照片,当时看了我斗想笑。当我登陆进去一看,发件箱里已经有1千多封邮件了,并且还收到了QQ的退信通知。这个心里愁啊。。以前没有遇到过这种***。

         呵,没说的,先给公司领导说下,要把这个帐户的密码给改下。登陆邮件后台管理系统,把用户的密码给改了下。然后,再着用# tail -f /var/log/maillog来看,又发现有人一直在用这个帐户尝试登陆,里面全是这个帐户登陆失败的消息:authentication failed:authentication failure

         这很然是有人在暴力破解这个帐户的密码,而且源ip地址还是在不断的变化的,本来我还想用iptables来把这个源ipDROP掉,看来手工的来添加是根本不可行的。

         于是我就在网上搜索“Linux下防暴力破解的软件”,然后就找到了:fail2ban

         Fail2ban软件的安装我就不说了,网上多里很,来说下我是怎么设置的。因为安装好了以后,在设置这块,我又花了不少的时间来研究才解决。

         fail2ban安装完成以后,就可以实现ssh的防暴力破解。但是,要想实现fail2ban支持postfix的防暴力破解,那就还要在filter.d/postfix.conf中做相应的修改,如下(关键就在这儿):

         failregex = reject: RCPT from (.*)\[\]: 554
            .*LOGIN FAILED, .*, ip=\[\]$
            postfix\/smtpd.* warning:.*\[\]: SASL LOGIN authentication failed
            extmail.*: user=.*, client=, module=login, status=badlogin

 

这是一个对/var/log/maillog文件的一个正则匹配。如果发现日志文件中有:“SASL LOGIN authentication failed”的时候,就会把相应的IP地址提取出来,然后调用iptables,对其进行DROP

    配置好后,重启fail2ban服务。过个10分钟就会发现iptables里有一些ip地址被DROP了。

    一直到现在都没有再出现暴力破解的情况了。