很多时候,新架设好的服务器,我们会在第一时间将ping禁止掉,以及一些不常用的端口都予以关闭。但随着网站的搭建,或是通过代理,或是直接访问,总会有人想尽办法,知道服务器的IP地址,当我们的linux主机一暴露在互联网上,就会遭受到来自网络上的一些非法用户的骚扰。如弱口令扫描,试探性登录;这些行为对linux主机构成一定的威胁。那怎样防范此类的攻击了,这里写了一个脚本,功能就是将非法用户拒之门外。
原理:获取尝试登录linux主机用户的IP,切登录失败次数超过10以上, 就认为此类IP为非法用户登录,然后将其IP追加到iptables规则中进行过滤,使其不能与linux主机通讯,系统每隔10分钟执行一次。
#/bin/bash
rm -f /data/ip.txt 2>/dev/null
/sbin/iptables -F
cat /var/log/secure|awk '/Failed/{print $(NF-3)}’|sort|uniq -c|awk '{print $1,$2}’>/data/ip.txt
for i in `cat /data/ip.txt|awk '{if($1>=10) {print $2}}’`
do
/sbin/iptables -I INPUT -p all -s ${i} -j DROP;sleep 1
done
crontab -e
*/10 * * * * /data/ip.sh > /dev/null 2>&1
登录linux主机用户的IP,切登录失败次数超过10以上, 就认为此类IP为非法用户登录,然后将其IP追加到iptables规则中进行过滤,使其不能与linux主机通讯,系统每隔10分钟执行一次。
虽然,这样子设定之后,还是会有人会不停地更换外网IP来进行试探,或是使用VPN,但屏蔽过后,总比完全不设防要好... ...