日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

读“ModSecurity配置关键字说明”之摘抄

發(fā)布時間:2024/1/23 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读“ModSecurity配置关键字说明”之摘抄 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

通用格式

?SecRule VARIABLES OPERATOR [TRANSFORMATION_FUNCTIONS, ACTIONS]

階段phase

? (1) request headers

? (2) request body

? (3) response headers

? (4) response body

? (5) logging

??

一、變量variable

? 綠色:請求變量? 藍(lán)色:server變量 紫色:響應(yīng)變量 紅色:請求體解析變量 黑色:時間變量? 橙色:實體變量

? ?

ModSecurity????

ARGS 請求參數(shù),類型read-only collection
ARGS_COMBINED_SIZE 請求參數(shù)的總大小
ARGS_NAMES 請求參數(shù)的名字,類型read-only collection
ARGS_GET 查詢字符串參數(shù),類型read-only collection
ARGS_POST 請求體參數(shù),類型read-only collection
ARGS_POST_NAMES 請求體參數(shù)的名字,類型read-only collection
FILES 上傳文件域,類型read-only collection
FILES_COMBINED_SIZE 上傳文件大小
FILES_NAMES 上傳文件表單文件域參數(shù)的名字,類型read-only collection
FILES_SIZES上傳文件的大小,類型read-only collection
FILES_TMPNAMES 文件臨時名字,類型read-only collection
PATH_INFO URI path
QUERY_STRING 查詢字符串
REQUEST_BASENAME URI basename,同時支持/與\這兩種文件分隔符
REQUEST_BODY 請求體,默認(rèn)處理application/x-www-form-urlencoded請求
REQUEST_COOKIES cookie參數(shù)
REQUEST_COOKIES_NAMES cookie參數(shù)的名字,類型read-only collection
REQUEST_COOKIES_FILENAME URI filename/path
REQUEST_HEADERS 請求頭,類型read-only collection
REQUEST_HEADERS_NAMES 請求頭參數(shù)的名字,類型read-only collection
REQUEST_LINE 請求行
REQUEST_METHOD 請求方法
REQUEST_PROTOCOL 請求協(xié)議
REQUEST_URI 請求URI,但不包括hostname
REQUEST_URI_RAW請求URI,包括hostname
?
AUTH_TYPE 認(rèn)證類型,代理模式下非本地認(rèn)證,需要指定Authorization頭
REMOTE_ADDR 遠(yuǎn)程地址,訪問者ip
REMOTE_HOST 遠(yuǎn)程host,訪問者h(yuǎn)ostname,當(dāng)HostnameLookUps開啟時,為dns解析的域名,否則為ip地址
REMOTE_PORT 遠(yuǎn)程端口,訪問者端口
REMOTE_USER 訪問者用戶名
SERVER_ADDR 服務(wù)端地址
SERVER_NAME 服務(wù)端hostname,取值Host請求頭
SERVER_PORT 服務(wù)端端口
SCRIPT_BASENAME 腳本basename,代理模式不可用
SCRIPT_FILENAME 腳本filename,代理模式不可用
SCRIPT_GID 腳本group ID,代理模式不可用
SCRIPT_GROUPNAME 腳本group name, 代理模式不可用

SCRIPT_MODE 腳本權(quán)限,代理模式不可用

1? ?表示可執(zhí)行

2? ?表示可寫

4? ?表示可讀

7? ?表示可讀可寫可執(zhí)行

SCRIPT_UID 腳本user ID,代理模式不可用
SCRIPT_USERNAME 腳本user name,代理模式不可用
RESPONSE_BODY 響應(yīng)體
RESPONSE_CONTENT_LENGTH 響應(yīng)實體長度,單位bytes
RESPONSE_CONTENT_TYPE 響應(yīng)實體類型,僅僅在phase3可用

RESPONSE_HEADERS 響應(yīng)頭,類型read-only collection

在內(nèi)嵌模式中,像那種會優(yōu)先將數(shù)據(jù)發(fā)送給客戶端的響應(yīng)頭是不可獲得的,例如Server,Date,Connection,Content-Type

在代理模式中,階段5可用

RESPONSE_HEADERS_NAMES 響應(yīng)頭參數(shù)的名字,類型read-only collection

在內(nèi)嵌模式中,像那種會優(yōu)先將數(shù)據(jù)發(fā)送給客戶端的響應(yīng)頭是不可獲得的,例如Server,Date,Connection,Content-Type

在代理模式中,階段5可用

RESPONSE_PROTOCOL 響應(yīng)協(xié)議
RESPONSE_STATUS 響應(yīng)碼,僅代理模式可用

TX 事件內(nèi)變量,類型read/write collection

當(dāng)使用operator @rx或@pm時,TX:0表示capture action捕獲的變量 TX:1-TX:9:表示capture action捕獲的子串

RULE rule元數(shù)據(jù),類型read/write collection, 用于設(shè)置Rule對象的屬性:id,rev,severity,logdata,msg

