寶塔面板開啓隱藏的 waf 防火牆的方法

寶塔配置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、寶塔面板那個收費的防火牆跟這個還是完全不一樣的。功能上更加完善,使用起來更加方便。如果你有錢,也可以直接買個收費版~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章