Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问
2013-07-01 09:36
483 查看
通过分析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}
通过分析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 数字 |
相关文章推荐
- Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
- Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
- Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
- Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
- Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
- Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)
- Nginx屏蔽访问过于频繁的IP
- Nginx屏蔽访问过于频繁的IP
- Nginx+iptables 防DDOS,恶意访问,采集器
- nginx屏蔽恶意访问IP
- nginx禁止IP访问跳到指定页面
- nginx让用户通过用户名密码认证访问web页面
- nginx让用户通过用户名密码认证访问web页面
- 禁止通过ip直接访问网站来防止恶意解析-(apache,nginx,iis)
- nginx让用户通过用户名密码认证访问web页面
- nginx让用户通过用户名密码认证访问web页面
- Nginx 禁止直接使用IP或未绑定的域名访问Web服务器
- 通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx
- nginx让用户通过用户名密码认证访问web页面
- 配置Nginx防止直接用IP访问Web服务器