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

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

規則

同時AWS WAF規則會定義如何檢查 HTTP (S) Web 要求,以及符合檢查準則時要對要求採取的動作。您只能在規則群組或 Web ACL 的內容中定義規則群組或 Web ACL 的內容中。

您可以定義檢查條件的規則,如下所示:

  • 指令碼可能為惡意。攻擊者可以利用 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 程式碼的查詢字串。

在此情況下,Web 請求需要將所有陳述式與頂層的陳述式與頂層的相符AND

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