首页 > 代码库 > 禁止掉非法IP登陆服务器

禁止掉非法IP登陆服务器

今天查看线上服务器日志/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

未完待续。。。。

禁止掉非法IP登陆服务器