Solicitar opções de componentes - 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á.

Solicitar opções de componentes

Esta seção descreve os componentes da solicitação da web que você pode especificar para inspeção. Você especifica o componente de solicitação para instruções de regra de correspondência que procuram padrões dentro da solicitação da web. Esses tipos de declarações incluem string match, regex match, restrição de tamanho e declarações de ataque de SQL injeção. Para obter informações sobre como usar essas configurações de componentes de solicitação, consulte as instruções de regras individuais em Instruções de regra de correspondência

Salvo indicação em contrário, se uma solicitação da Web não tiver o componente de solicitação especificado na declaração da regra, a solicitação será AWS WAF avaliada como não correspondendo aos critérios da regra.

nota

Especifique um único componente de solicitação para cada instrução de regra que o exija. Para inspecionar mais de um componente de uma solicitação, crie uma instrução de regra para cada componente.

O AWS WAF console e a API documentação fornecem orientação para as configurações do componente de solicitação nos seguintes locais:

  • Construtor de regras no console:Nas configurações de Instrução de um tipo de regra comum, escolha o componente que você deseja inspecionar na caixa de diálogo Inspecionar em Solicitar componentes.

  • APIconteúdo da declaraçãoFieldToMatch

O restante desta seção descreve as opções da parte da solicitação da web a inspecionar.

Método do HTTP

Inspeciona o HTTP método da solicitação. O HTTP método indica o tipo de operação que a solicitação da web está solicitando que seu recurso protegido execute, como POST ouGET.

Cabeçalho único

Inspeciona um único cabeçalho nomeado na solicitação.

Para essa opção, você especifica o nome do cabeçalho, por exemplo, User-Agent ou Referer. A correspondência de string para o nome não diferencia maiúsculas de minúsculas.

Todos os cabeçalhos

Inspeciona todos os cabeçalhos da solicitação, incluindo cookies. É possível aplicar um filtro para inspecionar um subconjunto de todos os cabeçalhos.

Para essa opção, você fornece as seguintes especificações:

  • Padrões de correspondência — O filtro a ser usado para obter um subconjunto de cabeçalhos para inspeção. AWS WAF procura esses padrões nas teclas dos cabeçalhos.

    A configuração de padrões de correspondência pode ser uma das seguintes:

    • Tudo:Corresponder todas as teclas. Avalie os critérios de inspeção de regras para todos os cabeçalhos.

    • Cabeçalhos excluídos:Inspeciona apenas os cabeçalhos cujas chaves não correspondem a nenhuma das strings especificadas aqui. A correspondência de string para uma chave não diferencia maiúsculas de minúsculas.

    • Cabeçalhos incluídos:Inspeciona apenas os cabeçalhos que têm uma chave que corresponda a uma das strings especificadas aqui. A correspondência de string para uma chave não diferencia maiúsculas de minúsculas.

  • Escopo correspondente — As partes dos cabeçalhos que AWS WAF devem ser inspecionadas de acordo com os critérios de inspeção da regra. Você pode especificar chaves, valores ou tudo para inspecionar as chaves e os valores em busca de uma correspondência.

    Tudo não exige que uma correspondência seja encontrada nas chaves e que uma correspondência seja encontrada nos valores. Isso requer que uma correspondência seja encontrada nas chaves, nos valores ou nos dois. Para exigir uma correspondência nas chaves e nos valores, use uma instrução lógica AND para combinar duas regras de correspondência, uma que inspeciona as chaves e outra que inspeciona os valores.

  • Manipulação de tamanho grande — Como AWS WAF lidar com solicitações que têm dados de cabeçalho maiores do que os que AWS WAF podem ser inspecionados. AWS WAF pode inspecionar no máximo os primeiros 8 KB (8.192 bytes) dos cabeçalhos da solicitação e no máximo os primeiros 200 cabeçalhos. O conteúdo está disponível para inspeção AWS WAF até o primeiro limite atingido. Você pode optar por continuar a inspeção ou pular a inspeção e marcar a solicitação como compatível ou não com a regra. Para obter mais informações sobre como processar conteúdo de tamanho acima do limite, consulte Tratamento de componentes de solicitação de tamanho grande no AWS WAF.

