Trabalhar com condições de correspondência regex - AWS WAF, AWS Firewall Manager, e AWS Shield Advanced

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

nota

Essa é a documentação do AWS WAF Classic. Você só deve usar essa versão se tiver criado AWS WAF recursos, como regras e ACLs da web, AWS WAF antes de novembro de 2019 e ainda não os tiver migrado para a versão mais recente. Para migrar os recursos, consulte Migrando seus recursos AWS WAF clássicos para AWS WAF.

Para obter a versão mais recente do AWS WAF, consulteAWS 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 regex é um tipo de condição de correspondência de string que identifica o padrão que você deseja pesquisar 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 para ver o 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.

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 de padrões aos filtros que especificam a parte das solicitações da Web que você deseja que o AWS WAF Classic inspecione para esse conjunto de padrões, 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 regex 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.

AWS WAF O Classic suporta a maioria das expressões regulares compatíveis com Perl (PCRE) padrão. No entanto, não há suporte para o seguinte:

  • 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
  1. Faça login no AWS Management Console e abra o AWS WAF console em https://console.aws.amazon.com/wafv2/.

    Se você ver Alternar para o AWS WAF clássico no painel de navegação, selecione-o.

  2. No painel de navegação, escolha String and regex matching.

  3. Escolha Create condition.

  4. Especifique as configurações de filtro aplicáveis. Para ter mais informações, consulte Valores que você especifica ao criar ou editar condições de RegEx correspondência.

  5. 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.

  6. Escolha Criar.

Valores que você especifica ao criar ou editar condições de RegEx correspondência

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 que você deseja que o AWS WAF Classic inspecione em busca do padrão especificado em Value to match:

Cabeçalho

Um cabeçalho da solicitação especificada, como o cabeçalho User-Agent ou Referer. 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. CloudFront suporta os seguintes métodos: DELETEGET,HEAD, OPTIONSPATCH,POST,, PUT e.

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 é normalizado e é inspecionado da mesma forma que o AWS recebe 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. (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 ao parâmetro ou. UserNameSalesRegion

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, na URL “www.xyz.com? SalesRegion =boston& SalesRegion =seattle”, um padrão que corresponda a “boston” ou “seattle” em Value to match 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). Esse é o parâmetro na sequência de caracteres de consulta que você inspecionará, como UserNameou 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 UserNamecomo o nome do parâmetro Query, isso corresponderá a todas as variações de UserName, 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 em busca do padrão especificado no Valor a ser correspondente. Por exemplo, na URL “www.xyz.com? UserName =abc& SalesRegion =seattle”, um padrão em Value to match que corresponde ao valor em ou acionará uma correspondência. UserNameSalesRegion

Cabeçalho (somente quando “Parte da solicitação a ser usada como filtro” for “Cabeçalho”)

Se você escolher Cabeçalho na parte da solicitação para filtrar na lista, escolha um cabeçalho na lista de cabeçalhos comuns ou insira 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 que o AWS WAF Classic inspecione a solicitação. Isso elimina algumas das formatações incomuns que os invasores usam nas solicitações da web em um esforço para contornar o Classic. AWS WAF

Você só pode especificar um único tipo de transformação de texto.

As transformações podem executar as seguintes operações:

Nenhum

AWS WAF O Classic não realiza nenhuma transformação de texto na solicitação da web antes de inspecioná-la para verificar se a string em Value corresponde.

Converter para minúsculas

AWS WAF O Classic converte letras maiúsculas (A-Z) em minúsculas (a-z).

Decodificação de HTML

AWS WAF O Classic substitui caracteres codificados em HTML por caracteres não codificados:

  • Substitui " por &

  • Substitui   por espaço incondicional

  • Substitui &lt; por <

  • Substitui &gt; por >

  • Substitui caracteres representados em formato hexadecimal, &#xhhhh;, pelos caracteres correspondentes

  • Substitui caracteres representados em formato decimal, &#nnnn;, pelos caracteres correspondentes

Normalizar espaços em branco

AWS WAF O clássico 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

Insira um nome e, em seguida, especifique o padrão regex que você deseja que o AWS WAF Classic pesquise.

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
  1. Faça login no AWS Management Console e abra o AWS WAF console em https://console.aws.amazon.com/wafv2/.

    Se você ver Alternar para o AWS WAF clássico no painel de navegação, selecione-o.

  2. No painel de navegação, escolha String and regex matching.

  3. Escolha View regex pattern sets.

  4. Escolha o nome do conjunto de padrões que você deseja editar.

  5. Selecione a opção Editar.

  6. Escolha o X ao lado do padrão que você deseja excluir.

  7. Selecione Salvar.

Para adicionar um padrão a um conjunto de padrões existente
  1. Faça login no AWS Management Console e abra o AWS WAF console em https://console.aws.amazon.com/wafv2/.

    Se você ver Alternar para o AWS WAF clássico no painel de navegação, selecione-o.

  2. No painel de navegação, escolha String and regex matching.

  3. Escolha View regex pattern sets.

  4. Escolha o nome do conjunto de padrões a ser editado.

  5. Selecione a opção Editar.

  6. Digite um novo padrão regex.

  7. Escolha o + ao lado do novo padrão.

  8. Selecione Salvar.

Para excluir um filtro de uma condição de correspondência regex existente
  1. Faça login no AWS Management Console e abra o AWS WAF console em https://console.aws.amazon.com/wafv2/.

    Se você ver Alternar para o AWS WAF clássico no painel de navegação, selecione-o.

  2. No painel de navegação, escolha String and regex matching.

  3. Escolha o nome da condição com o filtro que você deseja excluir.

  4. Escolha a caixa ao lado do filtro que você deseja excluir.

  5. Escolha Delete filter.

Para excluir uma condição de correspondência regex
  1. Faça login no AWS Management Console e abra o AWS WAF console em https://console.aws.amazon.com/wafv2/.

    Se você ver Alternar para o AWS WAF clássico no painel de navegação, selecione-o.

  2. 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.

  3. Remova a condição de correspondência regex das regras que a estejam usando:

    1. No painel de navegação, escolha Rules.

    2. Escolha o nome de uma regra que esteja usando a condição de correspondência regex que você deseja excluir.

    3. No painel à direita, escolha Edit rule.

    4. Escolha o X ao lado da condição que você deseja excluir.

    5. Escolha Atualizar.

    6. Repita para todas as demais regras que estejam usando a condição de correspondência regex que você deseja excluir.

  4. No painel de navegação, escolha String and regex matching.

  5. Selecione o botão ao lado da condição que você deseja excluir.

  6. Escolha Delete.

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.

  1. Faça login no AWS Management Console e abra o AWS WAF console em https://console.aws.amazon.com/wafv2/.

    Se você ver Alternar para o AWS WAF clássico no painel de navegação, selecione-o.

  2. 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.

  3. No painel de navegação, escolha String and regex matching.

  4. Escolha o nome da condição que você deseja alterar.

  5. Escolha Adicionar filtro.

  6. Insira os valores apropriados para o novo filtro e escolha Add.