記錄LNMP環境安裝配置ngx_lua_waf/WAF Web應用防火牆

目前,我們常用的無面板或者有面板的Linux Web環境在建站功能上已經是比較成熟和自動化,而且有幾款工具還能保持較新的軟件更新和安全升級。比如我們常用的LNMP WEB環境安裝包每年6.1都會有較大版本的更新,作爲這些軟件提供商在保有軟件的升級和一些功能之外,應該也在尋求更多的自動化和安全化。

筆者有看到LNMP一鍵包官方從1.5版本開始也有提供ngx_lua_waf/WAF功能,但是需要我們自行安裝和配置,畢竟並不是所有用戶都需要的。在這篇文章中,筆者將會實戰在一臺LNMP WEB環境中安裝ngx_lua_waf安全工具。其實對於WAF腳本我們應該有看到幾個迭代版本。目前官方提供的是由loveshell提供的版本。

記錄LNMP環境安裝配置ngx_lua_waf/WAF Web應用防火牆

對於WAF安全工具並不能說有多大的安全防護,但是對於基本的SQL注入、防止webshell上傳、屏蔽異常的網絡請求、屏蔽常見的掃描黑客工具,掃描器等還是有一定的作用的,如果涉及到其他攻擊行爲我們則需要在硬件上解決。

第一、Lua支持和安裝

1、LNMP從1.5版本開始是支持lua的,但是默認是沒有啓動。我們需要到lnmp.conf中Enable_Nginx_Lua後的參數爲 y 來啓用lua。

Lua支持和安裝

2、如果沒安裝lnmp,修改lnmp.conf後保存,安裝完lnmp就是支持lua。

3、如果已經安裝好lnmp,且版本較早需要升級,也是按前面修改lnmp.conf,然後lnmp安裝包目錄下 ./upgrade.sh nginx 升級nginx,輸入當前nginx版本號或更新的nginx版本號,升級完成就是支持lua。

第二、安裝ngx_lua_waf

1、下載安裝

wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip -O ngx_lua_waf.zip
unzip ngx_lua_waf.zip
mv ngx_lua_waf-master /usr/local/nginx/conf/waf

2、配置且啓動

編輯:

/usr/local/nginx/conf/nginx.conf

然後在"server_tokens off"下方添加代碼:

lua_package_path "/usr/local/nginx/conf/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file /usr/local/nginx/conf/waf/init.lua;

保存。

WAF配置到LNMP

3、添加到某個網站

如果我們需要添加到某個網站,則只需要在當前網站.conf文件中server文件目錄引用:

access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

WAF配置到當前網站

最後,我們重啓Nginx就可以:

lnmp nginx reload

4、測試是否生效

http://域名/test.php?id=../etc/passwd

在瀏覽器中打開當前添加WAF功能的網站,看看是否提示。

WAF攔截提示

第三、WAF參數修改設置

我們可以根據實際需求修改默認的配置:

/usr/local/nginx/conf/waf/config.lua

以上參數是默認設置的,我們也可以根據自己需要進行修改。

RulePath = "/usr/local/nginx/conf/waf/wafconf/"
--規則存放目錄
attacklog = "off"
--是否開啓攻擊信息記錄,需要配置logdir
logdir = "/usr/local/nginx/logs/hack/"
--log存儲目錄,該目錄需要用戶自己新建,切需要nginx用戶的可寫權限
UrlDeny="on"
--是否攔截url訪問
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~~]] --警告內容,可在中括號內自定義
備註:不要亂動雙引號,區分大小寫

根據我們實際需要修改,然後重新啓動Nginx生效。

最後,通過上面我們可以知道在LNMP系統中安裝和添加WAF WEB應用防火牆功能。對於普通的安全還是有一定的作用的,根據實際需要進行選擇安裝配置。

本文來自老部落:https://www.laobuluo.com/2082.html

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