Gérer la configuration DNSSEC

Activer DNSSEC pour les zones gérées

L'activation de DNSSEC lors de la création d'une zone dans Google Cloud Console est simple. Il vous suffit de cliquer sur le paramètre DNSSEC et de sélectionner l'option "On" (Activé) dans le menu contextuel :

Pop-up d'activation de DNSSEC pour une zone

Dans la boîte de dialogue de confirmation qui s'affiche, cliquez simplement sur le bouton Enable (Activer).

Boîte de dialogue de confirmation d'activation de DNSSEC

Vous pouvez également activer DNSSEC pour les zones gérées existantes à l'aide de l'outil de ligne de commande gcloud ou de l'API :

gcloud

gcloud dns managed-zones update EXAMPLE_ZONE --dnssec-state on

Dans la ligne de commande ci-dessus, remplacez EXAMPLE_ZONE par l'ID réel de la zone.

python

def enable_dnssec(project_id, name, description=None):
client = dns.Client(project=project_id)
zone = client.zone(name=name)
zone.update(dnssec='on', description=description)

Activer DNSSEC lors de la création de zones

L'activation de DNSSEC lors de la création d'une zone dans Cloud Console est simple. Il vous suffit de cliquer sur le paramètre DNSSEC et de sélectionner l'option "On" (Activé) dans le menu contextuel :

Créer une zone DNSSEC signée

Vous pouvez également activer DNSSEC lorsque vous créez des zones à l'aide de l'outil de ligne de commande gcloud ou de l'API :

gcloud

gcloud dns managed-zones create EXAMPLE_ZONE \
    --description "Signed Zone" --dns-name myzone.example.com --dnssec-state on

Dans la ligne de commande ci-dessus, remplacez EXAMPLE_ZONE par l'ID réel de la zone.

python

def create_signed_zone(project_id, name, dns_name, description):
client = dns.Client(project=project_id)
zone = client.zone(
    name,  # examplezonename
    dns_name=dns_name,  # example.com.
    description=description,
    dnssec='on')
zone.create()
return zone

Vérifier le déploiement de DNSSEC

Vous pouvez utiliser DNSViz, le débogueur DNSSEC Verisign ou Zonemaster pour vous assurer du bon déploiement de la zone où DNSSEC est activé. Vous pouvez également vous servir des deux derniers outils avant de mettre à jour votre service d'enregistrement avec vos serveurs de noms Cloud DNS ou votre enregistrement DS afin d'activer DNSSEC. Voici un exemple de domaine correctement configuré pour DNSSEC : example.com. Vous pouvez le consulter avec DNSViz à l'adresse http://dnsviz.net/d/www.example.com/dnssec/.

Paramètres TTL recommandés pour les zones DNSSEC signées

Contrairement aux expirations TTL, qui dépendent de l'heure à laquelle un serveur de noms envoie une réponse à une requête, les signatures DNSSEC expirent à une heure précise. Si vous configurez des TTL d'une durée supérieure à la durée de vie de la signature, cela risque de conduire à ce que de nombreux clients demandent des enregistrements en même temps, lorsque la signature DNSSEC arrive à expiration. Des TTL très courts peuvent également causer des problèmes pour les résolveurs qui valident les signatures DNSSEC.

Vous pouvez vous reporter au document RFC 6781 section 4.4.1 et à la figure 11 pour obtenir plus de conseils sur la sélection des TTL, mais sachez que le point suivant est absolument essentiel :

En configurant un TTL largement inférieur (de l'ordre de plusieurs fois) à la période de validité de votre signature, vous évitez les pics de charge imputables aux requêtes.

Lorsque vous consultez le document RFC, gardez à l'esprit que de nombreux paramètres de temps liés aux signatures sont fixés par Cloud DNS et que vous ne pouvez pas les modifier. À l'heure actuelle, il s'agit des paramètres suivants (notez qu'ils peuvent être modifiés sans préavis ni mise à jour du présent document) :

  • Décalage par rapport à la création = 1 jour
  • Période de validité = 21 jours
  • Période de réinscription = 3 jours
  • Période de renouvellement = 18 jours
  • Intervalle de gigue = ½ journée (ou ± 6 heures)
  • Validité minimale de la signature = renouvellement - gigue = 17,75 jours = 1 533 600

Vous ne devez jamais utiliser un TTL supérieur à la durée de validité minimale de la signature.

Désactiver DNSSEC pour les zones gérées

Une fois que vous avez supprimé les enregistrements DS et attendu que le cache soit purgé de ces valeurs, vous pouvez facilement désactiver DNSSEC à l'aide de la commande gcloud suivante :

gcloud dns managed-zones update EXAMPLE_ZONE --dnssec-state=off

Dans la commande gcloud ci-dessus, remplacez EXAMPLE_ZONE par le nom réel de la zone.

DNSSEC, transfert de domaines et migration de zone

Pour les zones DNSSEC dans lesquelles DNSSEC a été activé au niveau du registre de domaine, vous devez prendre des mesures supplémentaires pour garantir le bon fonctionnement du domaine :

  • lorsqu'il est transféré à un autre bureau d'enregistrement (ou lorsque la propriété est transférée) ;

  • en cas de migration de la zone DNS entre Cloud DNS et un autre opérateur DNS.

L'approche technique utilisée par Cloud DNS pour ces migrations est la variante de renversement KSK Double-DS décrite dans la section 4.1.2 du document RFC 6781.

L'ICANN propose une présentation PDF sur le fonctionnement général de ce processus et les écueils que vous pourriez rencontrer.

