AWS WAF 如何處理 HTTP 請求的本文檢查?

1 分的閱讀內容
0

AWS WAF 如何處理 HTTP 請求的本文檢查?

解析度

AWS WAF 會檢查請求本文的前 8 KB (8,192 位元組)。這是硬性服務限制,無法變更。

例如:

  • **如果本文為 5,000 位元組:**AWS WAF 可以檢查本文中的所有內容。
  • **如果本文為 8,500 位元組:**AWS WAF 會檢查 1 到 8,192 位元組的內容。但是不會檢查 8,193 到 8,500 位元組的內容。

此限制在設定規則時很重要,因為 AWS WAF 無法檢查 8,192 位元組後的本文內容。在 8,192 位元組後,不會偵測到任何 XSS 或 SQL 隱碼攻擊模式。

為防止未經檢查的本文受到攻擊,請採取以下其中一種方法:

AWS 受管規則核心規則集

AWS 受管規則核心規則集 (CRS) 中的 SizeRestrictions_BODY 會檢查超過 8 KB (8,192 位元組) 的請求本文。超過 8 KB 的請求本文會遭到封鎖。

自訂本文檢查規則

設定自訂本文檢查規則時,您可以選擇加大請求處理動作。當請求本文大於 8,192 位元組時,此動作才會生效。

例如,您可以使用包含 XSS 隱碼攻擊的請求本文設定自訂規則,且該請求本文為 9,000 位元組。您可以從下列加大處理動作中選擇:

  • **繼續:**AWS WAF 會檢查 1 到 8,192 位元組的本文內容是否受到 XSS 隱碼攻擊。但是不會檢查其餘的 8,193 到 9000 位元組內容。
  • 符合:AWS WAF 會將此請求標記為包含 XSS 隱碼攻擊,並採取規則動作 (允許封鎖)。請求本文是否包含 XSS 隱碼攻擊模式並不重要。
  • **不相符:**無論請求本文內容為何,AWS WAF 都會將此請求標記為不包含 XSS 隱碼攻擊。

使用 AWS 受管核心規則集時,根據 SizeRestrictions_BODY 規則,超過 8,192 位元組的合法請求可能遭到封鎖。您可以建立允許規則,明確允許請求。

例如,如果客戶有來自 URL「/upload 」的合法請求,您可以依照下列方式設定規則:

1.    在 Web ACL 中,覆寫規則群組的大小限制計數

2.    在核心規則集之後,將標籤比對規則新增至 Web ACL。在規則中使用下列邏輯:

Has a label “awswaf:managed:aws:core-rule-set:SizeRestrictions_Body”
AND
    NOT (URL path contains “/upload”)
Action: BLOCK

使用上述組態時,允許 URL「/upload」且內文超過 8,192 位元組的請求。不是來自此 URL 的任何請求都會遭到封鎖。


相關資訊

請求元件的加大處理

AWS 官方
AWS 官方已更新 2 年前