E-mail e sicurezza

Record CAA (Certificate Authority Authorization)

Un record DNS che specifica quali Autorità di Certificazione sono autorizzate a emettere certificati SSL/TLS per un dominio.
← Torna al glossario

Che cos'è un record CAA?

Un record CAA (Certificate Authority Authorization) è un tipo di record DNS che specifica quali autorità di certificazione (CA) sono autorizzate a emettere certificati SSL/TLS per un dominio. CAA è un controllo di sicurezza che impedisce l'emissione non autorizzata di certificati anche quando un aggressore compromette una CA.

Perché i record CAA sono importanti

Senza record CAA, una qualunque delle centinaia di CA attendibili potrebbe emettere un certificato per il tuo dominio. Questo crea diversi rischi:

  • Compromissione della CA: se una CA attendibile viene compromessa, gli aggressori potrebbero ottenere certificati per il tuo dominio.
  • Emissione errata: occasionalmente le CA emettono certificati in modo scorretto.
  • Ingegneria sociale: gli aggressori potrebbero indurre una CA a emettere certificati non autorizzati.

I record CAA riducono la superficie di attacco limitando le CA che possono emettere certificati per il dominio.

Come funzionano i record CAA

1. Il proprietario del dominio pubblica i record CAA nel DNS.

2. Il richiedente del certificato chiede un certificato a una CA.

3. La CA controlla i record CAA del dominio.

4. La CA emette il certificato solo se autorizzata, oppure se non esistono record CAA.

5. Se non è autorizzata, la CA deve rifiutare la richiesta.

Controllo obbligatorio da parte delle CA

Dal settembre 2017 tutte le CA devono controllare i record CAA prima di emettere certificati. È un requisito delle CA/Browser Forum Baseline Requirements.

Formato del record CAA

example.com.    IN    CAA    0 issue "letsencrypt.org"

Componenti:

  • 0: flag (0 = non critico, 128 = critico).
  • issue/issuewild/iodef: tag della proprietà.
  • "letsencrypt.org": valore della proprietà, cioè la CA autorizzata.

Tag delle proprietà

TagScopoEsempio
issueAutorizza la CA per tutti i certificatiissue "letsencrypt.org"
issuewildAutorizza la CA per i certificati wildcardissuewild "digicert.com"
iodefSegnala i tentativi non autorizzatiiodef "mailto:[email protected]"

Esempi di record CAA

Una sola CA (solo Let's Encrypt)

example.com.    CAA    0 issue "letsencrypt.org"

Più CA

example.com.    CAA    0 issue "letsencrypt.org"

example.com. CAA 0 issue "digicert.com"

example.com. CAA 0 issue "sectigo.com"

Restrizione per i wildcard

Consenti Let's Encrypt per i certificati normali e DigiCert per i wildcard:

example.com.    CAA    0 issue "letsencrypt.org"

example.com. CAA 0 issuewild "digicert.com"

Nega tutto (nessun certificato)

Utile per i domini che non dovrebbero mai avere certificati:

example.com.    CAA    0 issue ";"

Con reportistica

example.com.    CAA    0 issue "letsencrypt.org"

example.com. CAA 0 iodef "mailto:[email protected]"

Identificatori comuni delle CA

CAIdentificatore
Let's Encryptletsencrypt.org
DigiCertdigicert.com
Sectigo (Comodo)sectigo.com
GlobalSignglobalsign.com
GoDaddygodaddy.com
Amazonamazon.com
Google Trust Servicespki.goog

Consulta la documentazione della tua CA per usare l'identificatore esatto.

Implementare i record CAA

Tramite il provider DNS

La maggior parte dei provider DNS supporta i record CAA nella propria interfaccia.

Tramite un file di zona

; Allow Let's Encrypt and DigiCert

@ IN CAA 0 issue "letsencrypt.org"

@ IN CAA 0 issue "digicert.com"

@ IN CAA 0 iodef "mailto:[email protected]"

Ereditarietà dei record CAA

I record CAA seguono la gerarchia DNS:

  • Se example.com ha record CAA, questi si applicano ai sottodomini.
  • I sottodomini possono avere record CAA propri, che sovrascrivono quelli del genitore.
  • In assenza di record CAA, qualunque CA può emettere certificati.
example.com.        CAA    0 issue "letsencrypt.org"     ; Applies to all

api.example.com. CAA 0 issue "digicert.com" ; Override for api

Controllare i record CAA

Con dig:
dig example.com CAA

; ANSWER SECTION:

example.com. 300 IN CAA 0 issue "letsencrypt.org"

Con DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Reports hasCAA in security details

Procedure consigliate per i record CAA

1. Configura sempre CAA: riduci la superficie di attacco.

2. Includi tutte le CA che usi: non dimenticare le CA del CDN o del provider cloud.

3. Configura iodef: ricevi notifiche sui tentativi non autorizzati.

4. Esegui i test prima di applicare la restrizione: verifica che le tue CA possano ancora emettere certificati.

5. Mantieni aggiornati i record: aggiungi le nuove CA prima di richiedere certificati.

Problemi comuni dei record CAA

Il rinnovo del certificato fallisce: la CA non è presente nei record CAA; aggiungila prima della scadenza del certificato. I certificati del CDN falliscono: la CA del provider CDN non è autorizzata; verifica quale CA usa il CDN. Manca un record CAA sul sottodominio: il sottodominio eredita il CAA del genitore; configura record specifici se necessario.

CAA è un controllo di sicurezza semplice ma potente che ogni dominio dovrebbe implementare.

Metti in pratica queste conoscenze

Usa l'API di DomScan per verificare disponibilità, salute del dominio e altro.