Linux 有效防止SSH被暴力破解。 此脚本根据/var/log/secure 登陆错误日志信息进行判断进行封杀IP地址 |
#!/usr/bin/bash
LOG_NAME=/var/log/secure
LOG_DIR=/var/log
IP_LIST=/tmp/block.txt
DIFINE="3"
white_ip=
cd $LOG_DIR
/usr/bin/cat $LOG_NAME | awk '/Failed/{print $(NF-3)}' $LOG_NAME | sort -n | uniq -c | sort -nr | awk '{print $2"="$1}' > $IP_LIST
for i in $white_ip
do
sed -i '/$i/d' $IP_LIST
done
for i in `cat $IP_LIST`
do
IP=`echo $i | awk -F'=' '{print $1}'`
number=`echo $i |awk -F'=' '{print $2}'`
if [ $number -ge $DIFINE ]; then
grep $IP /etc/hosts.deny &> /dev/null
if [ $? -gt 0 ] ; then
echo "sshd:$IP" >> /etc/hosts.deny
fi
fi
done