记一个防止ssh暴力破解的shell脚本

博客很小,访问量也并不是很大,但是每天还是能看到很多IP在攻击博客,无奈装了web防火墙也做了一些必要的措施,对于通过博客程序的攻击还是有限的得到了扼制,但是后来发现每天都有很多不明IP在试图暴力登录博客,极度无赖之下查了各种资料,写了一个小的shell脚本,似乎还有点作用。

shell脚本内容:

#! /bin/bash

cat /var/log/auth.log | awk '/Failed/ {print $(NF-3)}' | uniq -d > /var/black
for IP in `cat /var/black`
do
  grep $IP /etc/hosts.deny > /dev/null
  if [ $? -gt 0 ]; then
    echo "$IP 正在试图暴力登录你的服务器,其IP已被屏蔽,请尽
快登录服务器处理!" | mail -s '服务器攻击预警'  '826554003@qq.com'
    echo "sshd:$IP:deny" >> /etc/hosts.deny
  fi
done

将上面内容另存为.sh格式文件,然后添加cronjob定时任务,每分钟检查一次。当有人通过ssh登录服务器并且密码错误次数大于1时就会触发警报,并屏蔽其IP。

使用到的命令:

cat: 点击查看使用方法

awk: 点击查看使用方法

uniq: 点击查看使用方法

grep: 点击查看使用方法

[注: 如果个人调试,建议先将自己的外网IP加入到hosts.allow中,不然被加入hosts.deny中就只能换别的地方才能登录到ssh了]

  • 支付宝二维码 支付宝
  • 微信二维码 微信
相关文章