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控制住了


