服务器之家

服务器之家 > 正文

Nginx+iptables屏蔽访问Web页面过于频繁的IP(防DDOS,恶意访问,采集器)

时间:2019-10-09 16:36     来源/作者: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 数字

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部