SESSION session數(shù)據(jù),類型read/write collection

僅當(dāng)setsid action執(zhí)行后使用,session對象的屬性,SCORE得分,BLOCKED是否阻塞

GEO geo信息,類型read-only collection
ENV 環(huán)境變量,類型read-only collection,但可以使用setvar來修改變量的值
GLOBAL 全局變量,類型read/write collection
IP 存儲的ip數(shù)據(jù),類型read/write collection
USER user數(shù)據(jù),類型read/write collection
XML xml dom相關(guān)的,類型read-only collection
HIGHEST_SEVERITY 嚴(yán)重級別,值越小級別越高,255表示未設(shè)置嚴(yán)重級別
MATCHED_VAR 最近一次匹配的變量
MATCHED_VAR_NAME 最近一次匹配的變量的名字
MODSEC_BUILD modsecurity版本號

SESSION_ID sessionID

USERID user ID
WEBAPPID web app ID
WEBSERVER_ERROR_LOG server產(chǎn)生的錯誤信息

TIME HH:mm:ss
TIME_DAY 1-31
TIME_EPOCH
TIME_HOUR 0-23
TIME_MIN 0-59
TIME_MON 0-11
TIME_SEC 0-59
TIME_WDAY 0-6
TIME_YEAR?
DURATION 時間花費,milliseconds
MULTIPART_BOUNDARY_QUOTED multipart 解析錯誤;boudnary中有引號
MULTIPART_BOUNDARY_WHITESPACE multipart解析錯誤:boudnary中有空格
MULTIPART_CRLF_LF_LINES multipart 解析錯誤:混合使用\r\n與\n作為分界線,當(dāng)允許使用混合符號時設(shè)置為1
MULTIPART_DATA_BEFORE multipart 解析錯誤:第一個boudnary前有數(shù)據(jù)
MULTIPART_DATA_AFTER multipart 解析錯誤:最后一個boudnary后有數(shù)據(jù)
MULTIPART_HEADER_FOLDING multipart解析錯誤:boudnary中
MULTIPART_LF_LINE multipart解析錯誤:使用\n作為分界線
MULTIKPART_SEMICOLON_MISSIONG multipart解析錯誤:缺少分號

MULTIPART_STRICT_ERROR 當(dāng)以下值為1時,該值為1;

REQBODY_PROCESSOR_ERROR

MULTIPART_BOUNDARY_QUOTED

MULTIPART_BOUNDARY_WHITESPACE

MULTIPART_DATA_BEFORE

MULTIPART_DATA_AFTER

MULTIPART_HEADER_FOLDING

MULTIPART_LF_LINE 使用換行做分界線

MULTIPART_SEMICOLON_MISSING 分號缺失

MULTIPART_INVALID_QUOTING 無效引號

MULTIPART_INVALID_QUOTING multipart解析錯誤:無效引號
MULTIPART_UNMATCHED_BOUDNARY multipart解析錯誤:不合規(guī)范的boudnary,容易漏報
REQBODY_PROCESSOR 處理request解析,內(nèi)置的解析功能包括URLENCODED,MULTIPART,XML
REQBODY_PROCESSOR_ERROR request解析錯誤標(biāo)記,1表示錯誤,0表示ok
REQBODY_PROCESSOR_ERROR_MSG request解析錯誤信息
URLENCODED_ERROR 當(dāng)解析application/x-www-form-urlencoded格式的請求體出錯時值為1
二、操作符operator 綠色:字符串操作符? 藍(lán)色:數(shù)字操作符? 橙色:驗證操作符

ModSecurity
@beginsWith
@contains
@containsWord
@endsWith
@rx
@pm 特征字符串的匹配,大小寫不敏感,基于Aho-Corasick匹配算法
@pmFromFile 從文件讀取匹配特征字符串
@streq
@within
@eq
@ge
@gt
@le
@lt
@validateByteRange
@validateDTD XML相關(guān)
@validateSchema XML相關(guān)
@validateUrlEncoding
#validateUtf8Encoding
@geoLookup
#inspectFile 使用外部腳本處理
@rbl 去RBL REAL-TIME BLANKHOLE LISTS反垃圾郵件黑名單里查找ipv4地址,或hostname
@verifyCC

三、事件函數(shù)transform function

ModSecurity
base64Decode
base64Encode
compressWhitespace
cssDecode
escapeSeqDecode 解碼ANSI/C escape序列
hexDecode
hexEncode
htmlEntityDecode
jsDecode
length
lowercase
md5
none 移除當(dāng)前rule的所有transformation functions
normalizePath 移除掉多個斜杠
normalizePathWin 移除掉多個斜杠,但首先會將\(win正斜杠)轉(zhuǎn)化成/(linux反斜杠)
parityEven7bit
parityOdd7bit
parityZero7bit
removeNulls 刪除空字節(jié)
removeWhiteSpace 刪除空格字符
replaceComments 將c格式的注釋語句/*...*/轉(zhuǎn)換為空格ASCII 32
replaceNulls 將null字節(jié)轉(zhuǎn)換為空格ASCII 32
urlDecode
urlDecodeUni url解碼%uXXXX編碼范圍FF01-FF5E
urlEncode
sha1
trimLeft 移除左邊的空格
trimeRight移除右邊的空格
trim 移除左右兩端的空格

