Gestire la configurazione DNSSEC

Questa pagina descrive come abilitare e disabilitare le estensioni DNSSEC (Domain Name System Security Extensions), verificare il deployment DNSSEC ed eseguire la migrazione delle zone da e verso Cloud DNS.

Per una panoramica concettuale di DNSSEC, consulta la panoramica DNSSEC.

Abilita DNSSEC per zone pubbliche gestite esistenti

Per abilitare le DNSSEC per le zone pubbliche gestite esistenti, segui questi passaggi.

Console

  1. In Google Cloud Console, vai alla pagina Cloud DNS.

    Vai a Cloud DNS

  2. Fai clic sul nome della zona per cui vuoi abilitare DNSSEC.

  3. Nella pagina Dettagli zona, fai clic su Modifica.

  4. Nella pagina Edit a DNS zone (Modifica una zona DNS), fai clic su DNSSEC.

  5. In DNSSEC, seleziona On.

  6. Fai clic su Salva.

Lo stato DNSSEC selezionato per la zona viene visualizzato nella colonna DNSSEC nella pagina Cloud DNS.

gcloud

Esegui questo comando:

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

Sostituisci EXAMPLE_ZONE con l'ID zona.

Python

Esegui questo comando:

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)

Abilita DNSSEC quando crei zone

Per abilitare DNSSEC quando crei una zona, segui questi passaggi.

Console

  1. In Google Cloud Console, vai alla pagina Cloud DNS.

    Vai a Cloud DNS

  2. Fai clic su Crea zona.

  3. Inserisci un nome nel campo Nome zona.

  4. Inserisci un nome nel campo Nome DNS.

  5. In DNSSEC, seleziona On.

  6. (Facoltativo) Aggiungi una descrizione.

  7. Fai clic su Crea.

    Creare una zona con firma DNSSEC

gcloud

Esegui questo comando:

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

Sostituisci EXAMPLE_ZONE con l'ID zona.

Python

Esegui questo comando:

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

Verificare il deployment DNSSEC

Per verificare il corretto deployment della zona abilitata per DNSSEC, assicurati di aver inserito il record DS corretto nella zona padre. La risoluzione DNSSEC può non riuscire se si verifica una delle seguenti condizioni:

  • La configurazione è sbagliata o l'hai digitato in modo errato.
  • Hai inserito il record DS errato nella zona principale.

Per verificare che la configurazione sia corretta e fare un controllo incrociato del record DS prima di inserirlo nella zona principale, utilizza i seguenti strumenti:

Puoi utilizzare il debugger DNSSEC di Verisign e i siti Zonemaster per convalidare la configurazione DNSSEC prima di aggiornare il registrar con i server dei nomi o con il record DS di Cloud DNS. Un dominio configurato correttamente per DNSSEC è example.com visibile tramite DNSViz.

Impostazioni TTL consigliate per le zone con firma DNSSEC

La durata (TTL) è il tempo (in secondi) impostato per una zona con firma DNSSEC.

A differenza delle scadenze TTL, che riguardano il momento in cui un server dei nomi invia una risposta a una query, le firme DNSSEC scadono a un orario assoluto fisso. I TTL configurati più a lungo nel tempo di firma possono portare molti client a richiedere record contemporaneamente alla scadenza della firma DNSSEC. I TTL brevi possono causare problemi anche nei resolver di convalida DNSSEC.

Per ulteriori consigli sulla selezione di TTL, consulta le sezioni relative alla sezione 4.4.1 di RFC 6781 e la Figura 11 di RFC 6781.

Durante la lettura della sezione 4.4.1 del documento RFC 6781, tieni presente che molti parametri relativi al tempo di firma sono fissi da Cloud DNS, pertanto non puoi modificarli. Al momento, non è possibile modificare quanto segue (soggetto a modifica senza preavviso o aggiornamento a questo documento):

  • Offset di inizio = 1 giorno
  • Periodo di validità = 21 giorni
  • Periodo di nuova firma = 3 giorni
  • Periodo di aggiornamento = 18 giorni
  • Intervallo tremolio = 1⁄2 giorno (o ±6 ore)
  • Validità minima della firma = aggiornamento – tremolio = 17,75 giorni = 1533600

Non utilizzare mai un TTL superiore alla validità minima della firma.

Disabilita DNSSEC per le zone gestite

Dopo aver rimosso i record DS e aspettato che scadano dalla cache, puoi utilizzare il seguente comando gcloud per disattivare DNSSEC:

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

Sostituisci EXAMPLE_ZONE con l'ID zona.

DNSSEC, trasferimenti di dominio e migrazione delle zone

Per le zone abilitate alla DNSSEC in cui è stato attivato il registro di dominio, consulta i passaggi riportati nelle sezioni seguenti per assicurarti il corretto funzionamento del dominio:

  • Quando viene trasferito a un altro registrar (o trasferito la proprietà).

  • Durante la migrazione della zona DNS tra Cloud DNS e un altro operatore DNS.

L'approccio tecnico utilizzato da Cloud DNS per queste migrazioni è la variante di rollover KSK Double-DS descritta nella sezione Rollover delle chiavi di firma della chiave RFC 6781.

