設定 AWS WAF 及其組成部分 - AWS WAFAWS Firewall Manager、 和 AWS Shield Advanced

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

設定 AWS WAF 及其組成部分

本教程展示了如何使用 AWS WAF 以執行下列工作:

  • 設定 AWS WAF.

  • 使用中的精靈建立 Web 存取控制清單 (WebACL) AWS WAF 控制台。

  • 選擇 AWS 您想要的資源 AWS WAF 檢查的網頁要求。本教程介紹了 Amazon 的步驟 CloudFront。Amazon API 閘道 REST API (應用程 Application Load Balancer) 的程序基本相同 AWS AppSync GraphQLAPI,一個 Amazon Cognito 戶池,一個 AWS App Runner 服務,或 AWS 驗證存取執行個體。

  • 新增您要用來篩選 Web 請求的規則和規則群組。例如,您可以指定要求來源的 IP 位址,並在要求中指定僅由攻擊者使用的值。對於每個規則,您可以指定如何處理相符的 Web 要求。您可以做阻止或計算它們之類的事情,並且可以運行類似的機器人挑戰CAPTCHA。您可以為在 Web 中定義的每個規則以ACL及在規則群組中定義的每個規則定義動作。

  • 指定 Web ACL 的預設處理行動 Block 或 Allow。 這是動作 AWS WAF 當網絡中的規則ACL沒有明確允許或阻止它時接受請求。

注意

AWS 一般而言,對於您在本教學課程中建立的資源,每天收取的費用不到 USD $0.25。當您完成此教學課程,我們建議您刪除資源以免產生不必要的費用。

步驟 1:設定 AWS WAF

如果您尚未遵循中的一般設定步驟設定您的帳戶以使用服務,請立即執行。

步驟 2:建立網頁 ACL

所以此 AWS WAF 控制台引導您完成配置過程 AWS WAF 根據您指定的條件封鎖或允許 Web 要求,例如要求來源的 IP 位址或要求中的值。在此步驟中,您會建立網頁ACL。如需關於 AWS WAF 網頁ACLs,請參閱使用網頁 ACLs AWS WAF

建立網頁的步驟 ACL
  1. 登入 AWS Management Console 並打開 AWS WAF 控制台位於https://console.aws.amazon.com/wafv2/

  2. 從 AWS WAF 首頁,選擇 [建立網頁] ACL。

  3. 在「名稱」中,輸入您要用來識別此網頁的名稱ACL。

    注意

    建立網頁之後,就無法變更名稱ACL。

  4. (選擇性) 對於說明-選用,ACL如果需要,請輸入較長的網頁描述。

  5. 若為CloudWatch 量度名稱,請變更預設名稱 (如果適用)。遵循主控台上的指引,以瞭解有效的字元。名稱不能包含特殊字元、空格或量度名稱保留給 AWS WAF,包括「全部」和「默認操作」。

    注意

    建立網頁之後,您就無法變更 CloudWatch 量度名稱ACL。

  6. 對於「資源型態」,請選擇CloudFront分配。「區域」會自動填入「全域」(CloudFront) 以進 CloudFront 行分配。

  7. (選擇性) 針對關聯 AWS 資源-選擇性,選擇 [新增] AWS 資源。在對話方塊中,選擇您要關聯的資源,然後選擇 [新增]。 AWS WAF 返回到描述網絡ACL和關聯 AWS 資源頁面。

  8. 選擇 Next (下一步)

步驟 3:新增字串比對規則

在此步驟中,您會建立使用字串比對陳述式的規則,並指出如何處理比對請求。字符串匹配規則語句標識你想要的字符串 AWS WAF 以在請求中進行搜尋。通常,字符串由可打印ASCII字符組成,但是您可以指定從十六進制 0x00 到 0xFF(十進制 0 到 255)的任何字符。除了指定要搜尋的字串之外,您還可以指定要搜尋的 Web 要求元件,例如標頭、查詢字串或要求主體。

此陳述式類型會在 Web 要求元件上運作,而且需要下列要求元件設定:

  • 要求元件 — 要檢查的 Web 要求部分,例如查詢字串或內文。

    警告

    如果您檢查要求元件主JSON、內文、標頭Cookie,請閱讀有關內容量的限制 AWS WAF 可以在檢查中的超大 Web 請求元件 AWS WAF

    如需 Web 要求元件的詳細資訊,請參閱調整規則陳述式設定 AWS WAF

  • 可選文本轉換-您想要的轉換 AWS WAF 在檢查請求組件之前對請求組件執行。例如,您可以轉換為小寫或標準化空格。如果您指定了多個轉換, AWS WAF 以列出的順序處理它們。如需相關資訊,請參閱 在中使用文字轉換 AWS WAF

如需其他相關資訊 AWS WAF 規則,請參閱AWS WAF 規則

建立字串比對規則陳述式
  1. Add rules and rule groups (新增規則和規則群組) 頁面上,選擇 Add rules (新增規則)Add my own rules and rule groups (新增我自己的規則和規則群組)Rule builder (規則建置器)Rule visual editor (規則視覺化編輯器)

    注意

    主控台提供「規則」視覺化編輯器以及「規則」JSON 編輯器。JSON編輯器可讓您輕鬆地在 Web 之間複製配置,ACLs並且對於更複雜的規則集(例如具有多個巢狀層級的規則集)則需要此編輯器。

    此程序使用 Rule visual editor (規則視覺化編輯器)

  2. 對於 Name (名稱),輸入您要用來識別此規則的名稱。

  3. 對於 Type (類型),選擇 Regular rule (一般規則)

  4. 對於 If a request (如果請求),選擇 matches the statement (比對陳述式)

    其他選項適用於邏輯規則陳述式類型。您可以使用它們來合併或否定其他規則陳述式的結果。

  5. 陳述式中,針對「檢查」,開啟下拉式清單,然後選擇您想要的 Web 要求元件 AWS WAF 檢查。在此範例中,選擇「單一標題」。

    當你選擇單頭,你也可以指定你想要哪個標題 AWS WAF 檢查。輸入 User-Agent。此值不會區分大小寫。

  6. 對於 Match type (比對類型),選擇指定的字串必須顯示在 User-Agent 標頭中的位置。

    對於此範例,選擇 Exactly matches string (完全符合字串)。這表明 AWS WAF 檢查每個 Web 請求中的用戶代理標頭是否有與您指定的字符串相同的字符串。

  7. 對於要匹配的字符串,指定您想要的字符串 AWS WAF 以進行搜尋。String to match (符合值) 的長度上限為 200 個字元。如果您想要指定 base64 編碼值,可在編碼前指定最多 200 個字元。

    在此範例中,請輸入 MyAgent。 AWS WAF 將檢查 Web 請求中的User-Agent標題以獲取值MyAgent

  8. Text transformation (文字轉換) 保持設定為 None (無)

  9. 針對「動作」,選取您希望規則在符合 Web 要求時採取的動作。在此範例中,選擇 [計數] 並保留其他選項不變。計數動作會為符合規則的 Web 要求建立量度,但不會影響要求是允許還是封鎖。如需有關動作選擇的詳細資訊,請參閱使用規則動作於 AWS WAF在中使ACLs用規則和規則群組的 Web AWS WAF

  10. 選擇新增規則

步驟 4:新增 AWS 受管規則規則群組

AWS 受管規則提供一組受管規則群組供您使用,其中大部分都是免費的 AWS WAF 客戶。如需規則群組的詳細資訊,請參閱AWS WAF 規則群組。我們將添加一個 AWS 此 Web 的受管規則規則群組ACL。

