VPS侦探论坛

标题: Nginx+iptables 防DDOS,恶意访问,采集器 [打印本页]

作者: licess    时间: 2010-4-19 15:35
标题: 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了,并且屏蔽效果更好。

单个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 数字
作者: 5566    时间: 2010-11-23 16:02
不知 腳本 該建立在?
作者: licess    时间: 2010-11-23 16:21
标题: 回复 2# 的帖子
nano 、vi、winscp等都可以。
https://www.vpser.net/manage/nano.html
https://www.vpser.net/manage/winscp.html
作者: hualove    时间: 2011-1-21 02:45
会不会蜘蛛也被屏蔽?
作者: sky11    时间: 2011-2-9 12:01
這lnmp0.5能用嗎 ?
作者: licess    时间: 2011-2-9 12:59
标题: 回复 5# 的帖子
修改一下上面的nginx和日志的目录就可以
作者: bojjn    时间: 2011-3-20 07:16
期待楼主将类似的脚本放到lnmp或lnamp包中。方便大家使用。
作者: ronald    时间: 2011-5-7 14:19
同意楼上,毕竟对于我等菜鸟的网站会安全点。
作者: cindydean89    时间: 2011-8-15 16:57

多谢楼主分享




欢迎光临 VPS侦探论坛 (https://bbs.lnmp.com/) Powered by Discuz! X3.4