Skip to content

Instantly share code, notes, and snippets.

@sparkydogX
Last active December 12, 2019 02:55
Show Gist options
  • Save sparkydogX/1837a6e1a2286df9b2d03e9aa798f360 to your computer and use it in GitHub Desktop.
Save sparkydogX/1837a6e1a2286df9b2d03e9aa798f360 to your computer and use it in GitHub Desktop.
将ssh登录错误次数过多的ip加入黑名单
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.list
for i in `cat /usr/local/bin/black.list`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ ${#NUM} -gt 1 ]; then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done
@sparkydogX
Copy link
Author

sparkydogX commented Dec 9, 2018

允许的错误连接次数是10次, 在crontab里面添加 */10 * * * * sh /usr/local/bin/autodeny.sh 可以每10分钟运行一次

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment