Casos de uso comuns para proteger CloudFront distribuições com AWS WAF - AWS WAF, AWS Firewall Manager, AWS Shield Advanced, e diretor AWS Shield de segurança de rede

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.

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

Casos de uso comuns para proteger CloudFront distribuições com AWS WAF

Os AWS WAF recursos a seguir funcionam da mesma forma para todas as CloudFront distribuições. As considerações sobre distribuições multilocatárias estão listadas após cada cenário de atributo.

Usando AWS WAF com páginas de erro CloudFront personalizadas

Por padrão, quando AWS WAF bloqueia uma solicitação da Web com base nos critérios que você especifica, ela retorna o código de status HTTP 403 (Forbidden) para CloudFront e CloudFront retorna esse código de status para o visualizador. O visualizador, em seguida, exibirá uma breve mensagem padrão esparsamente formatada, semelhante à seguinte:

Forbidden: You don't have permission to access /myfilename.html on this server.

Você pode substituir esse comportamento nas regras do pacote de AWS WAF proteção (Web ACL) definindo respostas personalizadas. Para obter mais informações sobre como personalizar o comportamento de resposta usando AWS WAF regras, consulteComo enviar respostas personalizadas para ações Block.

nota

As respostas que você personaliza usando AWS WAF regras têm precedência sobre qualquer especificação de resposta que você define nas páginas de erro CloudFront personalizadas.

Se você preferir exibir uma mensagem de erro personalizada CloudFront, possivelmente usando a mesma formatação do resto do seu site, você pode configurar CloudFront para retornar ao visualizador um objeto (por exemplo, um arquivo HTML) que contém sua mensagem de erro personalizada.

nota

CloudFront não consigo distinguir entre um código de status HTTP 403 que é retornado pela sua origem e um que é retornado AWS WAF quando uma solicitação é bloqueada. Isso significa que você não pode retornar diferentes páginas de erro personalizadas com base em diferentes causas de um código de status HTTP 403.

Para obter mais informações sobre páginas de erro CloudFront personalizadas, consulte Geração de respostas de erro personalizadas no Amazon CloudFront Developer Guide.

Páginas de erros personalizadas em distribuições multilocatárias

Para distribuições CloudFront multilocatárias, você pode configurar páginas de erro personalizadas das seguintes formas:

  • No nível da distribuição multilocatária: essas configurações se aplicam a todas as distribuições multilocatárias que usam o modelo de distribuição multilocatária

  • Por meio de AWS WAF regras - as respostas personalizadas definidas nos pacotes de proteção (web ACLs) têm precedência sobre a distribuição de vários locatários e sobre as páginas de erro personalizadas em nível de inquilino

Usando AWS WAF with CloudFront para aplicativos executados em seu próprio servidor HTTP

Ao usar AWS WAF com CloudFront, você pode proteger seus aplicativos em execução em qualquer servidor web HTTP, seja um servidor web executado na Amazon Elastic Compute Cloud (Amazon EC2) ou um servidor web que você gerencia de forma privada. Você também pode configurar CloudFront para exigir HTTPS CloudFront entre seu próprio servidor web, bem como entre visualizadores e. CloudFront

Exigindo HTTPS entre CloudFront e seu próprio servidor web

Para exigir HTTPS entre CloudFront e seu próprio servidor web, você pode usar o recurso de origem CloudFront personalizada e definir a Política de Protocolo de Origem e as configurações do Nome de Domínio de Origem para origens específicas. Na sua CloudFront configuração, você pode especificar o nome DNS do servidor junto com a porta e o protocolo que você deseja usar CloudFront ao buscar objetos da sua origem. Você também deve garantir que o SSL/TLS certificado em seu servidor de origem personalizado corresponda ao nome de domínio de origem que você configurou. Ao usar seu próprio servidor web HTTP fora do AWS, você deve usar um certificado assinado por uma autoridade de certificação (CA) terceirizada confiável, por exemplo, Comodo ou DigiCert Symantec. Para obter mais informações sobre a exigência de HTTPS para comunicação entre CloudFront e seu próprio servidor web, consulte o tópico Exigindo HTTPS para comunicação entre CloudFront e sua origem personalizada no Amazon CloudFront Developer Guide.

Exigindo HTTPS entre um visualizador e CloudFront

Para exigir HTTPS entre visualizadores e CloudFront, você pode alterar a Política de Protocolo do Visualizador para um ou mais comportamentos de cache em sua CloudFront distribuição. Para obter mais informações sobre o uso de HTTPS entre espectadores e CloudFront, consulte o tópico Exigindo HTTPS para comunicação entre espectadores e CloudFront no Amazon CloudFront Developer Guide. Você também pode trazer seu próprio certificado SSL para que os espectadores possam se conectar à sua CloudFront distribuição via HTTPS usando seu próprio nome de domínio, por exemplo https://www.mysite.com. Para obter mais informações, consulte o tópico Configurando nomes de domínio alternativos e HTTPS no Amazon CloudFront Developer Guide.

