Nginx+Lua的安全waf防火墙
看一下别人写好的:https://github.com/loveshell/ngx_lua_waf
先安装git:yum -y install git
在/opt/download下执行:git clone https://github.com/loveshell/ngx_lua_waf.git
这里如果不能克隆的话,手动下载再上传至服务器
把克隆下来的ngx_lua_waf下的所有文件,移到/etc/nginx/waf下
修改配置文件中的两个路径
wafconf下的文件就是对个位置的拦截规则,可以根据实际情况增加修改
集成这个lua脚本:在nginx.conf里面加上以下四行配置
lua_package_path "/etc/nginx/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file /etc/nginx/waf/init.lua;
access_by_lua_file /etc/nginx/waf/waf.lua;
检查语法,并重载
nginx -tc /etc/nginx/nginx.conf
nginx -s reload -c /etc/nginx/nginx.conf
访问之前SQL注入的页面,再次注入SQL,还是成功,这是因为防火墙规则里面没有配此规则
新加一条规则:\sor\s+
重启一下nginx
再次注入SQL,被拦截
正常用户可以登录
waf防火墙之CCDeny:用于控制单个IP访问频率
重启nginx
先试一下访问一个配好的url,看能不能访问,不能访问就看看哪里配错了
跑个并发,再访问url,就会返回503,即已经被CCDeny控制住了