Ir para o conteúdo

Como faço para que o CloudFront cumpra os requisitos da minha organização de usar o DNSSEC?

3 minuto de leitura
0

Tenho uma distribuição do Amazon CloudFront e preciso cumprir a exigência regulatória da minha organização de usar extensões de segurança do Sistema de nomes de domínio (DNSSEC).

Breve descrição

O domínio padrão do CloudFront cloudfront.net não permite DNSSEC. Para ativar o DNSSEC em seu domínio, primeiro você deve criar um conjunto de registros de recursos DNSKEY. No entanto, como a AWS gerencia os registros DNS nos domínios do CloudFront, não é possível configurar um registro DNSKEY. Isso significa que não é possível ativar diretamente o DNSSEC em um domínio do CloudFront. Em vez disso, você deve ativá-lo por meio de um domínio alternativo.

Se sua organização exigir o uso do DNSSEC, primeiro bloqueie o acesso à distribuição a partir do domínio do CloudFront. Em seguida, ative o DNSSEC em um nome de domínio alternativo ou registro de nome canônico (CNAME) anexado à distribuição do CloudFront.

Resolução

Bloqueie o acesso do CloudFront

Para bloquear qualquer solicitação que tenha o domínio cloudfront.net no cabeçalho do host, use o AWS WAF ou uma função.

Use o AWS WAF

Use uma regra do AWS WAF que bloqueie qualquer um dos seguintes tipos de solicitação:

  • Um cabeçalho de host que termina com cloudfront.net.
  • Todas as solicitações que têm o domínio da distribuição (como d123abc.cloudfront.net) dentro de um único cabeçalho.

Use uma função

Use uma função do CloudFront ou uma função do AWS Lambda@Edge para bloquear qualquer solicitação que tenha um valor no cabeçalho do host que termine com cloudfront.net. É uma prática recomendada usar uma função do CloudFront devido ao menor custo e ao desempenho mais rápido.

O exemplo de função do CloudFront a seguir bloqueia solicitações que têm o domínio do CloudFront cloudfront.net no cabeçalho do host:

function handler(event) {
  var request = event.request;
    // Extract the host header value
    var host = request.headers.host.value;
    // Check if the host header value ends with "cloudfront.net"
    if (host.endsWith('cloudfront.net')) {
      // Return a response to block the request
      return {
        statusCode: 403,
        statusDescription: 'Forbidden',
        headers: {
          'content-type': {
            value: 'text/plain'
          }
        },
        body: 'Access to this resource is forbidden.'
      };
    }
    // Allow the request to proceed
    return request;
  }

Ative o DNSSEC em um nome de domínio alternativo

Depois de bloquear o acesso do domínio do CloudFront, é possível ativar o DNSSEC em um nome de domínio alternativo (CNAME). Para fazer isso, siga as etapas em Como habilitar a assinatura de DNSSEC e estabelecer uma cadeia de confiança.

Teste seu domínio

Para confirmar se o DNSSEC funciona corretamente com seu domínio, use o analisador de DNSSEC no site da Verisign.

AWS OFICIALAtualizada há 6 meses