四、動作action

綠色:disruptive action (每個rule只能有1個disruptive action,如果有多個disruptive action,那么只有最后一個有效,在rule chain中,disruptive action只能出現(xiàn)在第一個rule中)

? 藍(lán)色:flow action? ? 紫色:metadata action? ? ?紅色:variable action? ? 黃色:logging action? ? 灰色:special action 黑色:其他

ModSecurity

allow

2.5版本之前是只影響當(dāng)前階段


2.5版本之后,遵守以下規(guī)則

(1) 如果單獨使用,除了log階段,其他階段都停止處理

(2) 如果和參數(shù)phase一起使用,allow將停止當(dāng)前階段的處理,其他階段不受影響

block 相當(dāng)于占位符,會被上下文的SecDefaultAction 指令中的動作取代
deny 使用錯誤頁面block當(dāng)前事務(wù)
drop 斷開網(wǎng)絡(luò)連接
pass 繼續(xù)執(zhí)行下一個規(guī)則
proxy 代理請求到后端web server
redirect 重定向請求到其他web server
chain 相當(dāng)于多個規(guī)則的and操作
skip 跳過指定的規(guī)則,值為跳過的規(guī)則個數(shù),不能跳過同一個規(guī)則鏈中的規(guī)則
skipAfter 調(diào)轉(zhuǎn)到指定的規(guī)則
id 設(shè)置規(guī)則ID
phase 指明處理階段
msg
rev 設(shè)置版本號
severity? 設(shè)置rule的嚴(yán)重級別,最好用文本來指定,v2.5.0版本已經(jīng)棄用
tag
capture 將捕獲結(jié)果存入TX變量,可以存儲10個變量,tx變量集合的下標(biāo)為0-9
deprecatevar 設(shè)置指定時間內(nèi)遞減數(shù)字型變量
expirevar 設(shè)置指定時間內(nèi)移除過期的變量
initcol 創(chuàng)建持久性collections,通常在階段1中設(shè)置
setenv 設(shè)置環(huán)境變量
setvar 設(shè)置變量
setuid 設(shè)置當(dāng)前事務(wù)的user ID
setsid 設(shè)置當(dāng)前事務(wù)的session ID
auditlog 將當(dāng)前事務(wù)記錄到log中

log

logdata
noauditlog
nolog
sanitiseArg 在日志中將指定的請求參數(shù)替換為*
sanitiseMatched 在日志中將指定的請求參數(shù),請求頭,響應(yīng)頭替換為*
sanitiseRequestHeader 在日志中將指定的請求頭替換為*
sanitiseResponseHeader 在日志中將指定的響應(yīng)頭替換為*
ctl 改變當(dāng)前事務(wù)的配置
multiMatch 每次變量發(fā)生變化會進(jìn)行以此匹配計算
t 在對變量做匹配操作前指定調(diào)用的事務(wù)處理函數(shù)
append 響應(yīng)體中注入內(nèi)容,該action必須開啟SecContentInjection指令
exec 執(zhí)行外部腳本或二進(jìn)制文件
pause 暫定事務(wù)處理
prepend 響應(yīng)體中注入內(nèi)容,該action必須開啟SecContentInjection指令
status action 為deny與redirect action時指定響應(yīng)碼
xmlns XML專用

五、指令directory

ModSecurity
SecRule
SecRuleInheritance
SecRuleRemoveById
SecRuleRemoveById
SecRuleUpdateActionById? 更新指定RuleID的rule action
SecRuleScript
SecMarker
SecAction
SecDefaultAction? ?設(shè)置默認(rèn)的action
六、常用操作符 ?|? 或者操作符? e.g.REQUEST_URI|REQUEST_PROTOCOL

?:? 數(shù)組取值操作符? eg.ARGS:p

?!? 非操作符? ?eg:ARGS|!ARGS:z

?@ 操作符函數(shù)調(diào)用? ?eg. @rx

?t? 事務(wù)函數(shù)調(diào)用? ?eg.t:lowercase

?&? 取數(shù)組個數(shù)符? ?eg.&ARGS @ge 1

?%{COLNAME.VARNAME} 變量擴(kuò)展符 eg.SecRule REQUEST_URI_RAW "!@beginsWith http://%{REQUEST_HEADERS.Host}" "drop,tag:'WEB_ATTACK/ILLEGALHTTPPROTOCOL',msg:'host header illegal',id:00001,phase:2"

總結(jié)

以上是生活随笔為你收集整理的读“ModSecurity配置关键字说明”之摘抄的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。