寶塔面板配置NGINX,默認的寶塔面板是安裝了ngx_lua_waf模塊的,在5.9版本中面板集成的waf,所以可以在5.9版本的nginx中看到過濾器這個功能,并且可以設置。
在6.X版本中,寶塔面板還是編譯了ngx_lua_waf模塊,該如何在寶塔面板6.X中開啟隱藏的nginx防火墻。
部分源代碼:
- http
- {
- include mime.types;
- #include luawaf.conf;
對寶塔面板注釋了#include luawaf.conf,只需要去掉#即可開啟隱藏的防火墻。
第一:NGINX配置修改
1、打開(軟件管理 > Nginx > 設置 > 配置修改) 2、在源碼中找到如下內容:#include luawaf.conf;
去掉前面的 # 符號(“#”代表注釋),保存并重啟 Nginx。如圖:
3、重新加載nginx,即可開啟WAF防火墻。
進行訪問測試http://你的網址/?id=…/etc/passwd,頁面會彈出攔截提示,如下圖:
第二:配置規則
打開面板的文件管理,進入 /www/server/nginx/waf 目錄,里面的 config.lua 文件就是防火墻的配置文件。每一項的具體含義如下所示:
RulePath="/www/server/panel/vhost/wafconf/"–waf 詳細規則存放目錄(一般無需修改) attacklog =“on”–是否開啟攻擊日志記錄(on 代表開啟,off 代表關閉。下同) logdir ="/www/wwwlogs/waf/"–攻擊日志文件存放目錄(一般無需修改) UrlDeny=“on”–是否開啟惡意 url 攔截 Redirect=“on”–攔截后是否重定向 CookieMatch=“off”–是否開啟惡意Cookie攔截 postMatch=“off”–是否開啟 POST 攻擊攔截 whiteModule=“on”–是否開啟 url 白名單 black_fileExt={“php”,“jsp”}–文件后綴名上傳黑名單,如有多個則用英文逗號分隔。如:{“后綴名1”,“后綴名2”,“后綴名3”……} ipWhitelist={“127.0.0.1”}–白名單 IP,如有多個則用英文逗號分隔。如:{“127.0.0.1”,“127.0.0.2”,“127.0.0.3”……}下同 ipBlocklist={“1.0.0.1”}–黑名單 IP CCDeny=“off”–是否開啟 CC 攻擊攔截 CCrate=“300/60”–CC 攻擊攔截閾值,單位為秒。"300/60"代表60秒內如果同一個 IP 訪問了300次則拉黑
配置文件中,RulePath 項對應的文件夾里存放的是具體的攔截規則。文件夾下有著相關的規則文件。作用解析如下:
args --GET 參數攔截規則 blockip --無作用 cookie --Cookie攔截規則 denycc --無作用 post --POST 參數攔截規則 returnhtml --被攔截后的提示頁面(HTML) url --url 攔截規則 user-agent --UA 攔截規則 whiteip --無作用 whiteurl --白名單網址
文件中除 returnhtml(攔截提示頁面)以外,其它的內容都是正則規則的,除非正則比較好,否則就不要隨便更改。如圖:
修改內容必須,重新加載 Nginx。
備注信息: 1、其實這個“免費”的防火墻就是大名鼎鼎的 ngx_lua_waf。非寶塔面板用戶也可以自己動手安裝。詳情請參閱:https://github.com/loveshell/ngx_lua_waf
2、寶塔面板那個收費的防火墻跟這個還是完全不一樣的。功能上更加完善,使用起來更加方便。如果你有錢,也可以直接買個收費版~
原文地址:https://blog.csdn.net/zhuxiongyin/article/details/98174377