Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

时间:2022-06-01 18:29:43

Nginx+Lua的安全waf防火墙

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

看一下别人写好的:https://github.com/loveshell/ngx_lua_waf

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

先安装git:yum -y install git

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

在/opt/download下执行:git clone https://github.com/loveshell/ngx_lua_waf.git

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

这里如果不能克隆的话,手动下载再上传至服务器

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

把克隆下来的ngx_lua_waf下的所有文件,移到/etc/nginx/waf下

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

修改配置文件中的两个路径

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

wafconf下的文件就是对个位置的拦截规则,可以根据实际情况增加修改

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

集成这个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详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

检查语法,并重载
nginx -tc /etc/nginx/nginx.conf
nginx -s reload -c /etc/nginx/nginx.conf

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

访问之前SQL注入的页面,再次注入SQL,还是成功,这是因为防火墙规则里面没有配此规则

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

新加一条规则:\sor\s+

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

重启一下nginx

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

再次注入SQL,被拦截

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

正常用户可以登录

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

waf防火墙之CCDeny:用于控制单个IP访问频率

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

重启nginx

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

先试一下访问一个配好的url,看能不能访问,不能访问就看看哪里配错了

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

跑个并发,再访问url,就会返回503,即已经被CCDeny控制住了

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙

Nginx详解二十八:Nginx架构篇Nginx+Lua的安全waf防火墙