摘要:說(shuō)明防止注入,本地包含,部分溢出,測(cè)試,等攻擊防止備份之類文件泄漏防止之類壓力測(cè)試工具的攻擊屏蔽常見(jiàn)的掃描黑客工具,掃描器屏蔽異常的網(wǎng)絡(luò)請(qǐng)求屏蔽圖片附件類目錄執(zhí)行權(quán)限防止上傳下載使用使用安裝下載解壓后,將整放到目錄中,并命名為配置安裝路徑假
1. Ngx lua waf 說(shuō)明
防止sql注入,本地包含,部分溢出,fuzzing測(cè)試,xss,SSRF等web攻擊
防止svn/備份之類文件泄漏
防止ApacheBench之類壓力測(cè)試工具的攻擊
屏蔽常見(jiàn)的掃描黑客工具,掃描器
屏蔽異常的網(wǎng)絡(luò)請(qǐng)求
屏蔽圖片附件類目錄php執(zhí)行權(quán)限
防止webshell上傳
使用git
git clone https://github.com/loveshell/...
使用wget
3. 安裝wget https://github.com/loveshell/...
下載解壓后,將整 ngx_lua_waf 放到 nginx conf 目錄中,并命名為 waf;4. 配置
4.1. 在nginx.conf的http段添加nginx安裝路徑假設(shè)為:/usr/local/nginx/conf/ ;以下都將以此配置為例進(jìn)行說(shuō)明
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規(guī)則目錄 RulePath = "/usr/local/nginx/conf/waf/wafconf/" --修改失敗提示 html=[[{"retcode":"21000","messages":"請(qǐng)求失敗,請(qǐng)稍后再試","body":{}}]] --開(kāi)啟cc攻擊,需要在nginx.conf http 段配置lua_shared_dict CCDeny="on" -- 設(shè)置cc攻擊頻率,單位為秒 (如:同一個(gè)ip請(qǐng)求同一個(gè)地址,每秒最多請(qǐng)求50次) CCrate = "50/1"4.3. 其他詳細(xì)配置說(shuō)明
RulePath = "/usr/local/nginx/conf/waf/wafconf/" --規(guī)則存放目錄 attacklog = "off" --是否開(kāi)啟攻擊信息記錄,需要配置logdir logdir = "/usr/local/nginx/logs/hack/" --log存儲(chǔ)目錄,該目錄需要用戶自己新建,切需要nginx用戶的可寫(xiě)權(quán)限 UrlDeny="on" --是否攔截url訪問(wèn) Redirect="on" --是否攔截后重定向 CookieMatch = "on" --是否攔截cookie攻擊 postMatch = "on" --是否攔截post攻擊 whiteModule = "on" --是否開(kāi)啟URL白名單 black_fileExt={"php","jsp"} --填寫(xiě)不允許上傳文件后綴類型 ipWhitelist={"127.0.0.1"} --ip白名單,多個(gè)ip用逗號(hào)分隔 ipBlocklist={"1.0.0.1"} --ip黑名單,多個(gè)ip用逗號(hào)分隔 CCDeny="on" --是否開(kāi)啟攔截cc攻擊(需要nginx.conf的http段增加lua_shared_dict limit 10m;) CCrate = "100/60" --設(shè)置cc攻擊頻率,單位為秒. --默認(rèn)1分鐘同一個(gè)IP只能請(qǐng)求同一個(gè)地址100次 html=[[Please go away~~]] --警告內(nèi)容,可在中括號(hào)內(nèi)自定義5 修改 waf/init.lua 文件
替換sys_html 函數(shù):
function say_html() if Redirect then ngx.header.content_type = "text/html;charset=UTF-8" ngx.status = ngx.HTTP_FORBIDDEN ngx.say(html) ngx.exit(ngx.status) end end
替換denycc 函數(shù):
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 ngx.header.content_type = "application/json;charset=UTF-8" local ret={returncode="22000",messages="請(qǐng)求拒絕,請(qǐng)稍后再試",body={}} --ngx.header["Content-Type"]="text/html;charset=UTF-8" ngx.say(json.encode(ret)) ngx.exit(200) return true else limit:incr(token,1) end else limit:set(token,1,CCseconds) end end return false end6. 啟用waf
然后重啟nginx,或reload 即可: /user/local/nginx/sbin/nginx -s reload7. 測(cè)試
curl http://www.test.cn/test/index?id=../etc/passwd 返回:{"retcode":"21000","messages":"請(qǐng)求失敗,請(qǐng)稍后再試","body":{}} 說(shuō)明生效
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39526.html
摘要:說(shuō)明防止注入,本地包含,部分溢出,測(cè)試,等攻擊防止備份之類文件泄漏防止之類壓力測(cè)試工具的攻擊屏蔽常見(jiàn)的掃描黑客工具,掃描器屏蔽異常的網(wǎng)絡(luò)請(qǐng)求屏蔽圖片附件類目錄執(zhí)行權(quán)限防止上傳下載使用使用安裝下載解壓后,將整放到目錄中,并命名為配置安裝路徑假 1. Ngx lua waf 說(shuō)明 防止sql注入,本地包含,部分溢出,fuzzing測(cè)試,xss,SSRF等web攻擊防止svn/備份之類文件泄...
摘要:是一個(gè)基于的,提供及自定義規(guī)則的監(jiān)控和管理,如訪問(wèn)統(tǒng)計(jì)流量切分重定向防火墻等功能。第三方版的已在開(kāi)發(fā)中,屆時(shí)會(huì)伴隨一起發(fā)布。 Orange Orange是一個(gè)基于OpenResty的API Gateway,提供API及自定義規(guī)則的監(jiān)控和管理,如訪問(wèn)統(tǒng)計(jì)、流量切分、API重定向、WEB防火墻等功能。它有以下特性: 配置項(xiàng)支持文件存儲(chǔ)和MySQL存儲(chǔ)(0.2.0版本開(kāi)始將去除文件支持) ...
摘要:架構(gòu)篇一常見(jiàn)問(wèn)題相同多個(gè)虛擬主機(jī)優(yōu)先級(jí)訪問(wèn)三個(gè)配置文件配置上述相同的三個(gè)虛擬主機(jī),會(huì)先訪問(wèn),訪問(wèn)的優(yōu)先級(jí)是按照服務(wù)器的讀取順序,即文件名的排序。 Nginx-架構(gòu)篇 一、Nginx常見(jiàn)問(wèn)題 1. 相同server_name多個(gè)虛擬主機(jī)優(yōu)先級(jí)訪問(wèn) # 三個(gè)配置文件: # testserver1: server_name testserver1 www.rona1do.top; root...
閱讀 606·2021-11-15 11:38
閱讀 1205·2021-10-11 10:59
閱讀 3506·2021-09-07 09:58
閱讀 497·2019-08-30 15:44
閱讀 3535·2019-08-28 18:14
閱讀 2614·2019-08-26 13:32
閱讀 3524·2019-08-26 12:23
閱讀 2424·2019-08-26 10:59