AWS WAFBot Kontrol contoh: Buat pengecualian untuk agen pengguna yang diblokir - AWS WAF, AWS Firewall Manager, dan AWS Shield Advanced

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS WAFBot Kontrol contoh: Buat pengecualian untuk agen pengguna yang diblokir

Jika bot diblokir secara keliru, Anda dapat membuat pengecualian dengan mengecualikan pelanggaranAWS WAFAturan Kontrol Bot dan kemudian menggabungkan label aturan dengan kriteria pengecualian.

Aturan berikut menggunakan grup aturan terkelola Kontrol Bot tetapi mengubah tindakan aturan untukSignalNonBrowserUserAgentuntuk menghitung, dengan mengecualikannya dari pemrosesan kelompok aturan normal. Aturan sinyal menerapkan labelnya seperti biasa untuk permintaan yang cocok, tetapi hanya menghitungnya alih-alih melakukan tindakan blok yang biasa.

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

Aturan berikut cocok dengan label sinyal yang ditambahkan aturan pengecualian Kontrol Bot sebelumnya ke permintaan web yang cocok. Di antara permintaan sinyal, aturan ini memblokir semua kecuali yang memiliki agen pengguna yang ingin Anda izinkan.

Aturan berikut harus dijalankan setelah grup aturan terkelola Kontrol Bot sebelumnya di urutan pemrosesan ACL web.

{ "Name": "match_rule", "Statement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:signal:non_browser_user_agent" } }, { "NotStatement": { "Statement": { "ByteMatchStatement": { "FieldToMatch": { "SingleHeader": { "Name": "user-agent" } }, "PositionalConstraint": "EXACTLY", "SearchString": "PostmanRuntime/7.29.2", "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ] } } } } ] } }, "RuleLabels": [], "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "match_rule" } }