Ordem de cabeçalho

Inspecione uma string contendo a lista dos nomes dos cabeçalhos da solicitação, ordenados conforme aparecem na solicitação da web que AWS WAF recebe para inspeção. AWS WAF gera a string e, em seguida, a usa como campo para combinar o componente em sua inspeção. AWS WAF separa os nomes dos cabeçalhos na string com dois pontos e sem espaços adicionados, por exemplo. host:user-agent:accept:authorization:referer

Para essa opção, você fornece as seguintes especificações:

  • Manipulação de tamanho grande — Como AWS WAF lidar com solicitações que têm dados de cabeçalho mais numerosos ou maiores do que os que AWS WAF podem ser inspecionados. AWS WAF pode inspecionar no máximo os primeiros 8 KB (8.192 bytes) dos cabeçalhos da solicitação e no máximo os primeiros 200 cabeçalhos. O conteúdo está disponível para inspeção AWS WAF até o primeiro limite atingido. Você pode optar por continuar a inspeção dos cabeçalhos que estão disponíveis ou pular a inspeção e marcar a solicitação como compatível ou não com a regra. Para obter mais informações sobre como processar conteúdo de tamanho acima do limite, consulte Tratamento de componentes de solicitação de tamanho grande no AWS WAF.

Cookies

Inspeciona todos os cookies de solicitação. É possível aplicar um filtro para inspecionar um subconjunto de todos os cookies.

Para essa opção, você fornece as seguintes especificações:

  • Padrões de correspondência:O filtro a ser usado para obter um subconjunto de cookies para inspeção. O AWS WAF procura esses padrões nas chaves dos cookies.

    A configuração de padrões de correspondência pode ser uma das seguintes:

    • Tudo:Corresponder todas as teclas. Avalie os critérios de inspeção de regras para todos os cookies.

    • Cookies excluídos:Inspeciona apenas os cookies cujas chaves não correspondem a nenhuma das strings especificadas aqui. A correspondência de string para uma chave diferencia maiúsculas de minúsculas e deve ser exata.

    • Cookies incluídos:Inspeciona apenas os cookies que têm uma chave que corresponda a uma das strings especificadas aqui. A correspondência de string para uma chave diferencia maiúsculas de minúsculas e deve ser exata.

  • Escopo da correspondência — As partes dos cookies que AWS WAF devem ser inspecionadas de acordo com os critérios de inspeção da regra. Você pode especificar chaves, valores ou tudo para chaves e valores.

    Tudo não exige que uma correspondência seja encontrada nas chaves e que uma correspondência seja encontrada nos valores. Isso requer que uma correspondência seja encontrada nas chaves, nos valores ou nos dois. Para exigir uma correspondência nas chaves e nos valores, use uma instrução lógica AND para combinar duas regras de correspondência, uma que inspeciona as chaves e outra que inspeciona os valores.

  • Manipulação de tamanho grande — Como AWS WAF lidar com solicitações que têm dados de cookies maiores do que os que AWS WAF podem ser inspecionados. AWS WAF pode inspecionar no máximo os primeiros 8 KB (8.192 bytes) dos cookies de solicitação e no máximo os primeiros 200 cookies. O conteúdo está disponível para inspeção AWS WAF até o primeiro limite atingido. Você pode optar por continuar a inspeção ou pular a inspeção e marcar a solicitação como compatível ou não com a regra. Para obter mais informações sobre como processar conteúdo de tamanho acima do limite, consulte Tratamento de componentes de solicitação de tamanho grande no AWS WAF.

URIcaminho

Inspeciona a parte de um URL que identifica um recurso, por exemplo,. /images/daily-ad.jpg Para obter informações, consulte Uniform Resource Identifier (URI): sintaxe genérica.

Se você não usa uma transformação de texto com essa opção, AWS WAF não a normaliza URI e a inspeciona exatamente como a recebe do cliente na solicitação. Para obter mais informações sobre transformações de texto, consulte Opções de transformação de texto.

JA3impressão digital

Inspeciona a JA3 impressão digital da solicitação.

nota

