代码改变世界

防止网站被抓

2014-09-23 12:02  cmsd  阅读(397)  评论(0编辑  收藏  举报

网站可能被同行朋友来抓站,或者ddos攻击所以必须做出相应的策略

 

1. 使用 fail2ban

fail2ban是通过扫描log来异步判断是否用iptable封禁的,所以对原系统影响比较小,而且不需要重新配置nginx。不过不知道访问量太大是否撑得住。

首先在/etc/fail2ban/jail.conf里加入

[http-get-dos]
enabled = true
port = http,https
filter = nginx-bansniffer
logpath = /usr/local/nginx/logs/segmentfault.log
maxretry = 120
findtime = 120
bantime = 3600
action = iptables[name=HTTP, port=http, protocol=tcp]

然后新建/etc/fail2ban/filter.d/nginx-bansniffer.conf,原来一个nginx的配置文件和这个类似

[Definition]

failregex = <HOST> -.*- .*HTTP/1.* .* .*$
ignoreregex =

最后重启fail2ban服务即可,在上面的配置中,我们对每120秒有超过120次访问的ip,封禁1小时。

 

 

2. ngx-lu-waf脚本  https://github.com/loveshell/ngx_lua_waf

nginx需要重新安装使之支持ngx-lua模块

部署地址 http://www.ttlsa.com/nginx/nginx-modules-ngx_lua/

            http://blog.slogra.com/post-497.html