ngx_lua_waf基于ngx_lua的web應用防火牆,使用起來簡單,高性能和輕量級。
防止sql注入,本地包含,部分溢出,fuzzing測試,xss,SSRF等web攻擊
防止svn/備份之類檔案洩漏
防止ApacheBench之類壓力測試工具的攻擊
屏蔽常見的掃描黑客工具,掃描器
屏蔽異常的網絡請求
屏蔽圖檔附件類目錄php執行權限
防止webshell上傳
1、下載下傳ngx_devel_kit
2、下載下傳lua-nginx-module
3、安裝luajit
4、導入環境變量
5、編譯nginx子產品(注意增加子產品不需要make install)
6、下載下傳ngx_lua_waf
7、在nginx.conf的http字段内添加以下内容
8、最後重新開機nginx(reload也可以的)
9、驗證(看到如下圖即表示配置成功)

RulePath = "/usr/local/nginx/conf/waf/wafconf/"
--規則存放目錄
attacklog = "off"
--是否開啟攻擊資訊記錄,需要配置logdir
logdir = "/usr/local/nginx/logs/hack/"
--log存儲目錄,該目錄需要使用者自己建立,切需要nginx使用者的可寫權限
UrlDeny="on"
--是否攔截url通路(如果你用了phpmyadmin,開啟此項會有問題)
Redirect="on"
--是否攔截後重定向
CookieMatch = "on"
--是否攔截cookie攻擊
postMatch = "on"
--是否攔截post攻擊(如果開啟,可能會導緻網站背景無法正常上傳檔案)
whiteModule = "on"
--是否開啟URL白名單
black_fileExt={"php","jsp"}
--填寫不允許上傳檔案字尾類型
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~~]]
--警告内容,可在中括号内自定義
備注:不要亂動雙引号,區分大小寫