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 string
Atenção
AWS WAF O suporte clássico terminará em 30 de setembro de 2025.
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 webACLs, AWS WAF antes de novembro de 2019 e ainda não os tiver migrado para a versão mais recente. Para migrar sua webACLs, consulteMigrando seus recursos AWS WAF clássicos para AWS WAF.
Para obter a versão mais recente do AWS WAF, consulteAWS WAF.
Se você deseja permitir ou bloquear solicitações da web com base nas strings que aparecem nas solicitações, crie uma ou mais condições de correspondência de string. Uma condição de correspondência de string identifica a string 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 em busca da string. Posteriormente no processo, ao criar uma webACL, você especifica se deseja permitir ou bloquear solicitações que contenham a string.
Tópicos
Criar uma condição de correspondência de string
Ao criar condições de correspondência de string, você especifica filtros que identificam a string que você deseja pesquisar e a parte das solicitações da web que você deseja que o AWS WAF Classic inspecione para essa string, como a string de consulta URI ou a string de consulta. Você pode adicionar mais de um filtro a uma condição de correspondência de string, ou então criar uma condição de correspondência de string separada para cada filtro. Veja como cada configuração afeta o comportamento do AWS WAF Classic:
Um filtro por condição de correspondência de string — Quando você adiciona as condições de correspondência de string separadas a uma regra e adiciona a regra a uma webACL, 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.
Por exemplo, vamos supor que você cria duas condições. Uma corresponde às solicitações da web que contêm o valor
BadBot
no cabeçalhoUser-Agent
. A outra corresponde a solicitações da web que contêm o valorBadParameter
nas strings de consulta. Quando você adiciona as duas condições à mesma regra e adiciona a regra a uma webACL, o AWS WAF Classic permite ou bloqueia solicitações somente quando elas contêm os dois valores.Mais de um filtro por condição de correspondência de string — Quando você adiciona uma condição de correspondência de string que contém vários filtros a uma regra e adiciona a regra a uma webACL, uma solicitação da web precisa corresponder apenas a um dos filtros na condição de correspondência de string para que o AWS WAF Classic permita ou bloqueie a solicitação com base em uma condição.
Suponha que você crie uma condição em vez de duas, e a única condição contenha os mesmos dois filtros do exemplo anterior. AWS WAF O Classic permite ou bloqueia solicitações se elas contiverem
BadBot
noUser-Agent
cabeçalho ouBadParameter
na string de consulta.
nota
Ao adicionar uma condição de correspondência de string 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.
Para criar uma condição de correspondência de string
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.
No painel de navegação, escolha String and regex matching.
Escolha Create condition.
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 string.
Escolha Adicionar filtro.
Se você quiser adicionar outro filtro, repita as etapas 4 e 5.
Ao terminar de adicionar os filtros, escolha Criar.
Valores especificados ao criar ou editar condições de correspondência de string
Ao criar ou atualizar uma condição de correspondência de string, você especifica os seguintes valores:
- Nome
Digite um nome para a condição de correspondência de string. 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 String 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 da string especificada em Valor para corresponder:
- 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.- HTTPmétodo
O HTTP método, que indica o tipo de operação que a solicitação está solicitando que a origem execute. CloudFront suporta os seguintes métodos:
DELETE
GET
,HEAD
,OPTIONS
PATCH
,POST
,,PUT
e.- String de consulta
A parte de a URL que aparece depois de um
?
caractere, se houver.- URI
O URI caminho da solicitação, que identifica o recurso, por exemplo,
/images/daily-ad.jpg
. Isso não inclui a sequência de caracteres de consulta ou os componentes de fragmento doURI. Para obter informações, consulte Uniform Resource Identifier (URI): sintaxe genérica. A menos que uma transformação seja especificada, a não URI é normalizada e é inspecionada da mesma forma que a AWS recebe do cliente como parte da solicitação. Uma transformação reformatará o URI conforme especificado.
- Corpo
A parte de uma solicitação que contém todos os dados adicionais que você deseja enviar ao seu servidor web como corpo da HTTP solicitação, 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 obter 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 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, em URL “www.xyz.com? SalesRegion =boston& SalesRegion =seattle”, “boston” ou “seattle” em Value to match acionarão uma partida.
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 de consulta, isso corresponderá a todas as variações de UserName, como nome de usuário e sERNameU.
- 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 para verificar se o valor corresponde. Por exemplo, se 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 UserNameou SalesRegionfor especificado como o Valor a ser correspondido.
- 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.
- Tipo de correspondência
Na parte da solicitação que você deseja que o AWS WAF Classic inspecione, escolha onde a string em Value to match deve aparecer para corresponder a esse filtro:
- Contém
A string aparece em qualquer lugar da parte especificada da solicitação.
- Contém palavra
A parte especificada da solicitação da web deve incluir Value to match, e Value to match deve conter apenas caracteres alfanuméricos ou sublinhado (A-Z, a-z, 0-9 ou _). Além disso, Value to match deve ser uma palavra que tem um dos seguintes significados:
Value to match corresponde exatamente ao valor da parte especificada da solicitação da web, como o valor de um cabeçalho.
Value to match está no início da parte especificada da solicitação da web e é seguido por um caractere diferente de um caractere alfanumérico ou sublinhado (_), por exemplo,
BadBot;
.Value to match está no fim da parte especificada da solicitação da web e é precedido por um caractere diferente de um caractere alfanumérico ou sublinhado (_), por exemplo,
;BadBot
.Value to match está no meio da parte especificada da solicitação da web e é precedido e seguido por caracteres diferentes de caracteres alfanuméricos ou sublinhados (_), por exemplo,
-BadBot;
.
- Correspondência exata com
A string e o valor da parte especificada da solicitação são idênticos.
- Inicia com
A string aparece no início da parte especificada da solicitação.
- Termina com
A string aparece no fim da parte especificada da solicitação.
- 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).
- HTMLdecodificar
AWS WAF O clássico substitui caracteres HTML codificados 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
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)
- URLdecodificar
Decodifique uma solicitação URL codificada.
- O valor é codificado por Base64
Se o valor em Value to match for codificado por Base64, marque esta caixa de seleção. Use a codificação Base64 para especificar caracteres não imprimíveis, como guias e linefeeds, que os invasores incluem em suas solicitações.
- Valor para corresponder
Especifique o valor que você deseja que o AWS WAF Classic pesquise nas solicitações da web. O comprimento máximo é de 50 bytes. Se você for codificar o valor por base64, o comprimento máximo de 50 bytes será aplicado ao valor antes de ser codificado.
Adicionar e excluir filtros em uma condição de correspondência de string
Você pode adicionar filtros a uma condição de correspondência de string ou excluir filtros. Para alterar um filtro, adicione um novo e exclua o antigo.
Para adicionar ou excluir filtros em uma condição de correspondência de string
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.
No painel de navegação, escolha String and regex matching.
Escolha a condição na qual você deseja adicionar ou excluir filtros.
Para adicionar filtros, execute as etapas a seguir:
Escolha Adicionar filtro.
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 string.
Escolha Adicionar.
Para excluir filtros, execute as etapas a seguir:
Selecione o filtro que você deseja excluir.
Escolha Delete Filter.
Excluir condições de correspondência de string
Se você deseja excluir uma condição de correspondência de string, é 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.
Para excluir uma condição de correspondência de string
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.
Remova a condição de correspondência da string das regras que a estejam usando:
No painel de navegação, escolha Regras.
Escolha o nome de uma regra que esteja usando a condição de correspondência de string 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 de string que você deseja excluir.
Remova os filtros da condição que você deseja excluir:
No painel de navegação, escolha String and regex matching.
Escolha o nome da condição de correspondência da string que você deseja excluir.
No painel à direita, marque a caixa de seleção ao lado de Filter para selecionar todos os filtros.
Escolha Delete filter.
No painel de navegação, escolha String and regex matching.
No painel String and regex match conditions, selecione a condição de correspondência da string que você deseja excluir.
Selecione Delete para excluir a condição selecionada.