Como faço para restringir o tráfego direto para ALB e permitir o tráfego somente por meio do CloudFront usando o AWS WAF?

Data da última atualização: 20/07/2022

Quero impedir que os usuários acessem diretamente um Application Load Balancer (ALB) e permitir o acesso somente pelo Amazon CloudFront usando o AWS WAF. Como faço isso usando o AWS WAF?

Resolução

Para restringir o tráfego direto para um ALB e permitir o tráfego somente por meio do CloudFront usando o AWS WAF, faça o seguinte:

  1. Configure o CloudFront para adicionar um cabeçalho HTTP personalizado com um valor secreto nas solicitações que o CloudFront envia ao ALB.
  2. Crie uma regra na ACL da web do AWS WAF associada ao ALB para bloquear solicitações que não contenham o valor secreto do cabeçalho HTTP personalizado.

Configure o CloudFront para adicionar um cabeçalho HTTP personalizado com um valor secreto nas solicitações enviadas ao ALB

  1. Abra o console do Amazon CloudFront.
  2. No painel de navegação, escolha Distribuições.
  3. Selecione o ID da distribuição.
  4. Escolha Origens.
  5. Selecione a origem ALB e escolha Editar.
    Observação: caso não tenha a origem ALB, consulte Criar uma distribuição ou Atualizar uma distribuição.
  6. Para Adicionar cabeçalho personalizado, adicione o Nome do cabeçalho e o Valor. Um exemplo de Nome do cabeçalho é Custom-header e de Valor é Random-12345.
    Importante: considere o Nome do cabeçalho e o Valor como credenciais seguras, como nome de usuário e senha.
  7. Escolha Salvar alterações.

Crie uma regra na ACL da web do AWS WAF associada ao ALB para bloquear as solicitações que não contêm o valor secreto do cabeçalho HTTP personalizado

Observação: caso não tenha uma ACL da web associada ao seu ALB, siga as etapas em Criar uma ACL da web do AWS WAF. Caso tenha uma ACL da web associada ao seu ALB, siga para Criar uma regra.

Criar uma ACL da web do AWS WAF

  1. Abra o console do AWS WAF.
  2. No painel de navegação, em AWS WAF, escolha Web ACLs.
  3. Para Região, selecione a região da AWS na qual seu ALB está localizado.
  4. Escolha Criar ACL da web e insira um Nome.
  5. Para Recursos da AWS associados, associe seu ALB e escolha Avançar.
  6. Em Ação padrão da ACL da web para solicitações que não correspondem a nenhuma regra, escolha Permitir e, em seguida, escolha Próximo.
  7. Para Opções de amostragem de solicitação, escolha Habilitar solicitações de amostra e, em seguida, escolha Próximo.
  8. Revise a configuração da ACL da web. Se corresponder às suas especificações, escolha Criar ACL da web.

Criar uma regra

  1. Abra o console do AWS WAF.
  2. No painel de navegação, em AWS WAF, escolha Web ACLs.
  3. Para Região, selecione a região da AWS na qual seu ALB está localizado.
  4. Selecione a ACL da web para a qual seu ALB foi associado.
  5. Escolha Regras e depois escolha Adicionar regras, Adicionar minhas próprias regras e grupos de regras.
  6. Em Nome, insira um nome de regra e escolha Regra regular.
  7. Para Se for uma solicitação, escolha não corresponde à instrução (NOT).
  8. Em Instrução 1:
    Para Inspecionar, escolha Cabeçalho único.
    Em Nome do campo do cabeçalho, insira o Nome do cabeçalho criado no CloudFront. Por exemplo, Custom-header.
    Para Tipo de correspondência, escolha Corresponde exatamente à string.
    Para que a Corresponder à string, insira o Valor criado no CloudFront. Por exemplo, Random-12345.
    Para Transformação de texto, escolha Nenhum.
  9. Para Ação, escolha Bloquear.
  10. Escolha Salvar regra.
  11. Para Definir prioridade da regra, caso tenha várias regras, defina essa regra como a prioridade mais alta.
  12. Escolha Salvar.

Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?