Nginx+iptables 防DDOS,恶意访问,采集器(1)


Nginx+iptables 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了,并且屏蔽效果更好。


相关内容