您的位置:首页 > 运维架构 > Linux

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

2013-03-26 08:13 741 查看

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

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

#/bin/bash

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

for i in `awk '{print $2}' /root/black.txt`

do

COUNT=`grep $i /root/black.txt | awk '{print \$1}'`

DEFINE="100"

ZERO="0"

if [ $COUNT -gt $DEFINE ];

then

grep $i /root/white.txt > /dev/null

if [ $? -gt $ZERO ];

then

echo "$COUNT $i"

iptables -I INPUT -p tcp -s $i -j DROP

fi

fi

done
2009年3月30日下午14:25分,用下列命令监控时:

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
※在这里衷心感谢3158的技术总监,谢谢您的帮助;监视端口视服务器性质而 定,web是80,mail25,其它以此类推;局域网下要测试此iptables的脚本的同志可用webbench模拟并发环境,然后启动此脚本检测其 有效性。好了,关于iptables的技巧及其它使用问题,欢迎来信交流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: