本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 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
登入 AWS Management Console 並打開 AWS WAF 控制台位於https://console.aws.amazon.com/wafv2/
。 -
從 AWS WAF 首頁,選擇 [建立網頁] ACL。
-
在「名稱」中,輸入您要用來識別此網頁的名稱ACL。
注意
建立網頁之後,就無法變更名稱ACL。
-
(選擇性) 對於說明-選用,ACL如果需要,請輸入較長的網頁描述。
-
若為CloudWatch 量度名稱,請變更預設名稱 (如果適用)。遵循主控台上的指引,以瞭解有效的字元。名稱不能包含特殊字元、空格或量度名稱保留給 AWS WAF,包括「全部」和「默認操作」。
注意
建立網頁之後,您就無法變更 CloudWatch 量度名稱ACL。
-
對於「資源型態」,請選擇CloudFront分配。「區域」會自動填入「全域」(CloudFront) 以進 CloudFront 行分配。
-
(選擇性) 針對關聯 AWS 資源-選擇性,選擇 [新增] AWS 資源。在對話方塊中,選擇您要關聯的資源,然後選擇 [新增]。 AWS WAF 返回到描述網絡ACL和關聯 AWS 資源頁面。
-
選擇 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 規則。
建立字串比對規則陳述式
-
在 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 (規則視覺化編輯器)。
-
對於 Name (名稱),輸入您要用來識別此規則的名稱。
-
對於 Type (類型),選擇 Regular rule (一般規則)。
-
對於 If a request (如果請求),選擇 matches the statement (比對陳述式)。
其他選項適用於邏輯規則陳述式類型。您可以使用它們來合併或否定其他規則陳述式的結果。
-
在陳述式中,針對「檢查」,開啟下拉式清單,然後選擇您想要的 Web 要求元件 AWS WAF 檢查。在此範例中,選擇「單一標題」。
當你選擇單頭,你也可以指定你想要哪個標題 AWS WAF 檢查。輸入
User-Agent
。此值不會區分大小寫。 -
對於 Match type (比對類型),選擇指定的字串必須顯示在
User-Agent
標頭中的位置。對於此範例,選擇 Exactly matches string (完全符合字串)。這表明 AWS WAF 檢查每個 Web 請求中的用戶代理標頭是否有與您指定的字符串相同的字符串。
-
對於要匹配的字符串,指定您想要的字符串 AWS WAF 以進行搜尋。String to match (符合值) 的長度上限為 200 個字元。如果您想要指定 base64 編碼值,可在編碼前指定最多 200 個字元。
在此範例中,請輸入 MyAgent。 AWS WAF 將檢查 Web 請求中的
User-Agent
標題以獲取值MyAgent
。 -
將 Text transformation (文字轉換) 保持設定為 None (無)。
-
針對「動作」,選取您希望規則在符合 Web 要求時採取的動作。在此範例中,選擇 [計數] 並保留其他選項不變。計數動作會為符合規則的 Web 要求建立量度,但不會影響要求是允許還是封鎖。如需有關動作選擇的詳細資訊,請參閱使用規則動作於 AWS WAF和在中使ACLs用規則和規則群組的 Web AWS WAF。
-
選擇新增規則。
步驟 4:新增 AWS 受管規則規則群組
AWS 受管規則提供一組受管規則群組供您使用,其中大部分都是免費的 AWS WAF 客戶。如需規則群組的詳細資訊,請參閱AWS WAF 規則群組。我們將添加一個 AWS 此 Web 的受管規則規則群組ACL。
若要新增 AWS 受管規則規則群組
-
在 Add rules and rule groups (新增規則和規則群組) 頁面上,選擇 Add rules (新增規則),然後選擇 Add managed rule groups (新增受管規則群組)。
-
在 [新增受管規則群組] 頁面上,展開 AWS 受管規則群組。(你也會看到提供的物品: AWS Marketplace 賣家。您可以訂閱他們的產品,然後以相同的方式使用它們 AWS 受管規則規則群組。)
-
針對您要新增的規則群組,執行下列動作:
-
在「動作」欄中,開啟「新增至網頁」ACL 切換。
-
選取「編輯」,然後在規則群組的「規則」清單中開啟「覆寫所有規則動作」下拉式清單並選取 Count。 這會將規則群組中所有規則的動作設定為僅計數。這可讓您在使用任何規則之前,先查看規則群組中的所有規則與 Web 要求的行為。
-
選擇 [儲存規則]。
-
-
在 [新增受管規則群組] 頁面中,選擇 [新增規則]。您會返回「新增規則和規則群組」頁面。
步驟 5:完成您的網頁ACL設定
完成將規則和規則群組新增至 Web ACL 設定後,請在 Web 中管理規則的優先順序,並設定指標、標記ACL和記錄等設定來完成工作。
完成您的網頁ACL設定
-
在 Add rules and rule groups (新增規則和規則群組) 頁面上,選擇 Next (下一步)。
-
在 [設定規則優先順序] 頁面上,您可以在 Web 中查看規則和規則群組的處理順序ACL。 AWS WAF 從清單頂端開始處理它們。您可以向上或向下移動規則來變更處理順序。若要這樣做,請在清單中選取一個,然後選擇 Move up (上移) 或 Move down (下移)。如需有關規則優先順序的詳細資訊,請參閱 在 Web 中設定規則優先順序 ACL。
-
選擇 Next (下一步)。
-
在設定指標頁面上,對於 Amazon CloudWatch 指標,您可以查看規則和規則群組的計劃指標,並且可以查看 Web 請求取樣選項。如需檢視取樣請求的資訊,請參閱。檢視 Web 請求的範例如需 Amazon CloudWatch 指標的相關資訊,請參閱使用 Amazon 監控 CloudWatch。
您可以在網頁上訪問 Web 流量指標的摘要 ACL AWS WAF 主控台,在 [流量概觀] 索引標籤下。主控台儀表板提供網路 ACL Amazon CloudWatch 指標的近乎即時的摘要。如需詳細資訊,請參閱Web ACL流量概觀儀表板。
-
選擇 Next (下一步)。
-
在 [檢閱並建立網ACL頁] 上,檢閱您的設定,然後選擇 [建立網頁] ACL。
精靈會返回列出新網ACL頁ACL的網頁。
步驟 6:清除您的資源
現在,您已成功完成教學課程。為了防止您的帳戶累積額外 AWS WAF 收費,清理 AWS WAF 您建立的物件。或者,您可以更改配置以匹配您真正想要使用管理的 Web 請求 AWS WAF.
注意
AWS 一般而言,對於您在本教學課程中建立的資源,每天收取的費用不到 USD $0.25。當您完成時,我們建議您刪除資源以免產生不必要的費用。
刪除物件的步驟 AWS WAF 的費用
-
在網ACL頁中,ACL從清單中選取您的網頁,然後選擇 [編輯]。
-
在關聯 AWS 資源標籤中,針對每個關聯的資源,選取資源名稱旁邊的選項按鈕,然後選擇 [取消關聯]。這將取消網絡與您的網絡ACL的關聯 AWS 的費用。
-
在下列每個畫面中,選擇 [下一步],直到您返回網ACL頁。
在網ACL頁中,ACL從清單中選取您的網頁,然後選擇 [刪除]。
規則和規則陳述式不存在於規則群組和 Web ACL 定義之外。如果您刪除網頁ACL,這會刪除您在 Web 中定義的所有個別規則ACL。從網頁移除規則群組時ACL,只要移除該群組的參照即可。