最近查看secure 日志发现有几个ip地址不正常 尝试连接登陆服务器,所以写如下脚本将连接fail次数过多的ip禁止其使用ssh 登陆到服务器
#!/bin/bash
#This is a host.deny Shell Script
#2013-08-24
cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2 "=" $1;}' > /tmp/black_ip.txt
DEFINE=10
for i in `cat /tmp/black_ip.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
转载于:https://blog.51cto.com/only013/1539439