当我们的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分钟执行一次。