denyhost

一个可以把SSH连接错误超过5次的IP,自动添加到黑名单的脚本。有一定防扫描的功能,虽然说网上已经有类似的软件了,但还是想自己写个而已

 

#! /bin/bash 

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /tmp/denyhosts
 
cat /var/log/secure|awk '/Invalid user/{print $NF}'|sort|uniq -c|awk '{print $2"="$1;}' >> /tmp/denyhosts
 
TIMES="5" 
 
for i in `cat  /tmp/denyhosts` 
do 
        IP=`echo $i |awk -F= '{print $1}'` 
        NUM=`echo $i|awk -F= '{print $2}'` 
        if [ $NUM -gt $TIMES ]; 
        then 
         grep $IP /etc/hosts.deny > /dev/null 
          if [ $? -gt 0 ]; 
          then 
          echo "sshd:$IP" >> /etc/hosts.deny 
          fi 
        fi 
done
 

 

你可能感兴趣的:(职场,软件,休闲,黑名单,denyhost)