Memblokir permintaan login yang tidak memiliki token - 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.

Memblokir permintaan login yang tidak memiliki token

YangAWSGrup aturan Aturan TerkelolaAWSManagedRulesATPRuleSetmengizinkan permintaan dengan token yang valid dan memblokir permintaan dengan token yang tidak valid saat Anda menggunakannya dengan SDK integrasi aplikasi. Untuk detail tentang grup aturan, lihatAWS WAFKelompok aturan pencegahan pengambilalihan akun (ATP) Kontrol Penipuan.

Grup aturan tidak memblokir atau memberi label permintaan yang kehilangan token. Permintaan yang hilang tokennya akan dievaluasi sebagai berikut oleh fungsi validasi token grup aturan:

  1. YangTokenRejectedHasil aturan tidak cocok, karena tidak ada token untuk diperiksa. Itu tidak memblokir permintaan, dan itu tidaktidakmenerapkan labelawswaf:managed:token:rejecteduntuk permintaan.

  2. Layanan validasi token tidak menerapkan labelawswaf:managed:token:accepteduntuk permintaan.

Kecuali permintaan diblokir oleh beberapa aturan lain dalam grup aturan, itu akan keluar dari evaluasi grup aturan tanpa label inspeksi token, dan terus dievaluasi oleh ACL web.

Untuk memblokir permintaan ke endpoint login Anda yang kehilangan token mereka, tambahkan aturan untuk dijalankan segera setelah grup aturan terkelola ATP yang memblokir permintaan ke titik akhir login jika mereka tidak memilikiawswaf:managed:token:acceptedLabel.

Berikut ini adalah contoh daftar JSON untuk ACL web yang memiliki grup aturan terkelola dan aturan tambahan. Aturan yang ditambahkan tercantum dalam huruf tebal.

{ "Name": "exampleWebACL", "Id": "55555555-6666-7777-8888-999999999999", "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/webacl/exampleWebACL/55555555-4444-3333-2222-111111111111", "DefaultAction": { "Allow": {} }, "Description": "", "Rules": [ { "Name": "AWS-AWSManagedRulesATPRuleSet", "Priority": 1, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesATPRuleSet", "ManagedRuleGroupConfigs": [ { "LoginPath": "/web/login" }, { "PayloadType": "JSON" }, { "UsernameField": { "Identifier": "/form/username" } }, { "PasswordField": { "Identifier": "/form/password" } } ] } }, "OverrideAction": { "None": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSManagedRulesATPRuleSet" } }, { "Name": "RequireTokenForLogins", "Priority": 2, "Statement": { "AndStatement": { "Statements": [ { "NotStatement": { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:token:accepted" } } } }, { "ByteMatchStatement": { "SearchString": "/web/login", "FieldToMatch": { "UriPath": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "STARTS_WITH" } }, { "ByteMatchStatement": { "SearchString": "POST", "FieldToMatch": { "Method": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "EXACTLY" } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "RequireTokenForLogins" } } ], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "exampleWebACL" }, "Capacity": 51, "ManagedByFirewallManager": false, "LabelNamespace": "awswaf:111111111111:webacl:exampleWebACL:" }