背景:最近在阿里云机器上发现好多IP 天天各种疯狂访问,定时放个脚本配合iptables进行封禁,话不多说,直接上脚本了,针对 lastab 的

cat  /root/unlogin.sh 


#!/usr/bin/bash

source /etc/profile

lastb | awk '{print $3}' | grep ^[0-9] | uniq -c | awk '{print $1"="$2}' > /tmp/host

list=`cat /tmp/host`

for i in $list;do

       ip=`echo $i | awk -F= '{print $2}'`

       num=`echo $i | awk -F= '{print $1}'`

       if [[ $num -gt 5 ]];then

               echo "$(date +%F) $(date +%T)" >> /root/error_login.log

               echo $ip >> /root/error_login.log

               echo $ip >> /tmp/host_deny

               deny_ip=`cat /tmp/host_deny`

               for i in $deny_ip;do

                       /usr/sbin/iptables -I INPUT -s $i -j DROP

                       echo "$i 企图恶意登录,已封禁"

                       lastb >> /root/btmp

                       cat /dev/null > /var/log/btmp

                       rm -rf /tmp/host_deny

               done

       fi

done


加个定时就可以了,

*/2 * * * * /bin/sh  /root/unlogin.sh