

**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 de injeção de SQL
<a name="classic-web-acl-sql-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). 

Invasores às vezes inserem código SQL mal-intencionado em solicitações da web ma tentativa de extrair dados do seu banco de dados. Para permitir ou bloquear solicitações da web que aparentem conter código SQL mal-intencionado, crie uma ou mais condições de correspondência de injeção de SQL. Uma condição de correspondência de injeção de SQL identifica a parte das solicitações da web, como o caminho do URI ou a string de consulta, que você deseja que o AWS WAF Classic inspecione. Mais adiante no processo, ao criar uma web ACL, você especificará se deseja permitir ou bloquear solicitações que aparentem conter código SQL mal-intencionado.

**Topics**
+ [Criar condições de correspondência de injeção de SQL](#classic-web-acl-sql-conditions-creating)
+ [Valores especificados ao criar ou editar condições de correspondência de injeção de SQL](#classic-web-acl-sql-conditions-values)
+ [Adicionar e excluir filtros em uma condição de correspondência de injeção de SQL](#classic-web-acl-sql-conditions-editing)
+ [Excluir condições de correspondência de injeção de SQL](#classic-web-acl-sql-conditions-deleting)

## Criar condições de correspondência de injeção de SQL
<a name="classic-web-acl-sql-conditions-creating"></a>

Ao criar condições de correspondência de injeção de SQL, você especifica filtros, que indicam a parte das solicitações da Web que você deseja que o AWS WAF Classic inspecione em busca de código SQL mal-intencionado, como o URI ou a string de consulta. Você pode adicionar mais de um filtro a uma condição de correspondência de injeção de SQL ou criar uma condição separada para cada filtro. Veja como cada configuração afeta o comportamento do AWS WAF Classic:
+ **Mais de um filtro por condição de correspondência de injeção de SQL (recomendado)** — Quando você adiciona uma condição de correspondência de injeção de SQL contendo vários filtros a uma regra e adiciona a regra a uma ACL da web, uma solicitação da web precisa corresponder apenas a um dos filtros na condição de correspondência de injeção de SQL para que o AWS WAF Classic permita ou bloqueie a solicitação com base nessa condição.

  Por exemplo, vamos supor que você crie uma condição de correspondência de injeção de SQL e a condição contém dois filtros. Um filtro instrui o AWS WAF Classic a inspecionar o URI em busca de código SQL malicioso e o outro instrui o AWS WAF Classic a inspecionar a string de consulta. AWS WAF *O Classic permite ou bloqueia solicitações se elas parecerem conter código SQL malicioso no URI *ou* na string de consulta.*
+ **Um filtro por condição de correspondência de injeção de SQL** — Quando você adiciona as condições de correspondência de injeção de SQL separadas a uma regra e adiciona a regra a uma ACL da web, as solicitações da web devem corresponder a todas as condições para que o AWS WAF Classic permita ou bloqueie solicitações com base nas condições. 

  Vamos supor que você crie duas condições e que cada condição contenha um dos dois filtros do exemplo anterior. Quando você adiciona as duas condições à mesma regra e adiciona a regra a uma ACL da web, o AWS WAF Classic permite ou bloqueia solicitações somente quando o URI e a string de consulta parecem conter código SQL malicioso.

**nota**  
Ao adicionar uma condição de correspondência de injeção de SQL a uma regra, você também pode configurar o AWS WAF Classic para permitir ou bloquear solicitações da web que *não* pareçam conter código SQL malicioso.<a name="classic-web-acl-sql-conditions-creating-procedure"></a>

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

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, selecione **SQL injection**.

1. Escolha **Create condition**.

1. Especifique as configurações de filtro aplicáveis. Para obter mais informações, consulte [Valores especificados ao criar ou editar condições de correspondência de injeção de SQL](#classic-web-acl-sql-conditions-values).

1. Escolha **Add another filter**.

1. Se você quiser adicionar outro filtro, repita as etapas 4 e 5.

1. Ao terminar de adicionar os filtros, escolha **Criar**.

## Valores especificados ao criar ou editar condições de correspondência de injeção de SQL
<a name="classic-web-acl-sql-conditions-values"></a>

Ao criar ou atualizar uma condição de correspondência de injeção de SQL, você especifica os seguintes valores: 

**Nome**  
O nome da condição de correspondência de injeção de SQL.  
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.

**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 de código SQL malicioso:    
**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.  
Para condições de correspondência de injeção de SQL, recomendamos que você selecione **Todos os parâmetros de consulta (somente valores)** em vez de **String de consulta** para **Parte da solicitação a ser usada como filtro**.  
**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 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 de possíveis códigos SQL maliciosos. Por exemplo, se o URL for “www.xyz.com? UserName =abc& SalesRegion =seattle” e você escolher **Todos os parâmetros de consulta (somente valores)**, o AWS WAF Classic acionará uma correspondência se o valor de um ou contiver um possível código SQL malicioso. *UserName*SalesRegion** 

**Cabeçalho**  
Se você escolher **Cabeçalho** **para filtrar parte da solicitação, 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 em busca de código SQL mal-intencionado.

**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**  
Para solicitações que contenham comandos de linha de comando do sistema operacional, 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.

## Adicionar e excluir filtros em uma condição de correspondência de injeção de SQL
<a name="classic-web-acl-sql-conditions-editing"></a>

Você pode adicionar ou excluir filtros em uma condição de correspondência de injeção de SQL. Para alterar um filtro, adicione um novo e exclua o antigo.<a name="classic-web-acl-sql-conditions-editing-procedure"></a>

**Para adicionar ou excluir filtros de uma condição de correspondência de injeção de SQL**

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, selecione **SQL injection**.

1. Escolha a condição na qual você deseja adicionar ou excluir filtros.

1. Para adicionar filtros, execute as etapas a seguir:

   1. Escolha **Adicionar filtro**.

   1. Especifique as configurações de filtro aplicáveis. Para obter mais informações, consulte [Valores especificados ao criar ou editar condições de correspondência de injeção de SQL](#classic-web-acl-sql-conditions-values).

   1. Escolha **Adicionar**.

1. Para excluir filtros, execute as etapas a seguir:

   1. Selecione o filtro que você deseja excluir.

   1. Escolha **Delete filter**.

## Excluir condições de correspondência de injeção de SQL
<a name="classic-web-acl-sql-conditions-deleting"></a>

Se você deseja excluir uma condição de correspondência de injeção de SQL, é preciso primeiro excluir todos os filtros na condição e remover a condição de todas as regras que a estiverem usando, conforme descrito no procedimento a seguir.<a name="classic-web-acl-sql-conditions-deleting-procedure"></a>

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

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, selecione **SQL injection**.

1. No painel **SQL injection match conditions**, selecione a condição de correspondência de SQL injection que você deseja excluir.

1. No painel direito, selecione a guia **Associated rules**.

   Se a lista de regras usando essa condição de correspondência de injeção de SQL estiver vazia, vá para a etapa 6. Se a lista contiver regras, anote-as e continue para a etapa 5.

1. Para remover a condição de correspondência de injeção de SQL das regras que a estão usando, execute as seguintes etapas:

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

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

   1. No painel direito, selecione a condição de correspondência de SQL injection que você deseja remover da regra e escolha **Remove selected condition**.

   1. Repita as etapas b e c para todas as demais regras que estão usando a condição de correspondência de injeção de SQL que você deseja excluir.

   1. No painel de navegação, selecione **SQL injection**.

   1. No painel **SQL injection match conditions**, selecione a condição de correspondência de SQL injection que você deseja excluir.

1. Selecione **Delete** para excluir a condição selecionada.