JA3a inspeção de impressão digital está disponível somente para CloudFront distribuições da Amazon e Application Load Balancers.

A JA3 impressão digital é um hash de 32 caracteres derivado do TLS Client Hello de uma solicitação recebida. Essa impressão digital serve como um identificador exclusivo para a TLS configuração do cliente. AWS WAF calcula e registra essa impressão digital para cada solicitação que tenha informações suficientes TLS do Client Hello para o cálculo. Quase todas as solicitações da web incluem essas informações.

Como obter a JA3 impressão digital de um cliente

Você pode obter a JA3 impressão digital das solicitações de um cliente nos ACL registros da web. Se AWS WAF for capaz de calcular a impressão digital, ela a inclui nos registros. Para obter informações sobre os campos de log, consulte Campos de log.

Requisitos de instrução de regras

Você pode inspecionar a JA3 impressão digital somente dentro de uma instrução de correspondência de string definida para corresponder exatamente à string fornecida. Forneça a string de JA3 impressão digital dos registros em sua especificação de instrução string match para corresponder a quaisquer solicitações futuras que tenham a mesma TLS configuração. Para obter mais informações sobre instruções de regra de correspondência de string, consulte Instrução de regra de correspondência de string.

Você deve fornecer um comportamento de fallback para essa instrução de regra. O comportamento de fallback é o status de correspondência que você deseja atribuir AWS WAF à solicitação da web AWS WAF se não conseguir calcular a JA3 impressão digital. Se você optar pela correspondência, AWS WAF trata a solicitação como correspondente à instrução da regra e aplica a ação da regra à solicitação. Se você optar por não corresponder, AWS WAF tratará a solicitação como não correspondente à declaração da regra.

Para usar essa opção de correspondência, você deve registrar seu ACL tráfego na web. Para obter mais informações, consulte Registrando AWS WAF tráfego de ACL da web.

String de consulta

Inspeciona a parte do URL que aparece depois de um ? caractere, se houver.

nota

Para condições de correspondência de cross-site scripting, recomendamos que você escolha Todos os parâmetros de consulta em vez de String de consulta. A escolha de Todos os parâmetros de consulta adiciona 10% WCUs ao custo base.

Parâmetro de consulta única

Inspeciona um único parâmetro de consulta que você definiu como parte da cadeia de caracteres de consulta. AWS WAF inspeciona o valor do parâmetro que você especifica.

Para essa opção, você também especifica um Argumento de consulta. Por exemplo, se URL forwww.xyz.com?UserName=abc&SalesRegion=seattle, você pode especificar UserName ou SalesRegion para o argumento de consulta. O tamanho máximo para o nome do argumento é de 30 caracteres. O nome não diferencia maiúsculas e minúsculas, portanto, se você especificar UserName, o AWS WAF combina a todas as variações de UserName, incluindo username e UsERName.

Se a string de consulta contiver mais de uma instância do argumento de consulta que você especificou, AWS WAF inspeciona todos os valores em busca de uma correspondência usando a OR lógica. Por exemplo, no URLwww.xyz.com?SalesRegion=boston&SalesRegion=seattle, AWS WAF avalia o nome que você especificou em relação a boston e. seattle Se qualquer um for uma correspondência, a inspeção é uma correspondência.

Todos os parâmetros da consulta

Inspeciona todos os parâmetros de consulta na solicitação. Isso é semelhante à escolha do componente de parâmetro de consulta único, mas AWS WAF inspeciona os valores de todos os argumentos na string de consulta. Por exemplo, se URL forwww.xyz.com?UserName=abc&SalesRegion=seattle, AWS WAF acionará uma correspondência se o valor UserName ou SalesRegion corresponder aos critérios de inspeção.

A escolha dessa opção adiciona 10% WCUs ao custo base.

Corpo

Inspeciona o corpo da solicitação, avaliado como texto simples. Você também pode avaliar o corpo JSON usando o tipo de JSON conteúdo.

O corpo da solicitação é a parte da solicitação que segue imediatamente os cabeçalhos da solicitação. Contém quaisquer dados adicionais necessários para a solicitação da Web, por exemplo, dados de um formulário.

  • No console, você seleciona isso na opção Corpo da Opção de solicitação, selecionando a opção Tipo de conteúdo Texto simples.

  • EmAPI, na FieldToMatch especificação da regra, você especifica Body inspecionar o corpo da solicitação como texto sem formatação.

Para Application Load Balancer e AWS AppSync, AWS WAF pode inspecionar os primeiros 8 KB do corpo de uma solicitação. Pois CloudFront, o API Gateway, o Amazon Cognito, o App Runner e o Verified Access, por padrão, AWS WAF podem inspecionar os primeiros 16 KB e você pode aumentar o limite até 64 KB na sua configuração da web. ACL Para ter mais informações, consulte Gerenciando os limites de tamanho da inspeção corporal.

Você deve especificar o tratamento de tamanho grande para esse tipo de componente. O tratamento de tamanho grande define como AWS WAF lida com solicitações que têm dados corporais maiores do que os que AWS WAF podem ser inspecionados. Você pode optar por continuar a inspeção ou pular a inspeção e marcar a solicitação como compatível ou não com a regra. Para obter mais informações sobre como processar conteúdo de tamanho acima do limite, consulte Tratamento de componentes de solicitação de tamanho grande no AWS WAF.

Você também pode avaliar o corpo conforme analisado. JSON Para obter mais informações, consulte a seção abaixo.

JSONcorpo

Inspeciona o corpo da solicitação, avaliado comoJSON. Você também pode avaliar o corpo como texto simples.

O corpo da solicitação é a parte da solicitação que segue imediatamente os cabeçalhos da solicitação. Contém quaisquer dados adicionais necessários para a solicitação da Web, por exemplo, dados de um formulário.

  • No console, você seleciona isso na opção Corpo da opção Solicitação, selecionando a opção Tipo de conteúdo JSON.

  • NoAPI, na FieldToMatch especificação da regra, você especificaJsonBody.

Para Application Load Balancer e AWS AppSync, AWS WAF pode inspecionar os primeiros 8 KB do corpo de uma solicitação. Pois CloudFront, o API Gateway, o Amazon Cognito, o App Runner e o Verified Access, por padrão, AWS WAF podem inspecionar os primeiros 16 KB e você pode aumentar o limite até 64 KB na sua configuração da web. ACL Para ter mais informações, consulte Gerenciando os limites de tamanho da inspeção corporal.

Você deve especificar o tratamento de tamanho grande para esse tipo de componente. O tratamento de tamanho grande define como AWS WAF lida com solicitações que têm dados corporais maiores do que os que AWS WAF podem ser inspecionados. Você pode optar por continuar a inspeção ou pular a inspeção e marcar a solicitação como compatível ou não com a regra. Para obter mais informações sobre como processar conteúdo de tamanho acima do limite, consulte Tratamento de componentes de solicitação de tamanho grande no AWS WAF.

Escolher essa opção dobra o custo WCUs base do extrato da partida. Por exemplo, se o custo base da declaração de correspondência for 5 WCUs sem JSON análise, o uso da JSON análise dobra o custo para 10. WCUs

Para essa opção, você fornece especificações adicionais, conforme descrito na seção a seguir.

Como AWS WAF lida com a inspeção JSON corporal

Ao AWS WAF inspecionar o corpo da solicitação da web comoJSON, ele executa etapas para analisar o corpo e extrair os JSON elementos para inspeção. AWS WAF executa essas etapas de acordo com suas opções de configuração.

