Como o AWS WAF Classic funciona com os atributos do Amazon CloudFront - Administrador de segurança da rede do AWS WAF, AWS Firewall Manager, AWS Shield Advanced e AWS Shield

Apresentação de uma nova experiência de console para o AWS WAF

Agora você pode usar a experiência atualizada para acessar a funcionalidade do AWS WAF em qualquer lugar no console. Consulte mais detalhes em Trabalhar com a experiência atualizada do console.

Como o AWS WAF Classic funciona com os atributos do Amazon CloudFront

Atenção

O AWS WAF Classic está passando por um processo de fim de vida útil planejado. Consulte o painel AWS Health para ver os marcos e datas específicos para a sua região.

nota

Essa é a documentação do AWS WAF Classic. Você só deverá usar essa versão se tiver criado recursos do AWS WAF, como regras e web ACLs, no AWS WAF antes de novembro de 2019, e ainda não os tiver migrado para a versão mais recente. Para migrar suas ACLs da Web, consulte Como migrar recursos do AWS WAF Classic para o AWS WAF.

Para obter a versão mais recente do AWS WAF, consulte AWS WAF.

Quando você cria uma web ACL, pode especificar uma ou mais distribuições do CloudFront que deseja que o AWS WAF Classic que inspecione. AWS WAF O Classic começa a permitir, bloquear ou contar solicitações da web das distribuições de acordo com as condições que você identificar na web ACL. O CloudFront oferece alguns atributos que aprimoram a funcionalidade do AWS WAF Classic. Este capítulo descreve algumas maneiras de configurar o CloudFront para fazer com que o CloudFront e o AWS WAF Classic funcionem melhor em conjunto.

Usando o AWS WAF Classic com páginas de erro personalizadas do CloudFront

Quando o AWS WAF Classic bloqueia uma solicitação da web com base nas condições que você especifica, ele retorna o código de status HTTP 403 (proibido) para o CloudFront. Em seguida, o CloudFront retorna o 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.

Se você preferir exibir uma mensagem de erro personalizada, possivelmente usando a mesma formatação que o restante do seu website, configure o CloudFront para retornar um objeto ao visualizador (por exemplo, um arquivo HTML) que contenha sua mensagem de erro personalizada.

nota

O CloudFront não consegue diferenciar entre um código de status HTTP 403 retornado por sua origem e um retornado pelo AWS WAF Classic 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 personalizadas do CloudFront, consulte Personalizar respostas a erros no Guia do desenvolvedor do Amazon CloudFront.

Use o AWS WAF Classic com o CloudFront para aplicativos em execução no seu próprio servidor HTTP

Ao usar o AWS WAF Classic com o CloudFront, é possível proteger os aplicativos em execução em qualquer servidor da web HTTP, seja um servidor da web que esteja sendo executado no Amazon Elastic Compute Cloud (Amazon EC2) ou um servidor da web gerenciado de forma privada. Também é possível configurar o CloudFront para exigir HTTPS entre o CloudFront e seu próprio servidor web, bem como entre visualizadores e o CloudFront.

Exigir HTTPS entre o CloudFront e seu próprio servidor da web

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

Exigir HTTPS entre um visualizador e o CloudFront

Para exigir HTTPS entre visualizadores e o CloudFront, é possível alterar a Política de protocolo do visualizador para um ou mais comportamentos de cache na distribuição do CloudFront. Para obter mais informações sobre como usar HTTPS entre visualizadores e o CloudFront, consulte o tópico Exigir HTTPS para a comunicação entre visualizadores e o CloudFront no Guia do desenvolvedor do Amazon CloudFront. Também é possível trazer seu próprio certificado SSL para que os visualizadores possam se conectar à distribuição do CloudFront por HTTPS usando seu próprio nome de domínio, por exemplo https://www.mysite.com. Para obter mais informações, consulte Configuração de nomes de domínio alternativos e HTTPS no Guia do desenvolvedor do Amazon CloudFront.

Escolher os métodos HTTP aos quais o CloudFront responde

Quando você cria uma distribuição da web do Amazon CloudFront, seleciona os métodos HTTP que deseja que o CloudFront processe e encaminhe para sua origem. Você pode escolher entre as seguintes opções:

  • GET, HEAD: é possível usar o CloudFront somente para obter objetos da sua origem ou para obter cabeçalhos do objeto.

  • GET, HEAD, OPTIONS: é possível usar o CloudFront somente para obter objetos da sua origem, obter cabeçalhos do objeto ou recuperar uma lista das opções compatíveis com seu servidor de origem.

  • GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE: é possível usar o CloudFront para obter, adicionar, atualizar e excluir objetos, e também para obter os cabeçalhos do objeto. 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 as condições de correspondência de strings do AWS WAF Classic para permitir ou bloquear solicitações com base no método HTTP, como descrito em Trabalhar com condições de correspondência de string. Se você quiser usar uma combinação de métodos compatíveis com o CloudFront, como GET e HEAD, não precisa configurar o AWS WAF Classic para bloquear solicitações que usam os outros métodos. Se você deseja permitir uma combinação de métodos com os quais o CloudFront não é compatível, como GET, HEAD e POST, você pode configurar o CloudFront para responder a todos os métodos e, em seguida, usar o AWS WAF Classic para bloquear solicitações que usam outros métodos.

Para obter mais informações sobre a escolha de métodos aos quais o CloudFront responde, consulte Métodos HTTP permitidos no tópico Valores que você especifica ao criar ou atualizar uma distribuição da web no Guia do desenvolvedor do Amazon CloudFront.