iptables简单防攻击脚本(自动过滤白名单)

来源:百度文库 编辑:神马文学网 时间:2024/04/29 06:16:08
iptables简单防攻击脚本(自动过滤白名单)

这里自动分析黑名单及白名单的iptables 脚本(此脚本直接从生产服务器上下载)即/root/deny_100.sh,脚本内容如下(white.txt为企业外网合法IP)

[root@mail ~]# cat /root/deny_100.sh
  1. #/bin/bash
  2. netstat -an| grep :80 | grep -v 127.0.0.1 |awk '{ print $5 }' | sort|awk -F: '{print $1}' | uniq -c | awk '$1 >100' > /root/black.txt
  3. for i in `awk '{print $2}' /root/black.txt`
  4. do
  5.       COUNT=`grep $i /root/black.txt | awk '{print \$1}'`
  6.       DEFINE="100"
  7.       ZERO="0"
  8.       if [ $COUNT -gt $DEFINE ];
  9.       then
  10.               grep $i /root/white.txt > /dev/null
  11.               if [ $? -gt $ZERO ];
  12.               then
  13.               echo "$COUNT $i"
  14.               iptables -I INPUT -p tcp -s $i -j DROP
  15.               fi
  16.       fi
  17. done
复制代码 2009年3月30日下午14:25分,用下列命令监控时:
  1. netstat -an| grep :25 | grep -v 127.0.0.1 |awk '{ print $5 }' | sort|awk -F: '{print $1}' | uniq -c | awk '$1 >100'
复制代码 1122 219.136.163.207
17 61.144.157.236

用http://www.ip138.com一查,发现
ip138.com IP查询(搜索IP地址的地理位置)
您查询的IP:219.136.163.207
本站主数据:广东省广州市 电信(荔湾区)
参考数据一:广东省广州市 电信(荔湾区)
参考数据二:广东省广州市荔湾区 电信ADSL

调用deny_100.sh后将此IP Drop掉,再运行./root/count.sh后无显示,显示成功,可用iptables –nL验证,所以将此安全脚本写进crontab里

*/1 * * * * root /bin/sh /root/deny_100.sh