Contoh Kontrol Bot: 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.

Contoh Kontrol Bot: Buat pengecualian untuk agen pengguna yang diblokir

Jika lalu lintas dari beberapa agen pengguna non-browser diblokir secara keliru, Anda dapat membuat pengecualian dengan menetapkan aturan Kontrol AWS WAF Bot yang menyinggung SignalNonBrowserUserAgent ke Hitung dan kemudian menggabungkan pelabelan aturan dengan kriteria pengecualian Anda.

catatan

Aplikasi seluler biasanya memiliki agen pengguna non-browser, yang diblokir SignalNonBrowserUserAgent aturan secara default.

Aturan berikut menggunakan grup aturan terkelola Bot Control tetapi mengesampingkan tindakan aturan SignalNonBrowserUserAgent untuk Menghitung. 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", "ManagedRuleGroupConfigs": [ { "AWSManagedRulesBotControlRuleSet": { "InspectionLevel": "COMMON" } } ], "RuleActionOverrides": [ { "ActionToUse": { "Count": {} }, "Name": "SignalNonBrowserUserAgent" } ], "ExcludedRules": [] } }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSBotControl-Example" } }

Aturan berikut cocok dengan label sinyal yang ditambahkan SignalNonBrowserUserAgent aturan Kontrol Bot ke permintaan webnya yang cocok. Di antara permintaan sinyal, aturan ini memblokir semua kecuali yang memiliki agen pengguna yang ingin kami izinkan.

Aturan berikut harus berjalan setelah grup aturan terkelola Kontrol Bot sebelumnya dalam 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" } }