1. 程式人生 > 實用技巧 >Linux 寶塔面板免費版開啟 waf 防火牆的方法

Linux 寶塔面板免費版開啟 waf 防火牆的方法

寶塔面板在 6.x 之前的版本中自帶了 Nginx 防火牆功能(Nginx管理 > 過濾器),到了 6.x 之後,,,為了推行收費版的防火牆外掛,寶塔官方把這個免費的防火牆入口給隱藏了。今天,就來說說如何開啟這個隱藏的 Nginx 防火牆!

方法

1、進入寶塔面板,開啟 軟體管理 > Nginx > 設定 > 配置修改;

2、找到大約在第 13 行的#include luawaf.conf;,去掉前面的 # 符號(“#”代表註釋),儲存並重啟 Nginx。

3、恭喜你,已經成功開啟了防火牆!可以試著訪問 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 才會生效

本文參與騰訊雲自媒體分享計劃,歡迎正在閱讀的你也加入,一起分享。