一.安装nginx
二.安装luajit2.0
三.安装ngx_devel_kit
#wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar.gz --no-check-certificate#tar -zxvf v0.2.19四.安装nginx_lua_module
五.编译nginx
七.安装配置nginx_lua_waf
1.安装wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip --no-check-certificateunzip mastercd ngx_lua_waf-master/mkdir /usr/local/nginx/conf/wafmv * /usr/local/nginx/conf/waf/
2.配置
lua_need_request_body on; lua_package_path "/usr/local/nginx/conf/waf/?.lua";lua_shared_dict limit 10m;init_by_lua_file /usr/local/nginx/conf/waf/init.lua; access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;
3.config.lua配置说明config.lua配置文件说明:
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
--规则存放目录attacklog = "off"--是否开启攻击信息记录,需要配置logdirlogdir = "/usr/local/nginx/logs/hack/"--log存储目录,该目录需要用户自己新建,切需要nginx用户的可写权限UrlDeny="on"--是否拦截url访问Redirect="on"--是否拦截后重定向CookieMatch = "on"--是否拦截cookie攻击postMatch = "on" --是否拦截post攻击whiteModule = "on" --是否开启URL白名单ipWhitelist={"127.0.0.1"}--ip白名单,多个ip用逗号分隔ipBlocklist={"1.0.0.1"}--ip黑名单,多个ip用逗号分隔CCDeny="on"--是否开启拦截cc攻击(需要nginx.conf的http段增加lua_shared_dict limit 10m;)CCrate = "100/60"--设置cc攻击频率,单位为秒.--默认1分钟同一个IP只能请求同一个地址100次html=[[Please go away~~]]--警告内容,可在中括号内自定义备注:不要乱动双引号,区分大小写
4.重启nginx
5.测试,访问网址 url/?id=../etc/passwd
参考网址:
http://blog.slogra.com/post-497.html