2013年的脚本,今天拿出来备份一下。

vim /root/secure_ssh.sh

#!/bin/bash
cat /var/log/auth.log|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /tmp/blackIP.txt
TRYCOUNT="5"
for i in `cat /tmp/blackIP.txt`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $TRYCOUNT ];
then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];
then
echo "ALL:$IP:deny" >> /etc/hosts.deny
fi
fi
done

添加定时脚本,每分钟执行一次

crontab -e
添加*/1 * * * * sh /root/secure_ssh.sh

 开启日志

cron日志,这里记录一下如何ubuntu server如何查看crontab日志
crontab记录日志
修改rsyslog

sudo vim /etc/rsyslog.d/50-default.conf

cron.* /var/log/cron.log #将cron前面的注释符去掉
重启rsyslog

sudo

查看日志

tail -100f /var/mail/root
tail