

**推出 的新主控台體驗 AWS WAF**

您現在可以使用更新後的體驗，在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊，請參閱[使用 主控台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

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

# AWS WAF 規則
<a name="waf-rules"></a>

本節說明什麼是 AWS WAF 規則及其運作方式。

 AWS WAF 規則定義如何檢查 HTTP(S) Web 請求，以及在符合檢查條件時對請求採取的動作。您只能在規則群組或保護套件 (Web ACL) 的內容中定義規則。

規則本身不存在於 中 AWS WAF 。它們不是 AWS 資源，也沒有 Amazon Resource Name (ARNs)。您可以在定義規則群組或保護套件 (Web ACL) 中依名稱存取規則。您可以使用規則群組的 JSON 檢視或包含規則的保護套件 (Web ACLs)，來管理規則並將其複製到其他保護套件 (Web ACL)。您也可以透過 AWS WAF 主控台規則建置器進行管理，該建置器可用於保護套件 (Web ACLs) 和規則群組。

**規則名稱**  
每個規則都需要一個名稱。避免開頭為 的名稱，`AWS`以及用於其他 服務為您管理的規則群組或規則的名稱。請參閱 [辨識其他服務提供的規則群組](waf-service-owned-rule-groups.md)。

**注意**  
如果您變更規則的名稱，並且希望規則的指標名稱反映變更，則也必須更新指標名稱。 AWS WAF 當您變更規則名稱時， 不會自動更新規則的指標名稱。您可以使用規則 JSON 編輯器，在主控台中編輯規則時變更指標名稱。您也可以透過 APIs 和用於定義保護套件 (Web ACL) 或規則群組的任何 JSON 清單中變更這兩個名稱。

**規則陳述式**  
每個規則還需要規則陳述式，以定義規則如何檢查 Web 請求。根據規則和陳述式類型，規則陳述式可能包含任何深度的其他巢狀陳述式。有些規則陳述式採用一組條件。例如，您可以為 IP 集比對規則指定最多 10，000 個 IP 地址或 IP 地址範圍。

您可以定義規則來檢查條件，如下所示：
+ 指令碼可能為惡意。攻擊者可以利用 web 應用程式的漏洞內嵌指令碼。這稱為跨網站指令碼 (XSS)。
+ 發出請求的 IP 地址或地址範圍。
+ 發出請求的國家/地區或地理位置。
+ 請求指定部分的長度，例如查詢字串。
+ SQL 程式碼可能為惡意。攻擊者會藉由內嵌惡意 SQL 程式碼於 web 請求中，嘗試從您的資料庫碼擷取資料。此稱為 SQL Injection。
+ 字串會出現在請求，例如出現在 `User-Agent` 標頭的值或出現在查詢字串的文字字串。您也可以使用規則運算式 (regex) 指定這些字串。
+ 保護套件 (Web ACL) 中先前規則已新增至請求的標籤。

除了具有 Web 請求檢查條件的陳述式之外，與上述清單中的陳述式一樣， AWS WAF 還支援 `AND`、 `OR`和 的邏輯陳述式`NOT`，您可以將陳述式結合在規則中。

例如，根據您最近從攻擊者看到的請求，您可以使用結合下列巢狀陳述式的邏輯`AND`陳述式來建立規則：
+ 來自 192.0.2.44 的請求。
+ 在 `User-Agent` 標頭中包含 `BadBot` 值。
+ 它們好像有包含類似 SQL 程式碼的查詢字串。

在此情況下，Web 請求需要符合所有陳述式，才能符合最上層 `AND`。

**Topics**
+ [在 中使用規則動作 AWS WAF](waf-rule-action.md)
+ [在 中使用規則陳述式 AWS WAF](waf-rule-statements.md)
+ [在 中使用相符規則陳述式 AWS WAF](waf-rule-statements-match.md)
+ [在 中使用邏輯規則陳述式 AWS WAF](waf-rule-statements-logical.md)
+ [在 中使用以速率為基礎的規則陳述式 AWS WAF](waf-rule-statement-type-rate-based.md)
+ [在 中使用規則群組規則陳述式 AWS WAF](waf-rule-statements-rule-group.md)