AWS WAF 規則 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS WAF 規則

在每個規則群組和每個 Web ACL 中,規則都會定義如何檢查 Web 請求,以及當 Web 請求符合檢查準則時該怎麼做。每個規則都需要一個頂層陳述式,其中可能包含任何深度的巢狀陳述式,視規則和陳述式類型而定。

檢查指示會以 JSON 格式包含作為規則陳述式,以及和規則動作中的動作。

您可以在 Web ACL 中使用規則,定義如何根據類似下列的準則來檢查和處理 HTTP (S) Web 請求:

  • 指令碼可能為惡意。攻擊者可以利用 web 應用程式的漏洞內嵌指令碼。這稱為跨網站指令碼 (XSS)。

  • 發出請求的 IP 地址或地址範圍。

  • 發出請求的國家/地區或地理位置。

  • 請求的指定部分長度,例如查詢字串。

  • SQL 程式碼可能為惡意。攻擊者會藉由內嵌惡意 SQL 程式碼於 web 請求中,嘗試從您的資料庫碼擷取資料。此稱為 SQL Injection。

  • 字串會出現在請求,例如出現在 User-Agent 標頭的值或出現在查詢字串的文字字串。您也可以使用規則運算式 (regex) 指定這些字串。

  • Web ACL 中先前規則的標籤已新增至要求。

某些規則類型會採用多個值。例如,您可以在 IP 地址規則中指定最多 10,000 個 IP 地址或 IP 地址範圍。

除了上述清單中提供 Web 請求檢查準則的陳述式之外,AWS WAF支援邏輯陳述式ANDOR,以及NOT,您用來組合規則中的陳述式。

例如,根據最近已知攻擊者的請求,您可建立包括邏輯AND陳述式,結合下列巢狀陳述式:

  • 來自 192.0.2.44 的請求。

  • User-Agent 標頭中包含 BadBot 值。

  • 它們好像有包含類似 SQL 程式碼的查詢字串。

在這種情況下,所有陳述式都需要產生相符,頂層AND陳述式以符合。

規則不會自行存在於 AWS WAF。他們不是AWS資源,並且它們沒有 Amazon Resource Name (ARN)。您可以在定義規則的規則群組或 Web ACL 中依名稱存取規則。您可以使用包含規則的規則群組或 Web ACL 的 JSON 格式來管理規則,並將它們複製到其他 Web ACL。或者,您可以透過AWS WAF主控台規則建置器,可供 Web ACL 和規則群組使用。