您的位置:首页 > 其它

防止ssh暴力破解的脚本

2012-10-12 10:04 645 查看
防止ssh暴力破解的脚本
最近在公司测试机上查看log /var/log/secure 发现好多Failed的ip,为了防止黑客暴力破解我们的系统,特意写了一个防止ssh暴力破解的脚本。
此脚本主要是查看/var/log/secure里面的Failed的ip,超过多少次之后就加入到hosts.deny中。脚本中去除了内网的ip地址。然后把脚本防止crontab里面运行就可以了。
脚本如下:
#! /bin/bash

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /tmp/ip.txt
DEFINE="10"
for i in `cat  /tmp/ip.txt`;do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $DEFINE ] && [ -z "`grep $IP /etc/hosts.deny`" ];then
if [ -z "`echo $IP | grep 172.16.1`" ];then
echo "sshd:$IP" >> /etc/hosts.deny
echo "`date +%F" "%H:%M` $IP($NUM)" >> /var/log/deny_ip.log
fi
fi
done

加入到crontab,每5分钟执行一次。
#crontab -e

###防止ssh暴力破解#####

*/5 * * * * /bin/sh /usr/home/pro/script/denyhost.sh

其实还有开源的工具可以用,如denyhost。我自己为了快捷就写了脚本。

地址如下:wget http://imcat.in/down/DenyHosts-2.6.tar.gz
本文出自 “梦想照进现实” 博客,请务必保留此出处http://zhhmj.blog.51cto.com/1666742/1021909
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: