背景:最近在阿里云机器上发现好多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