#!/bin/bash
cat /var/log/secure | awk '/Failed/{print $ (NF -3)}' | sort|uniq -c | awk '{print $2 "=" $1;}' > /root/black.txt
DEFINE="20"
for i in `cat /root/black.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
服务器关闭不需要的端口,开启如22,80,其余端口关闭,效果挺好的。
转载于:https://blog.51cto.com/455178278/1239218