Apresentação de uma nova experiência de console para o AWS WAF
Agora você pode usar a experiência atualizada para acessar a funcionalidade do AWS WAF em qualquer lugar no console. Consulte mais detalhes em Trabalhar com a experiência atualizada do console.
Como inserir cabeçalhos de solicitação personalizados para ações sem bloqueio
Essa seção explica como instruir o AWS WAF a inserir cabeçalhos personalizados na solicitação HTTP original quando uma ação de regra não bloquear a solicitação. Com essa opção, você só adiciona itens à solicitação. Não é possível modificar nem substituir nenhuma parte da solicitação original. Os casos de uso para inserção de cabeçalhos personalizados incluem sinalizar um aplicativo de downstream para processar a solicitação de forma diferente com base nos cabeçalhos inseridos e sinalizar a solicitação para análise.
Importante
Essa opção se aplica às ações das regras Allow, Count, CAPTCHA e Challenge e às ações padrão do pacote de proteção (ACL da Web) que são definidas como Allow. Para obter mais informações sobre as ações de regra, consulte Como usar ações de regras no AWS WAF. Para obter mais informações sobre as ações padrão dos pacotes de proteção (ACL da Web), consulte Definir a ação padrão do pacote de proteção (ACL da Web) no AWS WAF.
Considerações ao usar nomes de cabeçalhos de solicitações personalizados
Prefixos adicionados aos cabeçalhos de solicitações
O AWS WAF prefixa todos os cabeçalhos de solicitação nos quais ele insere x-amzn-waf-, para evitar confusão com os cabeçalhos que já estão na solicitação. Por exemplo, se você especificar o nome do cabeçalho sample, o AWS WAF insere o cabeçalho x-amzn-waf-sample.
Importante
Como prática de segurança, você pode adicionar uma regra de correspondência de strings que bloqueia as solicitações nas quais o cabeçalho já começa com x-amzn-waf-. Essa regra bloqueia solicitações de origens não AWS WAF que imitam a string de prefixo x-amzn-waf- que é inserida pelo AWS WAF ao processar cabeçalhos de solicitações personalizados.
O exemplo a seguir mostra uma regra de correspondência de strings configurada para bloquear tráfego no qual o prefixo x-amzn-waf- não foi inserido pelo AWS WAF:
"Rules": [ { "Name": "CustomHeader", "Priority": 0, "Statement": { "ByteMatchStatement": { "SearchString": " x-amzn-waf-", "FieldToMatch": { "Headers": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "STARTS_WITH" } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "CustomHeader" } } ]
Para obter informações sobre o uso de regras de correspondência de strings, consulte Instrução de regra de correspondência de string.
Cabeçalhos com o mesmo nome
Se a solicitação já tiver um cabeçalho com o mesmo nome que o AWS WAF está inserindo, o AWS WAF substituirá o cabeçalho. Portanto, se você definir cabeçalhos em várias regras com nomes idênticos, a última regra a inspecionar a solicitação e encontrar uma correspondência teria seu cabeçalho adicionado, e as regras anteriores não.
Cabeçalhos personalizados com ações das regras que não são de encerramento
Ao contrário da ação Allow, a ação Count não impede o AWS WAF de processar a solicitação da Web usando as demais regras do pacote de proteção (ACL da Web). Da mesma forma, quando CAPTCHA e Challenge determinam que o token da solicitação é válido, essas ações não param o AWS WAF de processar a solicitação da web. Portanto, se você inserir cabeçalhos personalizados usando uma regra com uma dessas ações, as regras subsequentes também poderão inserir cabeçalhos personalizados. Para obter mais informações sobre comportamento de ações de regra, consulte Como usar ações de regras no AWS WAF.
Por exemplo, suponha que você tenha as seguintes regras, priorizadas na ordem mostrada:
-
RegraA com uma ação Count e um cabeçalho personalizado chamado
RuleAHeader. -
RegraB com uma ação Allow e um cabeçalho personalizado chamado
RuleBHeader.
Se uma solicitação corresponder à RegraA e à RegraB, o AWS WAF insere os cabeçalhos x-amzn-waf-RuleAHeader e x-amzn-waf-RuleBHeader e, em seguida, encaminha a solicitação para o recurso protegido.
O AWS WAF insere cabeçalhos personalizados em uma solicitação da web quando termina de inspecionar a solicitação. Portanto, se você usar o tratamento personalizado de solicitações com uma regra que tenha a ação definida como Count, os cabeçalhos personalizados adicionados não serão inspecionados pelas regras subsequentes.
Exemplo de tratamento personalizado das solicitações
Você define o tratamento personalizado das solicitações para a ação de uma regra ou para uma ação padrão do pacote de proteção (ACL da Web). A lista a seguir mostra o JSON para o tratamento personalizado adicionado à ação padrão de um pacote de proteção (ACL da Web).
{ "Name": "SampleWebACL", "Scope": "REGIONAL", "DefaultAction": { "Allow": { "CustomRequestHandling": { "InsertHeaders": [ { "Name": "fruit", "Value": "watermelon" }, { "Name": "pie", "Value": "apple" } ] } } }, "Description": "Sample protection pack (web ACL) with custom request handling configured for default action.", "Rules": [], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SampleWebACL" } }