SSH 登录错误超时次数自动加入ip黑名单

一般地 在/var/log/secure可以看到登陆的情况 在/var/log/btmp中可以查看到登陆失败的记录(可通过lastb命令进行检查) 在/var/log/lastlog中可以查看最近登陆的记录 (可通过last命令进行检查) 也可通过who检查当前在线用户

如果在ssh的配置文件里(一般在/etc/ssh/sshd_config)和syslog配置文件中对日志文件做过定制的话那么需要根据具体情况定位日志文件

ssh 防止被暴力破解,自动拉黑IP脚本

上代码。secure_ssh.sh
#! /bin/bash
cat /var/log/secure|awk /Failed/{print $(NF-3)}|sort|uniq -c|awk {print $2"="$1;} > /home/secure/black_list.txt
for i in `cat  /home/secure/black_list.txt`
do
  IP=`echo $i |awk -F= {print $1}`
  NUM=`echo $i|awk -F= {print $2}`
   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

增加定时任务检测

/var/spool/cron下用户文件,增加:

*/5 * * * * sh /home/secure/secure_ssh.sh >> /home/secure/secure.log

每五分钟执行一次。

经验分享 程序员 微信小程序 职场和发展