SSH防暴力破解脚本

目录 Linux
SSH防暴力破解脚本-下一朵云

服务器在云端,一直被暴力破解密码,日志很多登录失败在不停尝试密码的IP,于是写了个脚本,将登录失败5次的IP拉入黑名单

/usr/local/bin下新建脚本protect.sh

脚本内容如下:

#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
for i in `cat  /usr/local/bin/black.txt`
do
  IP=`echo $i |awk -F= '{print $1}'`
  NUM=`echo $i|awk -F= '{print $2}'`
# 登录错误次数超过5次,拉入黑名单
   if [ $NUM -gt 5 ];then
      grep $IP /etc/hosts.deny > /dev/null
    if [ $? -gt 0 ];then
      echo "sshd:$IP:deny" >> /etc/hosts.deny
    fi
  fi
done

给脚本可执行权限

chmod a+x protect.sh

使用系统自带的crontab任务管理器指定脚本每2分钟执行一次

crontab -e
*/2 * * * * sh /usr/local/bin/protect.sh > /dev/null 2>&1                                                         

脚本执行后,在/usr/local/bin下的black.txt文件中可以查看已经拉黑的IP地址

SSH防暴力破解脚本-下一朵云