Em distribuições multilocatárias, as configurações de método HTTP seguem esta hierarquia:

  • As configurações no nível de modelo definem os métodos HTTP básicos permitidos para todas as distribuições multilocatárias

  • As distribuições de locatários podem substituir essas configurações para:

    • Permita menos métodos do que a distribuição multilocatária (usando AWS WAF regras para bloquear métodos adicionais)

    • Permitir mais métodos se a distribuição multilocatária estiver configurada para ser compatível com eles

  • AWS WAF as regras nos níveis de distribuição multilocatário e de inquilino podem restringir ainda mais os métodos HTTP, independentemente da configuração CloudFront

Escolhendo os métodos HTTP que CloudFront respondem a

Ao criar uma distribuição CloudFront web da Amazon, você escolhe os métodos HTTP que deseja CloudFront processar e encaminhar para sua origem. Você pode escolher entre as seguintes opções:

  • GET, HEAD — Você pode usar CloudFront somente para obter objetos de sua origem ou para obter cabeçalhos de objetos.

  • GET,HEAD, OPTIONS — Você pode usar CloudFront somente para obter objetos da sua origem, obter cabeçalhos de objetos ou recuperar uma lista das opções suportadas pelo seu servidor de origem.

  • GET,HEAD,OPTIONS,PUT,POST,PATCH, DELETE — Você pode usar CloudFront para obter, adicionar, atualizar e excluir objetos e para obter cabeçalhos de objetos. Além disso, você pode executar outras operações de POST, como enviar dados de um formulário da web.

Você também pode usar instruções de regra de correspondência de AWS WAF bytes para permitir ou bloquear solicitações com base no método HTTP, conforme descrito emInstrução de regra de correspondência de string. Se você quiser usar uma combinação de métodos que CloudFront ofereça suporteHEAD, como GET e, não precisará configurar AWS WAF para bloquear solicitações que usem os outros métodos. Se você quiser permitir uma combinação de métodos que CloudFront não oferece suporte, como,, e GET HEADPOST, você pode configurar CloudFront para responder a todos os métodos e, em seguida, usar AWS WAF para bloquear solicitações que usam outros métodos.

Para obter mais informações sobre como escolher os métodos que CloudFront respondem, consulte Métodos HTTP permitidos no tópico Valores que você especifica ao criar ou atualizar uma distribuição na Web no Amazon CloudFront Developer Guide.

Configurações de método HTTP permitidas em distribuições multilocatárias

Para distribuições multilocatárias, as configurações de método HTTP definidas no nível da distribuição multilocatária se aplicam, por padrão, a todas as distribuições de locatários. As distribuições de locatários podem substituir essas configurações se necessário.

  • Se você quiser usar uma combinação de métodos que CloudFront ofereça suporte, como GET eHEAD, não é necessário configurar AWS WAF para bloquear solicitações que usam outros métodos.

  • Se você quiser permitir uma combinação de métodos que CloudFront não são compatíveis por padrão, como,, e GET HEADPOST, você pode configurar CloudFront para responder a todos os métodos e, em seguida, usar AWS WAF para bloquear solicitações que usam outros métodos.

Ao implementar cabeçalhos de segurança em distribuições multilocatárias, considere o seguinte:

  • Os cabeçalhos de segurança no nível do modelo fornecem proteção básica em todas as distribuições de locatários

  • As distribuições de locatários podem:

    • Adicionar novos cabeçalhos de segurança não definidos na distribuição multilocatária

    • Modificar os valores dos cabeçalhos específicos do locatário

    • Não é possível remover ou substituir os cabeçalhos de segurança definidos no nível da distribuição multilocatária

  • Considere o uso de cabeçalhos do nível da distribuição multilocatária para controles de segurança críticos que devem ser aplicados a todos os locatários

Considerações sobre tamanho

As distribuições padrão e multilocatário oferecem suporte à AWS WAF geração de registros, mas há diferenças importantes na forma como os registros são estruturados e gerenciados:

Comparação entre registros em log
Distribuições padrão Distribuições multilocatárias
Uma única configuração de log por distribuição Opções de registro em log no nível do modelo e do locatário
Campos padrão do log Campos adicionais de identificação de locatário
Um único destino por distribuição Destinos possivelmente separados para logs de distribuições multilocatárias e logs de locatários

Recursos adicionais do