linux 防暴力破解用户密码脚本 自动拦截IP

创建 PwdGuessDefense.sh 放到 /script/下面, define=10 这个 可以改 ,如果IP错误登录次数达到这个值 就会被永久拦截
—————————————————————————————————————————–
#!/bin/bash
# Guess Password defense SHELL SCRIPT
#2013-6-24
cat /var/log/secure|awk ‘/Failed/{print $(NF-3)}’|sort|uniq -c|awk ‘{print $2″=” $1;}’ >/script/Denyhosts.txt
DEFINE=”10″
for i in `cat /script/Denyhosts.txt`
do
        IP=`echo $i|awk -F= ‘{print $1}’`
        NUM=`echo $i|awk -F= ‘{print $2}’`
        if [ $NUM -gt $DEFINE ]
        then
                grep $IP /etc/hosts.deny >/dev/null
                if [ $? -gt 0 ];
                then
                echo “sshd:$IP” >> /etc/hosts.deny
                fi
        fi
done
———————————————————————————————————————————-
设置定期运行,每隔5分钟
crontab -e
*/5 * * * * /script/PwdGuessDefense.sh