新APP服务器上线,本着WEB+PHP+Nodejs+Golang+运维(小公司装逼)一肩挑,忽然发现有IP大量的请求ssh登录(还精心一分钟登录一次。。。。。。)。查了一下/var/log/secure,发现各种IP各种尝试root登录,遂Bing了一下,获得一个直接的解决办法,方便快速搞的定。
#!/bin/bash
num=10 #上限
for i in `awk '/Failed/{print $(NF-3)}' /var/log/secure|sort|uniq -c|sort -rn|awk '{if ($1>$num){print $2}}'`
do
iptables -I INPUT -p tcp -s $i --dport 22 -j DROP
done
# 也可以在/etc/hosts.deny里加上sshd:{ip}:deny
# 加入crontab计划任务
# 每2小时执行一次
# crontab -e
# * */2 * * * sh /path/file.sh