今天在折腾vps的时候,发现 /var/log/secure 文件很大,足足有40M,而且还有好几个分割的文件,都在10M,20M左右,一看就知道肯定有人在干坏事了(暴力破解来登陆你的系统)!
先贴个跑了 grep "Failed password for root" /var/log/secure* | awk '{print $11}' | sort | uniq -c | sort -nr| more
这个命令后的截图(PS,这个还是在我删了40M最大文件那个之后跑的):
简直丧心病狂有木有!!!感觉到来自世界深深的恶意。。
对付的办法是先从登陆日志文件 /var/log/secure
中分析出在进行暴力破解的ip,然后再通过 iptables
命令把相应的ip加入到禁止列表来禁止暴力破解的ip登陆系统。
写个小脚本如下:
#!/bin/bash
#分析登陆日志/var/log/secure 禁止失败过多的ip
#防止暴力破解
num=10 #失败次数,这个可以自己调
for i in `awk '/Failed/{print $(NF-3)}' /var/log/secure* |sort|uniq -c|sort -rn|awk '{if ($1>$num){print $2}}'`
do
iptables -I INPUT -p tcp -s $i --dport 22 -j DROP
done
执行一下就ok了。再加个定时任务跑一下,over。