首页 » Linux » 阅读文章

iptables+Nginx来防采集器、恶意访问、DDOS

2012-03-03 09:35 8127 0 发表评论
标签:

用iptables+Nginx来防采集器、恶意访问、DDOS的骚扰,这些骚扰非常讨厌,想了个办法供大家参考:

通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx

脚本如下:

#!/bin/sh

nginx_home = /Data/app_1/nginx

log_path = /Data/logs

/usr/bin/tail -n50000 $log_path/access.log \

|awk ‘$8 ~/aspx/{print $2,$13}’ \

|grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \

|awk ‘{print $1}’|sort|uniq -c |sort -rn \

|awk ‘{if($1>150)print “deny “$2″;”}’> $nginx_home/conf/vhosts/blockip.conf

/bin/kill -HUP `cat $nginx_home/nginx.pid`

也可以通过分析nginx日志过滤出频繁访问IP,直接用iptables屏蔽这个IP,就用不着重启nginx了,并且屏蔽效果更好。
单个IP的命令是

iptables -I INPUT -s 124.115.0.199 -j DROP

封IP段的命令是

iptables -I INPUT -s 124.115.0.0/16 -j DROP

封整个段的命令是

iptables -I INPUT -s 194.42.0.0/8 -j DROP

封几个段的命令是

iptables -I INPUT -s 61.37.80.0/24 -j DROP

iptables -I INPUT -s 61.37.81.0/24 -j DROP

刚才不小心搞的自己都连不上了-_-!!!

iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP

以后用这种只封80端口就行了,不会出问题!

iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP

iptables -I INPUT -s 61.37.81.0/24 -j DROP

解封

iptables -F

清空

iptables -D INPUT 数字

___________________________________

#!/bin/sh

nginx_home = /usr/local/nginx

log_path = /home/wwwroot/logs

/usr/bin/tail -n50000 $log_path/access.log \

|awk ‘$8 ~/aspx/{print $2,$13}’ \

|grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \

|awk ‘{print $1}’|sort|uniq -c |sort -rn \

|awk ‘{if($1>150)print “deny “$2″;”}’> $nginx_home/conf/vhosts/blockip.conf

/bin/kill -HUP `cat $nginx_home/nginx.pid`

通过文章的介绍,我们找出了Nginx+iptables 防DDOS,恶意访问,采集器的办法,希望对你们有用!

本文地址:http://www.jwzzsw.com/archives/1073.html

文章作者:思悟
版权所有 © 转载时请以链接形式注明作者和原始出处!

评论 共0条 (RSS 2.0) 发表评论

  1. 暂无评论,快抢沙发吧。

发表评论

联系我 Contact Me

回到页首