码迷,mamicode.com
首页 > 系统相关 > 详细

SSH防暴力破解shell脚本

时间:2015-03-09 19:27:51      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:ssh 暴力破解


    写的一个SSH的防暴力破解脚本。

    原理是检测SSH连接日志,过滤登录失败的IP,超过登录次数就将其添加进hosts.deny文件中,限制其登录。

    脚本如下:

    

#! /bin/bash
cat /var/log/secure|awk ‘/Failed/{print $(NF-3)}‘|sort|uniq -c|awk ‘{print $2"="$1;}‘ > /root/black.txt
DEFINE="10"
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


注意,Ubuntu和CentOS的SSH日志文件路径不一样:

/var/log/auth.log Ubuntu是这个文件

/var/log/secure CentOS是这个文件


然后添加进任务计划:

CentOS:

echo "* */1 * * * root sh /root/ssh_deny.sh" >> /var/spool/cron/root


Ubuntu:

echo "* */1 * * * root sh /root/ssh_deny.sh > /dev/null 2>&1" >> /var/spool/cron/crontabs/root
crontab /var/spool/cron/crontabs/root

由于Ubuntu默认的shell是dash,导致crontab不运行,我们就将默认shell改为bash就好了。

 rm /bin/sh
 ln -s /bin/bash /bin/sh




SSH防暴力破解shell脚本

标签:ssh 暴力破解

原文地址:http://jinglei1208.blog.51cto.com/2246261/1618526

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!