Migrer des zones DNSSEC signées vers Google Cloud DNS

Si vous migrez une zone signée DNSSEC vers Google Cloud DNS, vérifiez que ce dernier accepte le même algorithme KSK déjà utilisé. Si ce n'est pas le cas, vous devez d'abord désactiver DNSSEC au niveau de votre service d'enregistrement de noms de domaine, puis procéder à la migration de la zone, et enfin mettre à jour les enregistrements de serveurs de noms auprès du bureau d'enregistrement afin de pouvoir utiliser les serveurs de noms Cloud DNS.

Si les algorithmes KSK et ZSK existants sont acceptés dans Cloud DNS, vous pouvez effectuer la migration sans désactiver DNSSEC, en procédant comme suit :

  1. Créez une zone DNSSEC signée en lui attribuant l'état DNSSEC "Transfert". L'état de transfert vous permet de copier manuellement les clés publiques (DNSKEY) dans la zone.

  2. Exportez vos fichiers de zone et importez-les dans la nouvelle zone.

  3. Ajoutez les DNSKEY (KSK et ZSK) utilisées dans les fichiers de zone de l'ancienne zone.

    • Vous pouvez également utiliser la commande dig pour interroger les autres serveurs de noms pour les enregistrements DNSKEY.
  4. Ajoutez l'enregistrement DS pour la nouvelle zone au niveau de votre bureau d'enregistrement.

  5. Mettez à jour les enregistrements de serveur de noms pour la nouvelle zone au niveau du bureau d'enregistrement à l'aide des informations relatives aux serveurs de noms Cloud DNS.

Quitter l'état de transfert DNSSEC

Avant de quitter l'état de transfert DNSSEC, attendez que les références (NS et DS) aux serveurs de noms Google Cloud DNS se propagent à tous les serveurs de noms primaires du registre. Vous devez également attendre que le TTL expire pour tous les enregistrements de ressources DNSSEC de l'ancien serveur de noms (pas seulement les enregistrements NS et DS de la zone de registre parente, mais également les enregistrements DNSKEY, NSEC/NSEC3 et RRSIG de l'ancienne zone). Veillez à supprimer les enregistrements de transfert DNSKEY ajoutés manuellement.

Ensuite, vous pouvez passer l'état DNSSEC pour la zone de "Transfert" à "Activé". Cette modification active la rotation ZSK automatique depuis la zone. Généralement, vos zones peuvent quitter l'état de transfert DNSSEC en toute sécurité après une semaine. En outre, elles ne doivent pas rester à l'état de transfert DNSSEC pendant plus d'un mois ou deux.

Vous devez également supprimer l'enregistrement DS de la zone de l'ancien opérateur DNS au niveau de votre bureau d'enregistrement.

Migrer des zones DNSSEC signées à partir de Google Cloud DNS

Avant d'effectuer la migration d'une zone DNSSEC signée vers un autre opérateur DNS, vérifiez que celui-ci accepte l'algorithme KSK que vous utilisez. Si ce n'est pas le cas, vous devez d'abord désactiver DNSSEC au niveau de votre service d'enregistrement de noms de domaine, puis procéder à la migration de la zone, et enfin mettre à jour les enregistrements de serveurs de noms auprès du bureau d'enregistrement afin de pouvoir utiliser les nouveaux serveurs de noms.

Si les mêmes algorithmes KSK et, de préférence, ZSK sont acceptés et qu'une méthode permettant de copier les enregistrements DNSKEY existants dans la nouvelle zone est proposée, vous pouvez effectuer la migration sans désactiver DNSSEC, en procédant comme suit :

  1. Passez l'état DNSSEC de "Activé" à "Transfert". Cela arrête la rotation ZSK.

  2. Exportez votre fichier de zone (y compris les DNSKEY) et importez-le dans la nouvelle zone.

  3. Si les DNSKEY (KSK et ZSK) n'ont pas été importées, ajoutez-les manuellement.

    • Utilisez la commande dig pour interroger les serveurs Cloud DNS de votre zone pour les enregistrements DNSKEY :

      dig DNSKEY myzone.example.com. @ns-cloud-e1.googledomains.com.
      
  4. Activez la signature DNSSEC pour la nouvelle zone et ajoutez un enregistrement DS pour la nouvelle clé KSK au niveau du bureau d'enregistrement.

    • Si votre bureau d'enregistrement n'accepte pas plusieurs enregistrements DS, vous pourrez effectuer cette opération à l'étape 6.
  5. (Facultatif) Importez les nouvelles clés DNSKEY associées à la nouvelle zone dans Cloud DNS.

    • Vous pouvez utiliser une commande dig analogue à celle de l'étape 3, mais en ignorant les enregistrements DNSKEY que vous avez exportés depuis Cloud DNS.
  6. Mettez à jour les enregistrements de serveur de noms au niveau du bureau d'enregistrement afin d'utiliser le nouvel opérateur DNS.

    • Si vous pouvez uniquement remplacer les enregistrements DS au niveau de votre bureau d'enregistrement, faites-le maintenant.

Si l'autre opérateur DNS propose un processus de migration d'une zone DNSSEC signée (comme le fait Dyn), vous devez effectuer ces étapes en parallèle, après avoir effectué l'étape 1 décrite ici.

Une fois que vous avez terminé toutes les étapes requises au niveau de l'autre opérateur, désactivez DNSSEC en basculant l'état DNSSEC sur "Désactivé" (ou supprimez simplement la zone dans Cloud DNS) et supprimez l'enregistrement DS pour la zone Cloud DNS au niveau de votre bureau d'enregistrement.

Étapes suivantes