若要新增 AWS 受管規則規則群組
  1. Add rules and rule groups (新增規則和規則群組) 頁面上,選擇 Add rules (新增規則),然後選擇 Add managed rule groups (新增受管規則群組)

  2. 在 [新增受管規則群組] 頁面上,展開 AWS 受管規則群組。(你也會看到提供的物品: AWS Marketplace 賣家。您可以訂閱他們的產品,然後以相同的方式使用它們 AWS 受管規則規則群組。)

  3. 針對您要新增的規則群組,執行下列動作:

    1. 在「動作」欄中,開啟「新增至網頁」ACL 切換。

    2. 選取「編輯」,然後在規則群組的「規則」清單中開啟「覆寫所有規則動作」下拉式清單並選取 Count。 這會將規則群組中所有規則的動作設定為僅計數。這可讓您在使用任何規則之前,先查看規則群組中的所有規則與 Web 要求的行為。

    3. 選擇 [儲存規則]。

  4. 在 [新增受管規則群組] 頁面中,選擇 [新增規則]。您會返回「新增規則和規則群組」頁面。

步驟 5:完成您的網頁ACL設定

完成將規則和規則群組新增至 Web ACL 設定後,請在 Web 中管理規則的優先順序,並設定指標、標記ACL和記錄等設定來完成工作。

完成您的網頁ACL設定
  1. Add rules and rule groups (新增規則和規則群組) 頁面上,選擇 Next (下一步)

  2. 在 [設定規則優先順序] 頁面上,您可以在 Web 中查看規則和規則群組的處理順序ACL。 AWS WAF 從清單頂端開始處理它們。您可以向上或向下移動規則來變更處理順序。若要這樣做,請在清單中選取一個,然後選擇 Move up (上移)Move down (下移)。如需有關規則優先順序的詳細資訊,請參閱 在 Web 中設定規則優先順序 ACL

  3. 選擇 Next (下一步)

  4. 設定指標頁面上,對於 Amazon CloudWatch 指標,您可以查看規則和規則群組的計劃指標,並且可以查看 Web 請求取樣選項。如需檢視取樣請求的資訊,請參閱。檢視 Web 請求的範例如需 Amazon CloudWatch 指標的相關資訊,請參閱使用 Amazon 監控 CloudWatch

    您可以在網頁上訪問 Web 流量指標的摘要 ACL AWS WAF 主控台,在 [流量概觀] 索引標籤下。主控台儀表板提供網路 ACL Amazon CloudWatch 指標的近乎即時的摘要。如需詳細資訊,請參閱Web ACL流量概觀儀表板

  5. 選擇 Next (下一步)

  6. 在 [檢閱並建立網ACL頁] 上,檢閱您的設定,然後選擇 [建立網頁] ACL。

精靈會返回列出新網ACL頁ACL的網頁。

步驟 6:清除您的資源

現在,您已成功完成教學課程。為了防止您的帳戶累積額外 AWS WAF 收費,清理 AWS WAF 您建立的物件。或者,您可以更改配置以匹配您真正想要使用管理的 Web 請求 AWS WAF.

注意

AWS 一般而言,對於您在本教學課程中建立的資源,每天收取的費用不到 USD $0.25。當您完成時,我們建議您刪除資源以免產生不必要的費用。

刪除物件的步驟 AWS WAF 的費用
  1. 網ACL頁中,ACL從清單中選取您的網頁,然後選擇 [編輯]。

  2. 在關聯 AWS 資源標籤中,針對每個關聯的資源,選取資源名稱旁邊的選項按鈕,然後選擇 [取消關聯]。這將取消網絡與您的網絡ACL的關聯 AWS 的費用。

  3. 在下列每個畫面中,選擇 [下一步],直到您返回網ACL頁。

    網ACL頁中,ACL從清單中選取您的網頁,然後選擇 [刪除]。

規則和規則陳述式不存在於規則群組和 Web ACL 定義之外。如果您刪除網頁ACL,這會刪除您在 Web 中定義的所有個別規則ACL。從網頁移除規則群組時ACL,只要移除該群組的參照即可。