Per una presentazione informativa su DNSSEC e trasferimenti di dominio e potenziali insidie, consulta DNS/DNSSEC e Domain Transfers: sono compatibili?.

Eseguire la migrazione delle zone con firma DNSSEC in Cloud DNS

Se stai eseguendo la migrazione di una zona con firma DNSSEC in Cloud DNS, assicurati che Cloud DNS supporti lo stesso algoritmo KSK già in uso. In caso contrario, disattiva DNSSEC presso il registrar di dominio prima di eseguire la migrazione della zona e aggiorna i record del server dei nomi presso il registrar in modo da utilizzare i server dei nomi Cloud DNS.

Se gli algoritmi KSK e ZSK esistenti sono supportati in Cloud DNS, puoi seguire questi passaggi per eseguire la migrazione con DNSSEC abilitato:

  1. Crea una nuova zona con firma DNSSEC nello stato Transfer di DNSSEC. Lo stato Transfer ti consente di copiare manualmente le chiavi DNSKEY nella zona.

  2. Esporta i file di zona, quindi importali nella nuova zona.

  3. Aggiungi le chiavi DNSKEY (KSK e ZSK) dai file di zona della vecchia zona.

    Puoi anche utilizzare il comando dig per eseguire query sugli altri server dei nomi per i record DNSKEY.

  4. Aggiungi il record DS per la nuova zona al registrar.

  5. Aggiorna i record del server dei nomi presso il registrar ai server dei nomi Cloud DNS per la nuova zona.

Abbandona stato di trasferimento DNSSEC

Prima di lasciare lo stato di trasferimento DNSSEC, attendi che il server dei nomi faccia riferimento a NS e DS a Cloud DNS si sia propagato a tutti i server dei nomi del Registro di sistema ufficiali. Assicurati inoltre che il TTL sia scaduto per tutti i record di risorse DNSSEC del server dei nomi precedente (non solo i record NS e DS della zona padre del Registro di sistema, ma anche i record DNSKEY, NSEC/NSEC3 e RRSIG della zona precedente). Assicurati di rimuovere i record DNSKEY di trasferimento aggiunti manualmente.

Puoi quindi modificare lo stato DNSSEC della zona da Transfer a On. Questa modifica consente la rotazione automatica ZSK dalla zona. In genere, le zone possono lasciare lo stato di trasferimento DNSSEC in sicurezza dopo una settimana e non devono rimanere in stato di trasferimento DNSSEC per più di un mese o due.

Devi anche rimuovere il record DS per la zona del vecchio operatore DNS dal registrar.

Eseguire la migrazione delle zone con firma DNSSEC da Cloud DNS

Prima di eseguire la migrazione di una zona con firma DNSSEC in un altro operatore DNS, assicurati che la zona e l'operatore supportino lo stesso algoritmo KSK che utilizzi. In caso contrario, disattiva DNSSEC nel registrar di dominio prima di eseguire la migrazione della zona e aggiorna i record del server dei nomi presso il registrar in modo da utilizzare i nuovi server dei nomi.

Se supportano gli stessi algoritmi KSK (e preferibilmente gli stessi ZSK) e forniscono un modo per copiare le chiavi DNS esistenti nella nuova zona, puoi eseguire la migrazione mantenendo le DNSSEC abilitate seguendo questi passaggi:

  1. Cambia lo stato di DNSSEC da On a Transfer. Viene interrotta la rotazione ZSK.

  2. Esporta il file di zona (incluse le chiavi DNSKEY) e importalo nella nuova zona.

  3. Se l'importazione delle chiavi DNSKEY (KSK e ZSK) non è riuscita, aggiungile manualmente.

    Utilizza il comando dig per eseguire query sui server dei nomi Cloud DNS per la tua zona per i record DNSKEY:

    dig DNSKEY myzone.example.com. @ns-cloud-e1.googledomains.com.
    
  4. Abilita la firma DNSSEC per la nuova zona e aggiungi un record DS per la nuova KSK presso il registrar.

    Se il registrar non supporta più record DS, completa questa attività nel passaggio 6.

  5. Facoltativo: importa le nuove DNSKEY per la nuova zona in Cloud DNS.

    Per fare questo, puoi utilizzare un comando dig simile a quello del passaggio 3, ma ignora le chiavi DNSKEY che hai esportato da Cloud DNS.

  6. Per utilizzare il nuovo operatore DNS, aggiorna i record del server dei nomi presso il registrar.

    Se puoi solo sostituire i record DS nel tuo registrar, esegui questa operazione ora.

Se l'altro operatore DNS utilizza un processo per eseguire la migrazione di una zona con firma DNSSEC (ad esempio Dyn), devi eseguire i passaggi paralleli alla procedura descritta, dopo il passaggio 1.

Dopo aver completato tutti i passaggi necessari sull'altro operatore DNS, procedi nel seguente modo:

  1. Aggiorna lo stato DNSSEC su Off o elimina la zona in Cloud DNS per disabilitare le DNSSEC.

  2. Rimuovi il record DS per la zona Cloud DNS dal registrar.

Passaggi successivi