如果你的做網(wǎng)站用的是NGINX配置服務(wù)器的,那默認(rèn)的寶塔面板NGINX服務(wù)器,是安裝了ngx_lua_waf模塊的,NGINX面板集成了這個簡易waf,所以我們可以在nginx中看到過濾器這個功能,并且可以設(shè)置。
寶塔面板閹割了很多功能,包括好用的過濾器等等。但是寶塔面板還是編譯了ngx_lua_waf模塊,下面來介紹下開啟隱藏的nginx防火墻。
第一:NGINX配置修改
1、打開
軟件管理 > Nginx > 設(shè)置 > 配置修改
2、找到大約在第 17 行左右的,如下:
#include luawaf.conf;
去掉前面的 # 符號(“#”代表注釋),保存并重啟 Nginx。如圖:

以上截圖是去掉了#號,然后可以測試下:http://你的網(wǎng)址/?cid=../etc/username,頁面會彈出攔截提示,如下圖:

第二:配置規(guī)則
如果已經(jīng)開啟了防火墻,那么規(guī)則在哪里?
打開面板的文件管理,進(jìn)入 /www/server/nginx/waf 目錄,里面的 config.lua 文件就是防火墻的配置文件。每一項的具體含義如下所示:
RulePath="/www/server/panel/vhost/wafconf/"--waf 詳細(xì)規(guī)則存放目錄(一般無需修改)attacklog ="on"--是否開啟攻擊日志記錄(on 代表開啟,off 代表關(guān)閉。下同)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"}--黑名單 IPCCDeny="off"--是否開啟 CC 攻擊攔截CCrate="300/60"--CC 攻擊攔截閾值,單位為秒。"300/60"代表60秒內(nèi)如果同一個 IP 訪問了300次則拉黑配置文件中,RulePath 項對應(yīng)的文件夾里存放的是具體的攔截規(guī)則。打開這個文件夾,可以看到里面有一些無后綴名的規(guī)則文件。其中每一個文件的作用如下:
args --GET 參數(shù)攔截規(guī)則blockip --無作用cookie --Cookie攔截規(guī)則denycc --無作用post --POST 參數(shù)攔截規(guī)則returnhtml --被攔截后的提示頁面(HTML)url --url 攔截規(guī)則user-agent --UA 攔截規(guī)則whiteip --無作用whiteurl --白名單網(wǎng)址這些文件里,除了 returnhtml(攔截提示頁面)以外,其它的內(nèi)容都最好不要改動,除非你正則學(xué)的比較好……否則很容易改出問題來。如圖:

如果改動了其中的內(nèi)容,記得要重啟 Nginx 才會生效哦?。。?!如果設(shè)置以上操作后,進(jìn)行網(wǎng)站添加資料時失敗的話,請把以上設(shè)置取消掉即可,或者再加上#號,如#include luawaf.conf。
