一、获取非法ip源:
扫描登录失败的日志:
less secure*|grep “Failed password for root from” >/tmp/gj.list
对扫描日志进行分析,非法尝试失败超过50的ip列出来,保存为gongji.ip
cat /tmp/gj.list|perl -anle ‘print $F[10]’|sort |uniq -c|sort -n |perl -anle ‘print $F[1] if $F[0]>50 ‘>/tmp/gongji.ip
二、安装ipset进行ip管理(略)
三、在ipset中创建一个ip组用于存放非法ip
ipset -N banip iphash
四、写个脚本本将ip加入banip分组
vim ipsetadd.sh
_input
=/tmp/gongji.ip
IPS=/usr/sbin/ipset
egrep -v "^#|^$" $_input | while IFS= read -r ip
do
$IPS -A banip $ip
done
执行sh ipsetadd.sh
五、iptables 禁止这些ip
iptables -I INPUT -m set –match-set banip src -p tcp -j DROP
ok,收工