今天查看线上服务器日志/var/log/secure发现有很多国外的ip尝试登陆服务器,以前一直没太注意这方面,作为系统管理员真是失职啊,虽然服务器已经设置了强密码,但是看到有人想搞你还是很不爽的。一开始的思路是通过防火墙,后来google到有比防火墙更简单粗暴的方法,就是通过/etc/hosts.deny配置文件就可以禁掉一些IP了,代码如下:
#!/bin/bash cat /var/log/secure|awk ‘/Failed/{print $(NF-3)}‘|sort|uniq -c|awk ‘{print $2"="$1;}‘ > /root/black.txt Counts="2" for item in `cat /root/black.txt` do IP=`echo $item | awk -F= ‘{print $1}‘` NUM=`echo $item | awk -F= ‘{print $2}‘` if [ $NUM -gt $Counts ];then grep $IP /etc/hosts.deny >/dev/null if [ $? -gt 0 ];then echo "sshd:$IP:deny" >>/etc/hosts.deny fi fi done
未完待续。。。。
时间: 2024-11-08 15:40:34