Nginx Openresty增加waf配置

2021-09-16 21:41:34 字數 2761 閱讀 5149

防止sql注入,本地包含,部分溢位,fuzzing測試,xss,ssrf等web攻擊

防止svn/備份之類檔案洩漏

防止apachebench之類壓力測試工具的攻擊

遮蔽常見的掃瞄黑客工具,掃瞄器

遮蔽異常的網路請求

遮蔽附件類目錄php執行許可權

防止webshell上傳

使用git

git clone

使用wget

wget

nginx安裝路徑假設為:/usr/local/nginx/conf/ ;以下都將以此配置為例進行說明

4.1. 在nginx.conf的http段新增
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;

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

4.2. 配置config.lua
--配置waf規則目錄

rulepath = "/usr/local/nginx/conf/waf/wafconf/"

--修改失敗提示

html=[[}]]

--開啟cc攻擊,需要在nginx.conf http 段配置lua_shared_dict

ccdeny="on"

ccrate = "50/1"

4.3. 其他詳細配置說明
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=

--填寫不允許上傳檔案字尾型別

ipwhitelist=

--ip白名單,多個ip用逗號分隔

ipblocklist=

--ip黑名單,多個ip用逗號分隔

ccdeny="on"

--是否開啟攔截cc攻擊(需要nginx.conf的http段增加lua_shared_dict limit 10m;)

ccrate = "100/60"

--設定cc攻擊頻率,單位為秒.

--預設1分鐘同乙個ip只能請求同乙個位址100次

html=[[please go away~~]]

--警告內容,可在中括號內自定義

替換sys_html 函式:

endend替換denycc 函式:

function denycc()

if ccdeny then

local uri=ngx.var.uri

cccount=tonumber(string.match(ccrate,'(.*)/'))

ccseconds=tonumber(string.match(ccrate,'/(.*)'))

local token = getclientip()..uri

local limit = ngx.shared.limit

local req,_=limit:get(token)

if req then

if req > cccount then

local ret=}

--ngx.header['content-type']="text/html;charset=utf-8"

ngx.say(json.encode(ret))

ngx.exit(200)

return true

else

limit:incr(token,1)

endelse

limit:set(token,1,ccseconds)

endend

return false

end

然後重啟nginx,或reload 即可:

/user/local/nginx/sbin/nginx -s reload

curl 

返回:} 說明生效

nginx Openresty安裝及使用

openresty是乙個全功能的 web 應用伺服器。它打包了標準的 nginx 核心,常用的第三方模組以及大多數依賴項。可以把它看成是nginx附加眾多的第三方外掛程式的合集。其主體是嵌入lua指令碼的支援,讓你能夠使用lua靈活地處理運算邏輯。此方式簡單,缺點是無法干預啟停外掛程式 yum in...

生活 增肌飲食原理,增肌食譜

要想增大肌肉塊就必頻給身體提供大量碳水化合物和蛋白質。碳水化合物用來提供能量,蛋白質用來 建造 肌肉塊。當你在增大肌肉塊階段提高熱量攝入時,體脂增長是自然的副產品。由於一夜沒有食物 身體急需熱量,尤其是碳水化合物,以便為頭幾個小時的工作提供能量。復合碳水化合物 燃燒 得很緩慢,能持久地提供能量,是較...

C 字首自增 字尾自增及過載

1.內建型別 字首式返回變數自增或自減之後的值,字尾式對變數進行增 減,但返回變數原來的值。字首自增生成左值,而字尾自增操作生成右值 左值 一定應著乙個位址,非const左值可讀可寫,占用一塊記憶體。可以出現在賦值操作左邊的值。右值 可用於賦值操作的右邊但不能用於左邊的值,只可讀不可寫,可能為con...