A seguir estão listadas as etapas que são AWS WAF executadas.

  1. Analisar o conteúdo do corpo — AWS WAF analisa o conteúdo do corpo da solicitação da web para extrair os JSON elementos para inspeção. AWS WAF faz o possível para analisar todo o conteúdo do corpo, mas a análise pode falhar em vários estados de erro no conteúdo. Os exemplos incluem caracteres inválidos, chaves duplicadas, truncamento e conteúdo cujo nó raiz não é um objeto ou uma matriz.

    A opção Body parsing fallback behavior determina o que AWS WAF acontece se ela falhar em analisar completamente o corpo: JSON

    • Nenhum (comportamento padrão) - AWS WAF avalia o conteúdo somente até o ponto em que ele encontrou um erro de análise.

    • Avaliar como string - inspecione o corpo como texto simples. AWS WAF aplica as transformações de texto e os critérios de inspeção que você definiu para a JSON inspeção à sequência de caracteres do corpo do texto.

    • Corresponder - Trate a solicitação da web como correspondente à declaração da regra. AWS WAF aplica a ação da regra à solicitação.

    • Sem correspondência: tratar a solicitação da Web como não correspondente à instrução de regra.

    nota

    Esse comportamento alternativo só é acionado quando AWS WAF encontra um erro ao analisar a string. JSON

    A análise não valida totalmente o JSON

    AWS WAF a análise não valida totalmente a JSON string de entrada, portanto, a análise pode ser bem-sucedida mesmo se for inválida. JSON

    Por exemplo, AWS WAF analisa o seguinte inválido JSON sem erros:

    • Vírgula ausente: {"key1":"value1""key2":"value2"}

    • Dois pontos ausentes: {"key1":"value1","key2""value2"}

    • Dois pontos extras: {"key1"::"value1","key2""value2"}

    Para casos como esses em que a análise é bem-sucedida, mas o resultado não é totalmente válidoJSON, o resultado das etapas subsequentes da avaliação pode variar. A extração pode perder alguns elementos ou a avaliação da regra pode ter resultados inesperados. Recomendamos que você valide o JSON que você recebe em sua inscrição e trate o inválido JSON conforme necessário.

  2. Extraia os JSON elementos — AWS WAF identifica o subconjunto de JSON elementos a serem inspecionados de acordo com suas configurações:

    • A opção JSONmatch scope especifica os tipos de elementos no JSON que AWS WAF devem ser inspecionados.

      Você pode especificar chaves, valores ou tudo para chaves e valores.

      Tudo não exige que uma correspondência seja encontrada nas chaves e que uma correspondência seja encontrada nos valores. Isso requer que uma correspondência seja encontrada nas chaves, nos valores ou nos dois. Para exigir uma correspondência nas chaves e nos valores, use uma instrução lógica AND para combinar duas regras de correspondência, uma que inspeciona as chaves e outra que inspeciona os valores.

    • A opção Conteúdo a ser inspecionado especifica como filtrar o conjunto de elementos para o subconjunto que você deseja AWS WAF inspecionar.

      É necessário especificar um dos seguintes:

      • JSONConteúdo completo - Avalie todos os elementos.

      • Somente elementos incluídos - Avalie somente elementos cujos caminhos correspondam aos critérios de JSON ponteiro fornecidos por você. Não use essa opção para indicar todos os caminhos noJSON. Em vez disso, use JSONConteúdo completo.

        Para obter informações sobre a sintaxe JSON do Pointer, consulte a documentação do Internet Engineering Task Force (IETF) JavaScript Object Notation (JSON) Pointer.

        Por exemplo, é possível fornecer o seguinte no console:

        /dogs/0/name /dogs/1/name

        No API ouCLI, você pode fornecer o seguinte:

        "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]

    Por exemplo, digamos que a configuração Conteúdo a ser inspecionado seja Somente elementos incluídos e a configuração de elementos incluídos seja/a/b.

    Para o JSON corpo de exemplo a seguir:

    { "a":{ "c":"d", "b":{ "e":{ "f":"g" } } } }

    Os conjuntos de elementos que AWS WAF inspecionariam cada configuração do escopo de JSON correspondência estão listados abaixo. Observe que a chaveb, que faz parte do caminho dos elementos incluídos, não é avaliada.

    • Todos:e, f, g e.

    • Chaves: e f e.

    • Valores:g.

  3. Inspecione o conjunto de JSON elementos — AWS WAF aplica todas as transformações de texto que você especificou aos JSON elementos extraídos e, em seguida, compara o conjunto de elementos resultante com os critérios de correspondência da declaração de regra. Esse é o mesmo comportamento de transformação e avaliação de outros componentes de solicitação da web. Se algum dos JSON elementos extraídos corresponder, a solicitação da web corresponderá à regra.