iptables禁止指定ip登陆

今天在折腾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最大文件那个之后跑的):图1
简直丧心病狂有木有!!!感觉到来自世界深深的恶意。。

对付的办法是先从登陆日志文件 /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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章