AWS WAF機器人控制範例:允許特定封鎖的機器人 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

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

AWS WAF機器人控制範例:允許特定封鎖的機器人

如果AWS WAF機器人控制正在封鎖您不想封鎖的機器人,請執行下列動作:

  1. 透過檢查記錄來識別封鎖機器人的機器人控制規則。如需 Web ACL 記錄檔的相關資訊,請參閱記錄 Web ACL 流量資訊。請注意任何識別功能,如標籤和用戶代理。

  2. 在您的 Web ACL 中,從規則群組中排除封鎖機器人的規則。若要在主控台中執行這項操作,請在 Web ACL 內編輯規則群組,並將封鎖規則設定為計數。這可確保機器人不會遭到封鎖,同時仍允許規則將其標籤套用至相符的要求。

    此時,您已將 Web ACL 設定為停止封鎖通常由機器人控制規則封鎖的所有機器人。

  3. 在 Bot Control 管理規則群組之後,將自訂標籤比對規則新增至 Web ACL。將規則設定為比對 Bot Control 規則標籤,並封鎖所有符合的要求,但您不想封鎖的 Bot 除外。

    您的 Web ACL 現在已設定,讓您想要允許的機器人不再被 Bot Control 管理的規則群組封鎖。

例如,假設您希望封鎖除pingdom。在這種情況下,您可以排除CategoryMonitoring規則,然後撰寫規則來封鎖所有監視機器人,除了具有機器人名稱標籤的監視機器人pingdom

下列規則使用 Bot Control 受管理的規則群組,但會變更CategoryMonitoring計數,方法是將其排除在一般規則群組處理之外。類別監控規則會像往常一樣將其標籤套用至相符的請求,但只會計算它們,而不是執行其通常的區塊動作。

{ "Name": "AWS-AWSBotControl-Example", "Priority": 5, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesBotControlRuleSet", "ExcludedRules": [ { "Name": "CategoryMonitoring" } ] } }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSBotControl-Example" } }

下列規則會符合前述CategoryMonitoring規則會新增至相符的 Web 要求。在類別監控要求中,此規則會封鎖除具有 bot 名稱標籤之外的所有要求pingdom

下列規則必須在 Web ACL 處理順序中先前的 Bot Control 管理規則群組之後執行。

{ "Rule": { "Name": "match_rule", "Statement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring" } }, { "NotStatement": { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom" } } } } ] } }, "RuleLabels": [], "Action": { "Block": {} } } }