

**Apresentando uma nova experiência de console para AWS WAF**

Agora você pode usar a experiência atualizada para acessar a AWS WAF funcionalidade em qualquer lugar do console. Para obter mais detalhes, consulte [Trabalhando com o console](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

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
<a name="classic-web-acl-regex-conditions"></a>

**Atenção**  
AWS WAF O clássico está passando por um end-of-life processo planejado. Consulte seu AWS Health painel para ver os marcos e datas específicos da sua região.

**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 web ACLs, AWS WAF antes de novembro de 2019 e ainda não os tiver migrado para a versão mais recente. Para migrar sua web ACLs, consulte[Migrando seus recursos AWS WAF clássicos para AWS WAF](waf-migrating-from-classic.md).  
**Para obter a versão mais recente do AWS WAF**, consulte[AWS WAF](waf-chapter.md). 

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.

**Topics**
+ [Criar uma condição de correspondência regex](#classic-web-acl-regex-conditions-creating)
+ [Valores que você especifica ao criar ou editar condições de RegEx correspondência](#classic-web-acl-regex-conditions-values)
+ [Editar uma condição de correspondência regex](#classic-web-acl-regex-conditions-editing)

## Criar uma condição de correspondência regex
<a name="classic-web-acl-regex-conditions-creating"></a>

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](http://www.pcre.org/). 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 \$1C
+ A diretiva de correspondência de nova linha \$1R
+ O início \$1K da diretiva de redefinição da correspondência
+ Callouts e códigos integrados
+ Agrupamento atômico e quantificadores possessivos<a name="classic-web-acl-regex-conditions-creating-procedure"></a>

**Para criar uma condição de correspondência regex**

1. Faça login no Console de gerenciamento da AWS e abra o AWS WAF console em [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

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

1. Escolha **Create condition**.

1. Especifique as configurações de filtro aplicáveis. Para obter mais informações, consulte [Valores que você especifica ao criar ou editar condições de RegEx correspondência](#classic-web-acl-regex-conditions-values).

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

1. Escolha **Criar**.

## Valores que você especifica ao criar ou editar condições de RegEx correspondência
<a name="classic-web-acl-regex-conditions-values"></a>

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 \$1-\$1"\$1`\$1\$1\$1,./. 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. O CloudFront oferece suporte aos seguintes métodos: `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST` e `PUT`.  
**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 saber mais, consulte [Identificador de recurso uniforme (URI): sintaxe genérica](https://tools.ietf.org/html/rfc3986#section-3.3).   
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.  
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 obter mais informações, consulte [Trabalhar com condições de restrição de tamanho](classic-web-acl-size-conditions.md).  
**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. *UserName*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, 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 *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 o **nome do parâmetro de consulta**, isso corresponderá a todas as variações de *UserName*, como *nome de usuário e *Us ERName**.  
**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. *UserName*SalesRegion**

**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 `&quot;` por `&`
+ Substitui `&nbsp;` 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):  
+ \$1f, quebra de página, decimal 12
+ \$1t, tabulação, decimal 9
+ \$1n, quebra de linha, decimal 10
+ \$1r, retorno de carro, decimal 13
+ \$1v, 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: \$1" '^
+ 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
<a name="classic-web-acl-regex-conditions-editing"></a>

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.<a name="classic-web-acl-regex-conditions-editing-procedure-delete-pattern"></a>

**Para excluir um padrão de um conjunto de padrões existente**

1. Faça login no Console de gerenciamento da AWS e abra o AWS WAF console em [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

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

1. Escolha **View regex pattern sets**.

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

1. Escolha **Editar**.

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

1. Escolha **Salvar**.<a name="classic-web-acl-regex-conditions-editing-procedure-add-pattern"></a>

**Para adicionar um padrão a um conjunto de padrões existente**

1. Faça login no Console de gerenciamento da AWS e abra o AWS WAF console em [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

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

1. Escolha **View regex pattern sets**.

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

1. Escolha **Editar**.

1. Digite um novo padrão regex.

1. Escolha o **\$1** ao lado do novo padrão.

1. Escolha **Salvar**.<a name="classic-web-acl-regex-conditions-editing-procedure-delete-filter"></a>

**Para excluir um filtro de uma condição de correspondência regex existente**

1. Faça login no Console de gerenciamento da AWS e abra o AWS WAF console em [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

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

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

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

1. Escolha **Delete filter**.<a name="classic-web-acl-regex-conditions-editing-procedure-delete-regex-condition"></a>

**Para excluir uma condição de correspondência regex**

1. Faça login no Console de gerenciamento da AWS e abra o AWS WAF console em [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

1. Exclua o filtro da condição regex. Consulte [Para excluir um filtro de uma condição de correspondência regex existente](#classic-web-acl-regex-conditions-editing-procedure-delete-filter) para obter instruções sobre como fazer isso.

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

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

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

   1. No painel à direita, escolha **Edit rule**.

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

   1. Selecione **Atualizar**.

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

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

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

1. Escolha **Excluir**.<a name="classic-web-acl-regex-conditions-editing-procedure-add-filter"></a>

**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 Console de gerenciamento da AWS e abra o AWS WAF console em [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

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

1. 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](#classic-web-acl-regex-conditions-editing-procedure-delete-filter) para obter instruções sobre como fazer isso.

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

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

1. Escolha **Adicionar filtro**.

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