As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Trabalhar com condições de correspondência regex
Atenção
O suporte ao AWS WAF Classic terminará em 30 de setembro de 2025.
nota
Essa é a documentação do AWS WAF Classic. Você só deverá usar essa versão se tiver criado recursos do AWS WAF, como regras e web ACLs, no AWS WAF antes de novembro de 2019, e ainda não os tiver migrado para a versão mais recente. Para migrar suas ACLs da Web, consulte Como migrar recursos do AWS WAF Classic para o AWS WAF.
Para obter a versão mais recente do AWS WAF, consulte AWS WAF.
Se você quiser permitir ou bloquear solicitações da web com base em strings que correspondam a um padrão de expressão regular (regex) exibido nas solicitações, crie uma ou mais condições de correspondência regex. Uma condição de correspondência de expressão regular é um tipo de condição de correspondência da string que identifica o padrão que você deseja procurar e a parte das solicitações da web, como um cabeçalho especificado ou a string de consulta, que você deseja que o AWS WAF Classic inspecione em busca do padrão. Posteriormente no processo, ao criar uma ACL da web, você especifica se deseja permitir ou bloquear solicitações que contenham o padrão.
Tópicos
Criar uma condição de correspondência regex
Ao criar condições de correspondência regex, você especifica conjuntos de padrões que identificam a string (usando uma expressão regular) que deseja procurar. Em seguida, você adiciona esses conjuntos padrão a filtros que especificam a parte das solicitações da web que deseja que o AWS WAF Classic inspecione em busca desse padrão definido, como o URI ou a string de consulta.
Você pode adicionar várias expressões regulares a um único conjunto de padrões. Se você fizer isso, essas expressões serão combinadas com um OR. Ou seja, uma solicitação da web corresponderá ao conjunto de padrões se a parte apropriada da solicitação corresponder a qualquer uma das expressões listadas.
Ao adicionar uma condição de correspondência de expressão regular a uma regra, você também pode configurar o AWS WAF Classic para permitir ou bloquear solicitações da web que não correspondam aos valores da condição.
O AWS WAF Classic oferece suporte à maioria das Perl Compatible Regular Expressions (PCRE) padrão
Referências reversas e subexpressões de captura
Asserções de largura zero arbitrárias
Referências de sub-rotina e padrões recursivos
Padrões condicionais
Verbos de controle de referência reversa
A diretiva de byte único \C
A diretiva de correspondência de nova linha \R
O início \K da diretiva de redefinição da correspondência
Callouts e códigos integrados
Agrupamento atômico e quantificadores possessivos
Para criar uma condição de correspondência regex
Faça login no AWS Management Console e abra o console do AWS WAF em https://console.aws.amazon.com/wafv2/
. Se você vir Switch to AWS WAF Classic no painel de navegação, selecione-o.
No painel de navegação, escolha String and regex matching.
Escolha Create condition.
Especifique as configurações de filtro aplicáveis. Para ter mais informações, consulte Valores especificados ao criar ou editar condições de correspondência RegEx.
Escolha Create pattern set and add filter se você tiver criado um novo conjunto de padrões, ou Add filter se você tiver usado um conjunto de padrões existente.
Escolha Criar.
Valores especificados ao criar ou editar condições de correspondência RegEx
Ao criar ou atualizar uma condição de correspondência regex, você especifica os seguintes valores:
- Nome
Digite um nome para a condição de correspondência regex. O nome pode conter somente os caracteres alfanuméricos (A-Z, a-z, 0-9) ou os seguintes caracteres especiais _-!"#`+*},./. Você não poderá alterar o nome de uma condição depois de criá-la.
- Tipo
Escolha Regex match.
- Parte da solicitação a ser usada como filtro
Escolha a parte de cada solicitação da web na qual você deseja que o AWS WAF Classic procure o padrão especificado em Valor para correspondência:
- Cabeçalho
Um cabeçalho da solicitação especificada, como o cabeçalho
User-Agent
ouReferer
. Se você selecionar Header, especifique o nome do cabeçalho no campo Header.- Método HTTP
O método HTTP, que indica o tipo de operação que a solicitação pede à origem para executar. O CloudFront oferece suporte aos seguintes métodos:
DELETE
,GET
,HEAD
,OPTIONS
,PATCH
,POST
ePUT
.- String de consulta
A parte de um URL exibida após um caractere
?
, se houver.- URI
O caminho do URI da solicitação, que identifica o recurso, por exemplo,
/images/daily-ad.jpg
. Isso não inclui a string de consulta ou os componentes de fragmento do URI. Para obter mais informações, consulte Identificador de recurso uniforme (URI): sintaxe genérica. A menos que uma Transformação seja especificada, um URI não será normalizado, mas sim inspecionado, exatamente como a AWS o receber do cliente como parte da solicitação. Uma Transformação reformata o URI conforme especificado.
- Corpo
A parte de uma solicitação que contém dados adicionais que você deseja enviar para o seu servidor web na forma de corpo da solicitação HTTP, como dados de um formulário.
nota
Se você selecionar Corpo para o valor de Parte da solicitação a ser usada como filtro, o AWS WAF Classic inspecionará somente os primeiros 8.192 bytes (8 KB). Para permitir ou bloquear solicitações para as quais o corpo seja maior que 8.192 bytes, você pode criar uma condição de restrição de tamanho. (O AWS WAF Classic obtém o comprimento do corpo dos cabeçalhos da solicitação.) Para ter mais informações, consulte Trabalhar com condições de restrição de tamanho.
- Parâmetro de consulta única (somente valor)
Qualquer parâmetro que você tenha definido como parte da string de consulta. Por exemplo, se o URL for “www.xyz.com?UserName=abc&SalesRegion=seattle”, você pode adicionar um filtro para o parâmetro UserName ou SalesRegion.
Se os parâmetros duplicados aparecem na string de consulta, os valores serão avaliadas como um “OR”. Ou seja, nenhum dos valores acionará uma correspondência. Por exemplo, no URL “www.xyz.com?SalesRegion=boston&SalesRegion=seattle”, um padrão que corresponda a “boston” ou “seattle” em Valor para corresponder acionará uma correspondência.
Se você escolher Single query parameter (value only) [Parâmetro de consulta única (somente valor)], também especificará um Query parameter name (Nome de parâmetro de consulta). Este é o parâmetro na string de consulta que você vai inspecionar, tal como UserName ou SalesRegion. O tamanho máximo do Query parameter name (Nome de parâmetro de consulta) é 30 caracteres. O Query parameter name (Nome de parâmetro de consulta) não diferencia maiúsculas de minúsculas. Por exemplo, se você especificar UserName como Query parameter name (Nome de parâmetro de consulta), todas as variações de UserName serão correspondentes, como username e UsERName.
- Todos os parâmetros de consulta (somente valores)
Semelhante ao Parâmetro de consulta única (somente valor), mas em vez de inspecionar o valor de um único parâmetro, o AWS WAF Classic inspeciona o valor de todos os parâmetros na string de consulta quanto ao padrão especificado em Valor para corresponder. Por exemplo, no URL “www.xyz.com?UserName=abc&SalesRegion=seattle”, um padrão em Valor para corresponder que corresponda ao valor em UserName ou SalesRegion vai acionar uma correspondência.
- Cabeçalho (somente quando “Parte da solicitação a ser usada como filtro” for “Cabeçalho”)
Se você selecionar Cabeçalho da lista Parte da solicitação a ser usada como filtro, escolha um cabeçalho na lista de cabeçalhos comuns ou digite o nome de um cabeçalho que você deseja que o AWS WAF Classic inspecione.
- Transformação
Uma transformação reformata uma solicitação da web antes de o AWS WAF Classic inspecionar a solicitação. Isso elimina algumas das formatações incomuns que os invasores usam em solicitações da web na tentativa de evitar o AWS WAF Classic.
Você só pode especificar um único tipo de transformação de texto.
As transformações podem executar as seguintes operações:
- Nenhum
O AWS WAF Classic não executa nenhuma transformação de texto na solicitação da web antes de inspecioná-la em busca da string em Valor para correspondência.
- Converter para minúsculas
O AWS WAF Classic converte letras maiúsculas (A-Z) em minúsculas (a-z).
- Decodificação de HTML
O AWS WAF Classic substitui caracteres codificados em HTML por caracteres não codificados:
Substitui
"
por&
Substitui
por espaço incondicionalSubstitui
<
por<
Substitui
>
por>
Substitui caracteres representados em formato hexadecimal,
&#xhhhh;
, pelos caracteres correspondentesSubstitui caracteres representados em formato decimal,
&#nnnn;
, pelos caracteres correspondentes
- Normalizar espaços em branco
O AWS WAF Classic substitui os seguintes caracteres por um caractere de espaço (decimal 32):
\f, quebra de página, decimal 12
\t, tabulação, decimal 9
\n, quebra de linha, decimal 10
\r, retorno de carro, decimal 13
\v, tabulação vertical, decimal 11
espaço incondicional, decimal 160
Além disso, essa opção substitui vários espaços por um único.
- Simplificar a linha de comando
Quando você estiver preocupado que os invasores estão injetando um comando de linha de comando no sistema operacional e usando formatações incomuns para mascarar alguns ou todos os comandos, use esta opção para executar as seguintes transformações:
Excluir os seguintes caracteres: \" '^
Excluir espaços antes os seguintes caracteres: / (
Substituir os seguintes caracteres por um espaço: , ;
Substituir vários espaços por um espaço
Converter maiúsculas (A-Z) em minúsculas (a-z)
- Decodificar URL
Decodifica uma solicitação codificada por URL.
- Padrão Regex de acordo com a solicitação
-
Você pode escolher um conjunto de padrões existente ou criar um novo. Se você criar um novo, especifique o seguinte:
- Nome do novo conjunto padrão
Digite um nome e especifique o padrão regex que você deseja que o AWS WAF Classic procure.
Se você adicionar várias expressões regulares a um conjunto de padrões, essas expressões serão combinadas com um OR. Ou seja, uma solicitação da web corresponderá ao conjunto de padrões se a parte apropriada da solicitação corresponder a qualquer uma das expressões listadas.
O tamanho máximo de Value to match é 70 caracteres.
Editar uma condição de correspondência regex
Você pode fazer as seguintes alterações em uma condição de correspondência regex existente:
Excluir um padrão de um conjunto de padrões existente
Adicionar um padrão a um conjunto de padrões existente
Excluir um filtro de uma condição de correspondência regex existente
Adicione um filtro a uma condição de correspondência de expressão regular existente (você pode ter somente um filtro em uma condição de correspondência de expressão regular. Portanto, para adicionar um filtro, você deve excluir o filtro existente primeiro.)
Excluir uma condição de correspondência regex existente
nota
Você não pode adicionar nem excluir um conjunto de padrões de um filtro existente. Você deve editar o conjunto de padrões ou excluir o filtro e criar um novo filtro com um novo conjunto de padrões.
Para excluir um padrão de um conjunto de padrões existente
Faça login no AWS Management Console e abra o console do AWS WAF em https://console.aws.amazon.com/wafv2/
. Se você vir Switch to AWS WAF Classic no painel de navegação, selecione-o.
No painel de navegação, escolha String and regex matching.
Escolha View regex pattern sets.
Escolha o nome do conjunto de padrões que você deseja editar.
Selecione a opção Editar.
Escolha o X ao lado do padrão que você deseja excluir.
Escolha Salvar.
Para adicionar um padrão a um conjunto de padrões existente
Faça login no AWS Management Console e abra o console do AWS WAF em https://console.aws.amazon.com/wafv2/
. Se você vir Switch to AWS WAF Classic no painel de navegação, selecione-o.
No painel de navegação, escolha String and regex matching.
Escolha View regex pattern sets.
Escolha o nome do conjunto de padrões a ser editado.
Selecione a opção Editar.
Digite um novo padrão regex.
Escolha o + ao lado do novo padrão.
Escolha Salvar.
Para excluir um filtro de uma condição de correspondência regex existente
Faça login no AWS Management Console e abra o console do AWS WAF em https://console.aws.amazon.com/wafv2/
. Se você vir Switch to AWS WAF Classic no painel de navegação, selecione-o.
No painel de navegação, escolha String and regex matching.
Escolha o nome da condição com o filtro que você deseja excluir.
Escolha a caixa ao lado do filtro que você deseja excluir.
Escolha Delete filter.
Para excluir uma condição de correspondência regex
Faça login no AWS Management Console e abra o console do AWS WAF em https://console.aws.amazon.com/wafv2/
. Se você vir Switch to AWS WAF Classic no painel de navegação, selecione-o.
Exclua o filtro da condição regex. Consulte Para excluir um filtro de uma condição de correspondência regex existente para obter instruções sobre como fazer isso.
Remova a condição de correspondência regex das regras que a estejam usando:
No painel de navegação, escolha Rules.
Escolha o nome de uma regra que esteja usando a condição de correspondência regex que você deseja excluir.
No painel à direita, escolha Edit rule.
Escolha o X ao lado da condição que você deseja excluir.
Selecione Atualizar.
Repita para todas as demais regras que estejam usando a condição de correspondência regex que você deseja excluir.
No painel de navegação, escolha String and regex matching.
Selecione o botão ao lado da condição que você deseja excluir.
Escolha Excluir.
Para adicionar ou alterar um filtro para uma condição de correspondência regex existente
Você pode ter somente um filtro em uma condição de correspondência regex. Se quiser adicionar ou alterar o filtro, você deve primeiro excluir o filtro existente.
Faça login no AWS Management Console e abra o console do AWS WAF em https://console.aws.amazon.com/wafv2/
. Se você vir Switch to AWS WAF Classic no painel de navegação, selecione-o.
Exclua o filtro da condição regex que você deseja alterar. Consulte Para excluir um filtro de uma condição de correspondência regex existente para obter instruções sobre como fazer isso.
No painel de navegação, escolha String and regex matching.
Escolha o nome da condição que você deseja alterar.
Escolha Adicionar filtro.
Insira os valores apropriados para o novo filtro e escolha Add.