應用程式閘道 Web 應用程式防火牆 (WAF) 中的 Azure 受控預設規則集 (DRS) 會主動保護 Web 應用程式免於常見的弱點和惡意探索。 這些規則集由 Azure 管理,會視需要接收更新,以防範新的攻擊簽章。 默認規則集也會納入 Microsoft 威脅情報收集規則。 Microsoft Intelligence 小組會共同撰寫這些規則、確保增強涵蓋範圍、特定弱點修補程式,以及改善誤判降低。
您也可以選擇使用以 OWASP 核心規則集 3.2 (CRS 3.2) 為基礎的規則。
您可以個別停用規則,或為每個規則設定特定動作。 本文列出可用的目前規則和規則集。 如果已發佈的規則集需要更新,我們會在這裡記載。
注意
當您在 WAF 原則中變更規則集版本時,您對規則集所做的任何現有自定義都會重設為新規則集的預設值。 請參閱: 升級或變更規則集版本。
默認規則集 2.1
默認規則集 (DRS) 2.1 會根據 Open Web Application Security Project (OWASP) 核心規則集 (CRS) 3.3.2 進行基準,並包含由 Microsoft Threat Intelligence 小組開發的額外專屬保護規則,以及簽章更新以減少誤判。 其也支援不僅僅是 URL 解碼的轉換。
DRS 2.1 提供新引擎和新的規則集,以防禦 Java 注入,包括一組初始的檔案上傳檢查項目,而且相較於 CRS 版本,誤判更少。 您也可以自訂規則以符合您的需求。 深入了解新的 Azure WAF 引擎。
DRS 2.1 包含 17 個規則群組,如下表所示。 每個群組都包含多個規則,您可以自訂個別規則、規則群組或整個規則集的行為。
威脅類型 | 規則組名 |
---|---|
一般 | 一般 |
鎖定方法 (PUT、PATCH) | 方法-執行 |
通訊協議和編碼問題 | 協議執行 |
標頭插入、請求走私和回應分割 | 通訊協議攻擊 |
檔案和路徑攻擊 | LFI |
遠端檔案包含攻擊(RFI) | 射頻干擾 |
遠端程式代碼執行攻擊 | RCE |
PHP 注入攻擊 | PHP |
Node JS 攻擊 | NodeJS |
Cross site scripting attacks (跨網站指令碼攻擊) | XSS |
SQL 插入式攻擊 | SQLI |
會話修正攻擊 | SESSION-FIXATION |
JAVA 攻擊 | SESSION-JAVA |
Web 殼攻擊 (MS) | MS-ThreatIntel-WebShells |
AppSec 攻擊 (MS) | MS-ThreatIntel-AppSec |
SQL 注入攻擊(MS) | MS-ThreatIntel-SQLI |
CVE 攻擊 (MS) | MS-ThreatIntel-CVEs |
DRS 2.1 的微調指引
當您開始使用應用程式閘道 WAF 上的 DRS 2.1 時,請使用下列指引來微調 WAF:
規則識別碼 | 規則群組 | 描述 | 建議 |
---|---|---|---|
942110 | SQLI | SQL插入式攻擊:偵測到常見的插入測試 | 停用規則 942110,由 MSTIC 規則取代99031001 |
942150 | SQLI | SQL 插入式攻擊 | 停用規則 942150,由 MSTIC 規則取代99031003 |
942260 | SQLI | 偵測到基本 SQL 驗證略過嘗試 2/3 | 停用規則 942260,由 MSTIC 規則取代99031004 |
942430 | SQLI | 受限制的 SQL 字元異常偵測 (args):超出的特殊字元數目 (12) | 停用規則 942430,它會觸發太多誤判 |
942440 | SQLI | 偵測到 SQL 註解順序 | 停用規則 942440,由 MSTIC 規則取代99031002 |
99005006 | MS-ThreatIntel-WebShells | Spring4Shell 互動嘗試 | 讓規則保持啟用以防止 SpringShell 弱點 |
99001014 | MS-ThreatIntel-CVEs | 嘗試 Spring Cloud routing-expression 插入 CVE-2022-22963 | 讓規則保持啟用以防止 SpringShell 弱點 |
99001015 | MS-ThreatIntel-WebShells | 嘗試使用 Spring Framework 不安全類別物件惡意探索 CVE-2022-22965 | 讓規則保持啟用以防止 SpringShell 弱點 |
99001016 | MS-ThreatIntel-WebShells | 嘗試 Spring Cloud 閘道傳動器插入 CVE-2022-22947 | 讓規則保持啟用以防止 SpringShell 弱點 |
99001017 | MS-ThreatIntel-CVEs | 嘗試 Apache Struts 檔案上傳惡意探索 CVE-2023-50164 | 將動作設定為 [封鎖] 以防止 Apache Struts 弱點。 此規則不支持異常分數 |
核心規則集 3.2
建議的受控規則集是預設規則集 2.1,這是根據 Open Web Application Security Project (OWASP) 核心規則集 (CRS) 3.3.2 進行基準,並包含由 Microsoft Threat Intelligence 小組開發的其他專屬保護規則,以及簽章更新以減少誤判。 作為 DRS 2.1 的替代方案,您可以使用以 OWASP CRS 3.2.0 版本為基礎的 CRS 3.2。
CRS 3.2 包括 14 個規則群組,如下表所示。 每個群組包含多個規則 (可加以停用)。
注意
CRS 3.2 僅適用於 WAF_v2 SKU。 由於 CRS 3.2 會在新的 Azure WAF 引擎上執行,因此您無法降級為 CRS 3.1 或更早版本。 如果您需要降級,請連絡 Azure 支援。
規則群組名稱 | 威脅類型 |
---|---|
一般 | 一般 |
新的和已知的 CVE 漏洞 | KNOWN-CVES |
鎖定方法 (PUT、PATCH) | REQUEST-911-METHOD-ENFORCEMENT |
網路埠與環境掃描器 | REQUEST-913-SCANNER-DETECTION |
通訊協議和編碼問題 | 請求-920-協議執行 |
標頭插入、請求走私和回應分割 | REQUEST-921-協定攻擊 |
檔案和路徑攻擊 | REQUEST-930-APPLICATION-ATTACK-LFI |
遠端檔案包含攻擊(RFI) | REQUEST-931-APPLICATION-ATTACK-RFI |
遠端程式代碼執行攻擊 | REQUEST-932-APPLICATION-ATTACK-RCE |
PHP 注入攻擊 | REQUEST-933-APPLICATION-ATTACK-PHP |
Cross site scripting attacks (跨網站指令碼攻擊) | REQUEST-941-應用程式攻擊-XSS |
SQL 插入式攻擊 | REQUEST-942-APPLICATION-ATTACK-SQLI |
會話修正攻擊 | REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION |
JAVA 攻擊 | REQUEST-944-APPLICATION-ATTACK-JAVA |
微調受控規則集
在 WAF 原則的偵測模式中,預設會啟用 DRS 和 CRS。 您可以停用或啟用受控規則集內的個別規則,以符合您的應用程式需求。 您也可以根據每個規則設定特定動作。 DRS/CRS 可支援區塊、記錄和異常評分等動作。 Bot Manager 規則集支援允許、封鎖和記錄動作。
有時您可能需要在 WAF 評估中略過特定要求屬性。 常見範例是用於驗證的 Active Directory 插入式權杖。 您可以在評估特定 WAF 規則時設定要套用的排除項目,或全域套用所有 WAF 規則的評估。 排除項目規則會套用至整個 Web 應用程式。 如需詳細資訊,請參閱具有應用程式閘道排除清單的 Web 應用程式防火牆 (WAF)。
根據預設,DRS 2.1 版/ CRS 3.2 版和更新版本會在要求符合規則時使用異常評分。 CRS 3.1 和以下版本預設會封鎖比對要求。 此外,如果您想要略過核心規則集中任何預先設定的規則,可以在相同的 WAF 原則中設定自訂規則。
在評估核心規則集內的規則之前,一律會套用自訂規則。 如果要求符合自訂規則,則會套用對應的規則動作。 要求會遭到封鎖,或是傳遞至後端。 系統不會處理任何其他的自訂規則,或核心規則集內的規則。
異常評分
當您使用 CRS 或 DRS 2.1 和更新版本時,WAF 預設會設定為使用異常評分。 符合任何規則的流量不會立即遭到封鎖,即使您的 WAF 處於預防模式也一樣。 相反地,OWASP 規則集會為每個規則定義嚴重性:重大、錯誤、警告或通知。 該嚴重性會影響要求的數值,此值稱為異常評分:
規則嚴重性 | 造成異常評分的值 |
---|---|
重大 | 5 |
錯誤 | 4 |
警告 | 3 |
注意事項 | 2 |
如果異常分數為 5 或更高,且 WAF 處於預防模式,則會封鎖要求。 如果異常分數為 5 或更高,且 WAF 處於偵測模式,則會記錄要求,但不會封鎖要求。
例如,單一重大規則符合足以讓 WAF 封鎖要求,因為整體異常分數為 5。 但是符合警告規則只會將異常評分提高 3 分,其本身並不足以封鎖流量。 觸發異常規則時,它會在記錄中顯示「相符」動作。 如果異常分數為 5 或更高,則會根據 WAF 原則是處於預防模式還是偵測模式,觸發相應的規則並執行「封鎖」或「偵測」操作。 如需詳細資訊,請參閱異常評分模式。
偏執狂等級
每個規則都被指派到特定的偏執等級(PL)。 Paranoia Level 1 (PL1) 中設定的規則較不咄咄逼人,而且幾乎不會觸發誤判。 它們提供基準安全性,僅需極少的微調。 PL2 中的規則能偵測到更多攻擊,但預期會觸發一些需要微調的誤判。
根據預設,DRS 2.1 和 CRS 3.2 規則版本在 Paranoia Level 2 中預先設定,包括 PL1 和 PL2 中指派的規則。 如果您想要以獨佔方式搭配 PL1 使用 WAF,您可以停用任何或所有 PL2 規則,或將其動作變更為 「記錄」。 Azure WAF 目前不支援 PL3 和 PL4。
注意
CRS 3.2 規則集包含 PL3 和 PL4 中的規則,但不論其設定的狀態或動作為何,這些規則一律為非使用中且無法啟用。
升級或變更規則集版本
如果您要升級或指派新的規則集版本,而且想要保留現有的規則覆寫和排除專案,建議您使用 PowerShell、CLI、REST API 或範本進行規則集版本變更。 新版的規則集可以有較新的規則、其他規則群組,而且可能會有現有簽章的更新,以強制執行更佳的安全性並減少誤判。 建議您驗證測試環境中的變更、視需要微調,然後在生產環境中部署。
注意
如果您使用 Azure 入口網站將新的受控規則集指派給 WAF 原則,則來自現有受控規則集的所有先前自定義,例如規則狀態、規則動作和規則層級排除,都會重設為新的受控規則集預設值。 不過,在新的規則集指派期間,任何自定義規則、原則設定和全域排除專案都不會受到影響。 在將系統部署到生產環境之前,您需要重新定義規則覆寫並驗證所有變更。
OWASP CRS 3.1
CRS 3.1 包括 14 個規則群組,如下表所示。 每個群組包含多個規則 (可加以停用)。 此規則集是基於 OWASP CRS 3.1.1 版本。
注意
CRS 3.1 僅適用於 WAF_v2 SKU。
規則群組名稱 | 描述 |
---|---|
一般 | 一般群組 |
KNOWN-CVES | 協助偵測新的和已知的 CVE |
REQUEST-911-METHOD-ENFORCEMENT | 鎖定方法 (PUT、PATCH) |
REQUEST-913-SCANNER-DETECTION | 防禦連接埠和環境掃描器 |
請求-920-協議執行 | 可防範通訊協定和編碼問題 |
REQUEST-921-協定攻擊 | 防止標頭插入、要求走私和回應分割 |
REQUEST-930-APPLICATION-ATTACK-LFI | 防止檔案和路徑攻擊 |
REQUEST-931-APPLICATION-ATTACK-RFI | 防止遠端檔案包含 (RFI) 攻擊 |
REQUEST-932-APPLICATION-ATTACK-RCE | 防止遠端程式碼執行攻擊 |
REQUEST-933-APPLICATION-ATTACK-PHP | 防止 PHP 插入式攻擊 |
REQUEST-941-應用程式攻擊-XSS | 防止跨網站指令碼攻擊 |
REQUEST-942-APPLICATION-ATTACK-SQLI | 防止 SQL 插入式攻擊 |
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION | 防止工作階段固定攻擊 |
REQUEST-944-APPLICATION-ATTACK-SESSION-JAVAN | 防止 JAVA 攻擊 |
機器人管理器 1.0
Bot Manager 1.0 規則集可保護惡意 Bot,以及偵測良好的 Bot。 這些規則會將 Bot 流量分類為「良好」、「不良」或「未知」Bot,藉此對 WAF 偵測到的 Bot 提供細微的控制。
規則群組 | 描述 |
---|---|
BadBots | 防止有害 Bot |
GoodBots | 識別無害 Bot |
UnknownBots | 識別未知 Bot |
機器人管理器 1.1
Bot Manager 1.1 規則集是 Bot Manager 1.0 規則集的增強功能。 它提供對惡意 Bot 的增強保護,並增加良好的 Bot 偵測。
規則群組 | 描述 |
---|---|
BadBots | 防止有害 Bot |
GoodBots | 識別無害 Bot |
UnknownBots | 識別未知 Bot |
在應用程式閘道上使用 Web 應用程式防火牆時,可以使用下列規則群組和規則。
2.1 規則集
一般
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
200002 | 重大 - 5 | PL1 | 無法剖析要求內文 |
200003 | 重大 - 5 | PL1 | multipart 要求本文失敗嚴格驗證 |
方法強制執行
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
911100 | 重大 - 5 | PL1 | 原則不允許方法 |
PROTOCOL-ENFORCEMENT
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
920100 | 注意 - 2 | PL1 | 無效的 HTTP 要求列 |
920120 | 重大 - 5 | PL1 | 已嘗試 multipart/form-data 略過 |
920121 | 重大 - 5 | PL2 | 已嘗試 multipart/form-data 略過 |
920160 | 重大 - 5 | PL1 | 內容長度 HTTP 標頭不是數值 |
920170 | 重大 - 5 | PL1 | 具有本文內容的 GET 或 HEAD 要求 |
920171 | 重大 - 5 | PL1 | 具有 Transfer-Encoding 的 GET 或 HEAD 請求 |
920180 | 注意 - 2 | PL1 | POST 請求缺少 Content-Length 標頭 |
920181 | 警告 - 3 | PL1 | 內容長度和 Transfer-Encoding 標頭會呈現 99001003 |
920190 | 警告 - 3 | PL1 | 範圍:無效的最後一個字節值 |
920200 | 警告 - 3 | PL2 | 範圍:太多欄位 (6 個或以上) |
920201 | 警告 - 3 | PL2 | 範圍:太多 PDF 要求的欄位 (6 個或以上) |
920210 | 重大 - 5 | PL1 | 找到多個/衝突的連接標頭數據 |
920220 | 警告 - 3 | PL1 | URL 編碼濫用攻擊嘗試 |
920230 | 警告 - 3 | PL2 | 偵測到多個 URL 編碼 |
920240 | 警告 - 3 | PL1 | URL 編碼濫用攻擊嘗試 |
920260 | 警告 - 3 | PL1 | Unicode 全/半寬度濫用攻擊嘗試 |
920270 | 錯誤 - 4 | PL1 | 要求 (null 字元) 中的字元無效 |
920271 | 重大 - 5 | PL2 | 要求 (非可列印的字元) 中的字元無效 |
920280 | 警告 - 3 | PL1 | 要求遺失主機標頭 |
920290 | 警告 - 3 | PL1 | 空白的主機標頭 |
920300 | 注意 - 2 | PL2 | 要求遺失 Accept 標頭 |
920310 | 注意 - 2 | PL1 | 要求具有空白的 Accept 標頭 |
920311 | 注意 - 2 | PL1 | 要求具有空白的 Accept 標頭 |
920320 | 注意 - 2 | PL2 | 遺失使用者代理程式標頭 |
920330 | 注意 - 2 | PL1 | 空白的使用者代理程式標頭 |
920340 | 注意 - 2 | PL1 | 要求包含內容,但遺漏 Content-Type 標頭 |
920341 | 重大 - 5 | PL1 | 要求包含內容,需要 Content-Type 標頭 |
920350 | 警告 - 3 | PL1 | 主機標頭是數字的 IP 位址 |
920420 | 重大 - 5 | PL1 | 原則不允許要求內容類型 |
920430 | 重大 - 5 | PL1 | 原則不允許 HTTP 通訊協定版本 |
920440 | 重大 - 5 | PL1 | 原則會限制 URL 的副檔名 |
920450 | 重大 - 5 | PL1 | 原則會限制 HTTP 標頭 |
920470 | 重大 - 5 | PL1 | 非法 Content-Type 標頭 |
920480 | 重大 - 5 | PL1 | 原則不允許要求內容類型字元集 |
920500 | 重大 - 5 | PL1 | 嘗試存取備份或工作檔案 |
PROTOCOL-ATTACK
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
921110 | 重大 - 5 | PL1 | HTTP 要求走私攻擊 |
921120 | 重大 - 5 | PL1 | HTTP 回應分割攻擊 |
921130 | 重大 - 5 | PL1 | HTTP 回應分割攻擊 |
921140 | 重大 - 5 | PL1 | 透過標頭的 HTTP 標頭插入式攻擊 |
921150 | 重大 - 5 | PL1 | 透過承載 (偵測到 CR/LF) 的 HTTP 標頭插入式攻擊 |
921151 | 重大 - 5 | PL2 | 透過承載 (偵測到 CR/LF) 的 HTTP 標頭插入式攻擊 |
921160 | 重大 - 5 | PL1 | 透過承載 (偵測到 CR/LF 和 header-name) 的 HTTP 標頭插入式攻擊 |
921190 | 重大 - 5 | PL1 | HTTP 分割 (偵測到要求檔案名稱中的 CR/LF) |
921200 | 重大 - 5 | PL1 | LDAP 插入式攻擊 |
LFI - 本機檔案包含
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
930100 | 重大 - 5 | PL1 | 路徑周遊攻擊 (/../) |
930110 | 重大 - 5 | PL1 | 路徑周遊攻擊 (/../) |
930120 | 重大 - 5 | PL1 | 作業系統檔案存取嘗試 |
930130 | 重大 - 5 | PL1 | 受限制檔案存取嘗試 |
RFI - 遠端檔案包含
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
931100 | 重大 - 5 | PL1 | 可能的遠端檔案包含 (RFI) 攻擊:使用 IP 位址的 URL 參數 |
931110 | 重大 - 5 | PL1 | 可能的遠端檔案包含 (RFI) 攻擊:與 URL 承載搭配使用的一般 RFI 易受攻擊參數名稱 |
931120 | 重大 - 5 | PL1 | 可能的遠端檔案包含 (RFI) 攻擊:與結尾問號字元 (?) 搭配使用 URL 承載 |
931130 | 重大 - 5 | PL2 | 可能的遠端檔案包含 (RFI) 攻擊:關閉網域參考/連結 |
RCE - 遠端命令執行
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
932100 | 重大 - 5 | PL1 | 遠端命令執行:Unix 命令插入 |
932105 | 重大 - 5 | PL1 | 遠端命令執行:Unix 命令插入 |
932110 | 重大 - 5 | PL1 | 遠端命令執行:Windows 命令插入 |
932115 | 重大 - 5 | PL1 | 遠端命令執行:Windows 命令插入 |
932120 | 重大 - 5 | PL1 | 遠端命令執行:找到 Windows PowerShell 命令 |
932130 | 重大 - 5 | PL1 | 遠端命令執行:找到 UNIX Shell 運算式或 Confluence 弱點 (CVE-2022-26134) |
932140 | 重大 - 5 | PL1 | 遠端命令執行:找到 Windows FOR/IF 命令 |
932150 | 重大 - 5 | PL1 | 遠端命令執行:直接 Unix 命令執行 |
932160 | 重大 - 5 | PL1 | 遠端命令執行:找到 Unix 殼層程式碼 |
932170 | 重大 - 5 | PL1 | 遠端命令執行:Shellshock (CVE-2014-6271) |
932171 | 重大 - 5 | PL1 | 遠端命令執行:Shellshock (CVE-2014-6271) |
932180 | 重大 - 5 | PL1 | 受限制檔案上傳嘗試 |
PHP 攻擊
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
933100 | 重大 - 5 | PL1 | PHP 插入式攻擊:找到開頭/結尾標記 |
933110 | 重大 - 5 | PL1 | PHP 插入式攻擊:找到 PHP 指令碼檔案上傳 |
933120 | 重大 - 5 | PL1 | PHP 插入式攻擊:找到設定指示詞 |
933130 | 重大 - 5 | PL1 | PHP 插入式攻擊:找到變數 |
933140 | 重大 - 5 | PL1 | PHP 插入式攻擊:找到 I/O 資料流 |
933150 | 重大 - 5 | PL1 | PHP 插入式攻擊:找到高風險 PHP 函式名稱 |
933151 | 重大 - 5 | PL2 | PHP 插入式攻擊:找到中度風險 PHP 函式名稱 |
933160 | 重大 - 5 | PL1 | PHP 插入式攻擊:找到高風險 PHP 函式呼叫 |
933170 | 重大 - 5 | PL1 | PHP 插入式攻擊:序列化物件插入 |
933180 | 重大 - 5 | PL1 | PHP 插入式攻擊:找到變數函式呼叫 |
933200 | 重大 - 5 | PL1 | PHP 插入式攻擊:偵測到包裝函式配置 |
933210 | 重大 - 5 | PL1 | PHP 插入式攻擊:找到變數函式呼叫 |
Node JS 攻擊
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
934100 | 重大 - 5 | PL1 | Node.js 插入式攻擊 |
XSS - 跨網站指令碼處理
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
941100 | 重大 - 5 | PL1 | 透過 libinjection 偵測到的 XSS 攻擊 |
941101 | 重大 - 5 | PL2 | 透過 libinjection 偵測到的 XSS 攻擊。 此規則會偵測具有 參考者 標頭的要求 |
941110 | 重大 - 5 | PL1 | XSS 篩選 - 類別 1:指令碼標記向量 |
941120 | 重大 - 5 | PL1 | XSS 篩選 - 類別 2:事件處理常式向量 |
941130 | 重大 - 5 | PL1 | XSS 篩選 - 類別 3:屬性向量 |
941140 | 重大 - 5 | PL1 | XSS 篩選 - 類別 4:JavaScript URI 向量 |
941150 | 重大 - 5 | PL2 | XSS 篩選 - 類別 5:不允許的 HTML 屬性 |
941160 | 重大 - 5 | PL1 | NoScript XSS InjectionChecker:HTML 插入 |
941170 | 重大 - 5 | PL1 | NoScript XSS InjectionChecker:屬性插入 |
941180 | 重大 - 5 | PL1 | 節點驗證程式封鎖清單關鍵字 |
941190 | 重大 - 5 | PL1 | 使用樣式表的 XSS |
941200 | 重大 - 5 | PL1 | 使用 VML 框架的 XSS |
941210 | 重大 - 5 | PL1 | 使用混淆處理 JavaScript 的 XSS |
941220 | 重大 - 5 | PL1 | 使用混淆處理 VB 指令碼的 XSS |
941230 | 重大 - 5 | PL1 | 使用 'embed' 標記的 XSS |
941240 | 重大 - 5 | PL1 | 使用 'import' 或 'implementation' 屬性的 XSS |
941250 | 重大 - 5 | PL1 | IE XSS 篩選 - 偵測到攻擊 |
941260 | 重大 - 5 | PL1 | 使用 'meta' 標記的 XSS |
941270 | 重大 - 5 | PL1 | 使用 'link' href 的 XSS |
941280 | 重大 - 5 | PL1 | 使用 'base' 標記的 XSS |
941290 | 重大 - 5 | PL1 | 使用 'applet' 標記的 XSS |
941300 | 重大 - 5 | PL1 | 使用 'object' 標記的 XSS |
941310 | 重大 - 5 | PL1 | US-ASCII 格式不正確編碼 XSS 篩選器 - 偵測到攻擊 |
941320 | 重大 - 5 | PL2 | 偵測到可能的 XSS 攻擊 - HTML 標記處理常式 |
941330 | 重大 - 5 | PL2 | IE XSS 篩選 - 偵測到攻擊 |
941340 | 重大 - 5 | PL2 | IE XSS 篩選 - 偵測到攻擊 |
941350 | 重大 - 5 | PL1 | UTF-7 編碼 IE XSS - 偵測到攻擊 |
941360 | 重大 - 5 | PL1 | 偵測到 JavaScript 混淆處理 |
941370 | 重大 - 5 | PL1 | 找到 JavaScript 全域變數 |
941380 | 重大 - 5 | PL2 | 偵測到 AngularJS 用戶端範本插入 |
SQLI - SQL 插入
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
942100 | 重大 - 5 | PL1 | 透過 libinjection 偵測到的 SQL 插入式攻擊 |
942110 | 警告 - 3 | PL2 | SQL插入式攻擊:偵測到常見的插入測試 |
942120 | 重大 - 5 | PL2 | SQL插入式攻擊:偵測到 SQL 運算子 |
942130 | 重大 - 5 | PL2 | SQL 插入式攻擊:偵測到 SQL 謬誤重複語句 |
942140 | 重大 - 5 | PL1 | SQL 插入式攻擊:偵測到常用的 DB 名稱 |
942150 | 重大 - 5 | PL2 | SQL 插入式攻擊 |
942160 | 重大 - 5 | PL1 | 使用函數 sleep() 或基準測試 benchmark() 偵測盲目 SQL 注入測試 |
942170 | 重大 - 5 | PL1 | 偵測到 SQL 基準測試與睡眠插入式嘗試包括條件式查詢 |
942180 | 重大 - 5 | PL2 | 偵測到基本 SQL 驗證略過嘗試 1/3 |
942190 | 重大 - 5 | PL1 | 偵測到 MSSQL 程式碼執行和資訊收集嘗試次數 |
942200 | 重大 - 5 | PL2 | 偵測到 MySQL 註解/空間模糊化的插入和反引號終止 |
942210 | 重大 - 5 | PL2 | 偵測到鏈結 SQL 插入嘗試 1/2 |
942220 | 重大 - 5 | PL1 | 由 skipfish 尋找整數溢位攻擊,除了 3.0.00738585072007e-308 屬於「魔術數字」損毀 |
942230 | 重大 - 5 | PL1 | 偵測到條件式 SQL 插入嘗試 |
942240 | 重大 - 5 | PL1 | 偵測到 MySQL 字元集切換和 MSSQL DoS 嘗試 |
942250 | 重大 - 5 | PL1 | 偵測到 MATCHST、MERGE 和 EXECUTE IMMEDIATE 插入 |
942260 | 重大 - 5 | PL2 | 偵測到基本 SQL 驗證略過嘗試 2/3 |
942270 | 重大 - 5 | PL1 | 尋找基本的 SQL 插入。 mysql、oracle 和其他項目的常見攻擊字串 |
942280 | 重大 - 5 | PL1 | 偵測到 Postgres pg_sleep 插入、waitfor 延遲攻擊和資料庫關機嘗試 |
942290 | 重大 - 5 | PL1 | 尋找基本 MongoDB SQL 插入嘗試 |
942300 | 重大 - 5 | PL2 | 偵測到 MySQL 註解、條件和 ch(a)r 插入 |
942310 | 重大 - 5 | PL2 | 偵測到鏈結 SQL 插入嘗試 2/2 |
942320 | 重大 - 5 | PL1 | 偵測到 MySQL 與 PostgreSQL 預存程序/函式插入 |
942330 | 重大 - 5 | PL2 | 偵測到傳統 SQL 插入探測 1/2 |
942340 | 重大 - 5 | PL2 | 偵測到基本 SQL 驗證略過嘗試 3/3 |
942350 | 重大 - 5 | PL1 | 偵測到 MySQL UDF 插入和其他資料/結構操作嘗試 |
942360 | 重大 - 5 | PL1 | 偵測到連續的基本 SQL 插入和 SQLLFI 嘗試次數 |
942361 | 重大 - 5 | PL2 | 偵測到以關鍵字變更或集合聯集為基礎的基本 SQL 插入 |
942370 | 重大 - 5 | PL2 | 偵測到傳統 SQL 插入探測 2/2 |
942380 | 重大 - 5 | PL2 | SQL 插入式攻擊 |
942390 | 重大 - 5 | PL2 | SQL 插入式攻擊 |
942400 | 重大 - 5 | PL2 | SQL 插入式攻擊 |
942410 | 重大 - 5 | PL2 | SQL 插入式攻擊 |
942430 | 警告 - 3 | PL2 | 受限制的 SQL 字元異常偵測 (args):超出的特殊字元數目 (12) |
942440 | 重大 - 5 | PL2 | 偵測到 SQL 註解順序 |
942450 | 重大 - 5 | PL2 | 識別到 SQL 十六進位編碼 |
942470 | 重大 - 5 | PL2 | SQL 插入式攻擊 |
942480 | 重大 - 5 | PL2 | SQL 插入式攻擊 |
942500 | 重大 - 5 | PL1 | 偵測到 MySQL 內嵌註釋 |
942510 | 重大 - 5 | PL2 | 偵測到嘗試使用引號或倒引號來繞過 SQLi 的行為 |
SESSION-FIXATION
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
943100 | 重大 - 5 | PL1 | 可能的工作階段固定攻擊:在 HTML 中設定 Cookie 值 |
943110 | 重大 - 5 | PL1 | 可能的工作階段 Fixation 攻擊:具有關閉網域參考者的工作階段識別碼參數名稱 |
943120 | 重大 - 5 | PL1 | 可能的工作階段 Fixation 攻擊:沒有參考者的工作階段識別碼參數名稱 |
JAVA 攻擊
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
944100 | 重大 - 5 | PL1 | 遠端命令執行:Apache Struts、Oracle WebLogic |
944110 | 重大 - 5 | PL1 | 偵測到潛在的承載執行 |
944120 | 重大 - 5 | PL1 | 可能的承載執行和遠端命令執行 |
944130 | 重大 - 5 | PL1 | 可疑的 JAVA 類別 |
944200 | 重大 - 5 | PL2 | JAVA 還原序列化 Apache Commons 的惡意探索 |
944210 | 重大 - 5 | PL2 | 可能使用 JAVA 序列化 |
944240 | 重大 - 5 | PL2 | 遠端命令執行:JAVA 序列化和 Log4j 弱點 (CVE-2021-44228、CVE-2021-45046) |
944250 | 重大 - 5 | PL2 | 遠端命令執行:偵測到可疑的 JAVA 方法 |
MS-ThreatIntel-WebShells
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
99005002 | 重大 - 5 | PL2 | 網頁殼層互動嘗試 (POST) |
99005003 | 重大 - 5 | PL2 | 網頁殼層上傳嘗試 (POST) - CHOPPER PHP |
99005004 | 重大 - 5 | PL2 | 網頁殼層上傳嘗試 (POST) - CHOPPER ASPX |
99005005 | 重大 - 5 | PL2 | 網頁殼層互動嘗試 |
99005006 | 重大 - 5 | PL2 | Spring4Shell 互動嘗試 |
MS-ThreatIntel-AppSec
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
99030001 | 重大 - 5 | PL2 | 標頭中的路徑周遊規避 (/.././../) |
99030002 | 重大 - 5 | PL2 | 要求本文中的路徑周遊規避 (/.././../) |
MS-ThreatIntel-SQLI
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
99031001 | 警告 - 3 | PL2 | SQL插入式攻擊:偵測到常見的插入測試 |
99031002 | 重大 - 5 | PL2 | 偵測到 SQL 註解順序 |
99031003 | 重大 - 5 | PL2 | SQL 插入式攻擊 |
99031004 | 重大 - 5 | PL2 | 偵測到基本 SQL 驗證略過嘗試 2/3 |
MS-ThreatIntel-CVEs
規則識別碼 | 異常分數嚴重性 | 偏執狂等級 | 描述 |
---|---|---|---|
99001001 | 重大 - 5 | PL2 | 使用已知認證嘗試 F5 tmui (CVE-2020-5902) REST API 惡意探索 |
99001002 | 重大 - 5 | PL2 | 嘗試 NSC_USER 目錄周遊 CVE-2019-19781 |
99001003 | 重大 - 5 | PL2 | 嘗試使用 Atlassian Confluence 小工具連接器惡意探索 CVE-2019-3396 |
99001004 | 重大 - 5 | PL2 | 嘗試使用 Pulse Secure 自訂範本惡意探索 CVE-2020-8243 |
99001005 | 重大 - 5 | PL2 | 嘗試 SharePoint 類型轉換器惡意探索 CVE-2020-0932 |
99001006 | 重大 - 5 | PL2 | 嘗試使用 Pulse Connect 目錄周遊 CVE-2019-11510 |
99001007 | 重大 - 5 | PL2 | 嘗試使用 Junos OS J-Web 本機檔案包含 CVE-2020-1631 |
99001008 | 重大 - 5 | PL2 | 嘗試 Fortinet 路徑周遊 CVE-2018-13379 |
99001009 | 重大 - 5 | PL2 | 嘗試使用 Apache struts ognl 插入 CVE-2017-5638 |
99001010 | 重大 - 5 | PL2 | 嘗試使用 Apache struts ognl 插入 CVE-2017-12611 |
99001011 | 重大 - 5 | PL2 | 嘗試 Oracle WebLogic 路徑周遊 CVE-2020-14882 |
99001012 | 重大 - 5 | PL2 | 嘗試 Telerik WebUI 不安全的還原序列化惡意探索 CVE-2019-18935 |
99001013 | 重大 - 5 | PL2 | 嘗試 SharePoint 不安全的 XML 還原序列化 CVE-2019-0604 |
99001014 | 重大 - 5 | PL2 | 嘗試 Spring Cloud routing-expression 插入 CVE-2022-22963 |
99001015 | 重大 - 5 | PL2 | 嘗試使用 Spring Framework 不安全類別物件惡意探索 CVE-2022-22965 |
99001016 | 重大 - 5 | PL2 | 嘗試 Spring Cloud 閘道傳動器插入 CVE-2022-22947 |
99001017* | N/A | N/A | 嘗試 Apache Struts 檔案上傳惡意探索 CVE-2023-50164 |
* 此規則的動作預設會設定為記錄。將動作設定為 [封鎖] 以防止 Apache Struts 弱點。此規則不支持異常分數。
下列規則集 - 應用程式閘道上的 Azure Web 應用程式防火牆不再支援 CRS 3.0 和 CRS 2.2.9 群組和規則。 我們建議您升級至 DRS 2.1 / CRS 3.2
3.0 規則集
一般
規則識別碼 | 描述 |
---|---|
200004 | 可能的多部分不匹配的邊界 |
KNOWN-CVES
規則識別碼 | 描述 |
---|---|
800100 | 協助偵測和緩和 log4j 弱點CVE-2021-44228、CVE-2021-45046 的規則 |
800110 | Spring4Shell 互動嘗試 |
800111 | 嘗試 Spring Cloud routing-expression 插入 - CVE-2022-22963 |
800112 | 嘗試使用 Spring Framework 不安全類別物件惡意探索 - CVE-2022-22965 |
800113 | 嘗試 Spring Cloud 閘道傳動器插入 - CVE-2022-22947 |
請求-911-METHOD-ENFORCEMENT
規則識別碼 | 描述 |
---|---|
911100 | 原則不允許方法 |
REQUEST-913-SCANNER-DETECTION
規則識別碼 | 描述 |
---|---|
913100 | 找到與安全性掃描程式相關聯的使用者代理程式 |
913110 | 找到與安全性掃描程式相關聯的要求標頭 |
913120 | 找到與安全性掃描程式相關聯的要求檔名/引數 |
913101 | 找到與指令碼/一般 HTTP 用戶端相關聯的使用者代理程式 |
913102 | 找到與 web 編目程式/bot 相關聯的使用者代理程式 |
REQUEST-920-PROTOCOL-ENFORCEMENT
規則識別碼 | 描述 |
---|---|
920100 | 無效的 HTTP 要求列 |
920130 | 無法剖析要求內文 |
920140 | multipart 要求本文失敗嚴格驗證 |
920160 | 內容長度 HTTP 標頭不是數值 |
920170 | 具有本文內容的 GET 或 HEAD 要求 |
920180 | POST 請求缺少 Content-Length 標頭 |
920190 | Range = 無效的最後一個字節值 |
920210 | 找到多個/衝突的連接標頭數據 |
920220 | URL 編碼濫用攻擊嘗試 |
920240 | URL 編碼濫用攻擊嘗試 |
920250 | UTF8 編碼濫用攻擊嘗試 |
920260 | Unicode 全/半寬度濫用攻擊嘗試 |
920270 | 要求 (null 字元) 中的字元無效 |
920280 | 要求遺失主機標頭 |
920290 | 空白的主機標頭 |
920310 | 要求具有空白的 Accept 標頭 |
920311 | 要求具有空白的 Accept 標頭 |
920330 | 空白的使用者代理程式標頭 |
920340 | 要求包含內容,但遺漏 Content-type 標頭 |
920350 | 主機標頭是數字的 IP 位址 |
920380 | 要求中的引數太多 |
920360 | 引數名稱太長 |
920370 | 引數值太長 |
920390 | 超過總引數大小 |
920400 | 上傳的檔案大小太大 |
920410 | 上傳的檔案大小總數太大 |
920420 | 原則不允許要求內容類型 |
920430 | 原則不允許 HTTP 通訊協定版本 |
920440 | 原則會限制 URL 的副檔名 |
920450 | 原則會限制 HTTP 標頭 (%@{MATCHED_VAR}) |
920200 | 範圍 = 太多欄位 (6 個或以上) |
920201 | 範圍 = 太多 pdf 要求的欄位 (35 個或以上) |
920230 | 偵測到多個 URL 編碼 |
920300 | 要求遺失 Accept 標頭 |
920271 | 要求 (非可列印的字元) 中的字元無效 |
920320 | 遺失使用者代理程式標頭 |
920272 | 要求 (在 ASCII 127 下方的可列印字元之外) 中的字元無效 |
920202 | 範圍 = 太多 pdf 要求的欄位 (6 個或以上) |
920273 | 要求 (非常嚴格的設定之外) 中的字元無效 |
920274 | 要求標頭 (非常嚴格的設定之外) 中的字元無效 |
920460 | 異常逸出字元 |
REQUEST-921-PROTOCOL-ATTACK
規則識別碼 | 描述 |
---|---|
921100 | HTTP 要求走私攻擊 |
921110 | HTTP 要求走私攻擊 |
921120 | HTTP 回應分割攻擊 |
921130 | HTTP 回應分割攻擊 |
921140 | 透過標頭的 HTTP 標頭插入式攻擊 |
921150 | 透過承載 (偵測到 CR/LF) 的 HTTP 標頭插入式攻擊 |
921160 | 透過承載 (偵測到 CR/LF 和 header-name) 的 HTTP 標頭插入式攻擊 |
921151 | 透過承載 (偵測到 CR/LF) 的 HTTP 標頭插入式攻擊 |
921170 | HTTP 參數侵害 |
921180 | HTTP 參數侵害 (%@{TX.1}) |
REQUEST-930-APPLICATION-ATTACK-LFI
規則識別碼 | 描述 |
---|---|
930100 | 路徑周遊攻擊 (/../) |
930110 | 路徑周遊攻擊 (/../) |
930120 | 作業系統檔案存取嘗試 |
930130 | 受限制檔案存取嘗試 |
請求-931-應用程式-ATTACK-RFI
規則識別碼 | 描述 |
---|---|
931100 | 可能的遠端檔案包含 (RFI) 攻擊 = 使用 IP 位址的 URL 參數 |
931110 | 可能的遠端檔案包含 (RFI) 攻擊 = 與 URL 承載搭配使用的一般 RFI 易受攻擊參數名稱 |
931120 | 可能的遠端檔案包含 (RFI) 攻擊 = 與結尾問號字元 (?) 搭配使用 URL 承載 |
931130 | 可能的遠端檔案包含 (RFI) 攻擊 = 關閉網域參考/連結 |
REQUEST-932-APPLICATION-ATTACK-RCE
規則識別碼 | 描述 |
---|---|
932120 | 遠端命令執行 = 找到 Windows PowerShell 命令 |
932130 |
應用程式閘道 WAF v2:遠端命令執行:找到 Unix Shell 運算式或 Confluence 弱點 (CVE-2022-26134),或 Text4Shell (CVE-2022-42889) 應用程式閘道 WAF v1:遠端命令執行:Unix Shell 運算式 |
932140 | 遠端命令執行 = 找到 Windows FOR/IF 命令 |
932160 | 遠端命令執行 = 找到 Unix 殼層程式碼 |
932170 | 執行遠端命令 = Shellshock (CVE-2014-6271) |
932171 | 執行遠端命令 = Shellshock (CVE-2014-6271) |
請求-933-應用程式-ATTACK-PHP
規則識別碼 | 描述 |
---|---|
933100 | PHP 插入式攻擊 = 找到開頭/結尾標記 |
933110 | PHP 插入式攻擊 = 找到 PHP 指令碼檔案上傳 |
933120 | PHP 插入式攻擊 = 找到組態指示詞 |
933130 | PHP 插入式攻擊 = 找到變數 |
933150 | PHP 插入式攻擊 = 找到高風險 PHP 函式名稱 |
933160 | PHP 插入式攻擊 = 找到高風險 PHP 函式呼叫 |
933180 | PHP 插入式攻擊 = 找到變數函式呼叫 |
933151 | PHP 插入式攻擊 = 找到中度風險 PHP 函式名稱 |
933131 | PHP 插入式攻擊 = 找到變數 |
933161 | PHP 插入式攻擊 = 找到低價值 PHP 函式呼叫 |
933111 | PHP 插入式攻擊 = 找到 PHP 指令碼檔案上傳 |
REQUEST-941-APPLICATION-ATTACK-XSS
規則識別碼 | 描述 |
---|---|
941100 | 透過 libinjection 偵測到的 XSS 攻擊 |
941110 | XSS 篩選器 - 類別 1 = 指令碼標記向量 |
941130 | XSS 篩選器 - 類別 3 = 屬性向量 |
941140 | XSS 篩選 - 類別 4 = JavaScript URI 向量 |
941150 | XSS 篩選器 - 類別 5 = 不允許的 HTML 屬性 |
941180 | 節點驗證程式封鎖清單關鍵字 |
941190 | 使用樣式表的 XSS |
941200 | 使用 VML 框架的 XSS |
941210 | 使用混淆的 JavaScript 或 Text4Shell 的 XSS (CVE-2022-42889) |
941220 | 使用混淆處理 VB 指令碼的 XSS |
941230 | 使用 'embed' 標記的 XSS |
941240 | 使用 'import' 或 'implementation' 屬性的 XSS |
941260 | 使用 'meta' 標記的 XSS |
941270 | 使用 'link' href 的 XSS |
941280 | 使用 'base' 標記的 XSS |
941290 | 使用 'applet' 標記的 XSS |
941300 | 使用 'object' 標記的 XSS |
941310 | US-ASCII 格式不正確編碼 XSS 篩選器 - 偵測到攻擊 |
941330 | IE XSS 篩選 - 偵測到攻擊 |
941340 | IE XSS 篩選 - 偵測到攻擊 |
941350 | UTF-7 編碼 IE XSS - 偵測到攻擊 |
941320 | 偵測到可能的 XSS 攻擊 - HTML 標記處理常式 |
REQUEST-942-APPLICATION-ATTACK-SQLI
規則識別碼 | 描述 |
---|---|
942100 | 透過 libinjection 偵測到的 SQL 插入式攻擊 |
942110 | SQL插入式攻擊:偵測到常見的插入測試 |
942130 | SQL 插入式攻擊:偵測到 SQL 謬誤重複語句 |
942140 | SQL 插入式攻擊 = 偵測到常用的 DB 名稱 |
942160 | 使用函數 sleep() 或基準測試 benchmark() 偵測盲目 SQL 注入測試 |
942170 | 偵測到 SQL 基準測試與睡眠插入式嘗試包括條件式查詢 |
942190 | 偵測到 MSSQL 程式碼執行和資訊收集嘗試次數 |
942200 | 偵測到 MySQL 註解/空間模糊化的插入和反引號終止 |
942230 | 偵測到條件式 SQL 插入嘗試 |
942260 | 偵測到基本 SQL 驗證略過嘗試 2/3 |
942270 | 尋找基本的 SQL 插入。 MySQL、Oracle 和其他的常見攻擊字串 |
942290 | 尋找基本 MongoDB SQL 插入嘗試 |
942300 | 偵測到 MySQL 註解、條件和 ch(a)r 插入 |
942310 | 偵測到鏈結 SQL 插入嘗試 2/2 |
942320 | 偵測到 MySQL 與 PostgreSQL 預存程序/函式插入 |
942330 | 偵測到傳統 SQL 插入探測 1/2 |
942340 | 偵測到基本 SQL 驗證略過嘗試 3/3 |
942350 | 偵測到 MySQL UDF 插入和其他資料/結構操作嘗試 |
942360 | 偵測到連續的基本 SQL 插入和 SQLLFI 嘗試次數 |
942370 | 偵測到傳統 SQL 插入探測 2/2 |
942150 | SQL 插入式攻擊 |
942410 | SQL 插入式攻擊 |
942430 | 受限制的 SQL 字元異常偵測 (args):超出的特殊字元數目 (12) |
942440 | 偵測到 SQL 註解順序 |
942450 | 識別到 SQL 十六進位編碼 |
942251 | 偵測到 HAVING 插入 |
942460 | 中繼字元異常偵測警示 - 重複性的非文字字元 |
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION
規則識別碼 | 描述 |
---|---|
943100 | 可能的工作階段 Fixation 攻擊 = 在 HTML 中設定 Cookie 值 |
943110 | 可能的工作階段 Fixation 攻擊 = 具有關閉網域查閱者的工作階段識別碼參數名稱 |
943120 | 可能的工作階段 Fixation 攻擊 = 沒有查閱者的工作階段識別碼參數名稱 |