Cos'è un record CAA
Scopri come i record CAA controllano quali autorità di certificazione possono emettere certificati SSL/TLS per il tuo dominio. Include esempi per la dashboard e l'API di DNScale.
Un record CAA (Certification Authority Authorization) specifica quali autorità di certificazione (CA) sono autorizzate a emettere certificati SSL/TLS per il tuo dominio. I record CAA sono una misura di sicurezza che aiuta a prevenire l'emissione non autorizzata di certificati.
Come funzionano i record CAA
Quando una CA riceve una richiesta di certificato, deve controllare i record CAA:
example.com. 3600 CAA 0 issue "letsencrypt.org"Questo dice alle CA: "Solo Let's Encrypt può emettere certificati per example.com."
Se non esistono record CAA, qualsiasi CA può emettere certificati. Una volta aggiunti i record CAA, solo le CA autorizzate possono emetterli.
Componenti del record
| Componente | Descrizione | Valori |
|---|---|---|
| Flag | Flag critico | 0 (non critico) o 128 (critico) |
| Tag | Tipo di proprietà | issue, issuewild, iodef |
| Valore | Dominio della CA o contatto | "letsencrypt.org" |
Tag spiegati
| Tag | Scopo |
|---|---|
issue | Autorizza la CA per certificati regolari |
issuewild | Autorizza la CA per certificati wildcard |
iodef | Segnala violazioni delle policy a questo indirizzo |
Casi d'uso comuni
Consentire una singola CA (Let's Encrypt)
example.com. 3600 CAA 0 issue "letsencrypt.org"Consentire più CA
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 issue "digicert.com"
example.com. 3600 CAA 0 issue "sectigo.com"Separare l'emissione regolare e wildcard
; Certificati regolari da Let's Encrypt
example.com. 3600 CAA 0 issue "letsencrypt.org"
; Certificati wildcard solo da DigiCert
example.com. 3600 CAA 0 issuewild "digicert.com"Negare qualsiasi emissione di certificati
example.com. 3600 CAA 0 issue ";"Con segnalazione delle violazioni
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 iodef "mailto:security@example.com"
example.com. 3600 CAA 0 iodef "https://example.com/caa-report"Consentire wildcard solo da una CA specifica
example.com. 3600 CAA 0 issue "letsencrypt.org"
example.com. 3600 CAA 0 issuewild ";" ; Nega tutti i wildcardIdentificatori CA popolari
| CA | Valore CAA |
|---|---|
| Let's Encrypt | letsencrypt.org |
| DigiCert | digicert.com |
| Sectigo (Comodo) | sectigo.com |
| GlobalSign | globalsign.com |
| GoDaddy | godaddy.com |
| Amazon (ACM) | amazon.com |
| Google Trust Services | pki.goog |
| Cloudflare | digicert.com (Cloudflare usa DigiCert) |
| ZeroSSL | sectigo.com |
Formato del record
| Campo | Descrizione | Esempio |
|---|---|---|
| Nome | Dominio (solitamente apex) | @ o sottodominio |
| Tipo | Tipo di record | CAA |
| Flag | Flag critico | 0 o 128 |
| Tag | Tipo di proprietà | issue, issuewild, iodef |
| Valore | Identificatore CA | letsencrypt.org |
| TTL | Time to live (secondi) | 3600 |
Aggiungere un record CAA
Tramite la dashboard
- Vai alla tua zona nella dashboard di DNScale
- Clicca Add Record
- Configura il record:
- Name: Solitamente
@per il dominio apex - Type: Seleziona
CAA - Flag: Scegli
0(Non critico) o128(Critico) - Tag: Seleziona
issue,issuewildoiodef - Value: Inserisci il dominio della CA o l'indirizzo di contatto
- TTL: Imposta la durata della cache (predefinito: 3600)
- Name: Solitamente
- Clicca Create Record
Tramite l'API
Autorizzare Let's Encrypt a emettere certificati:
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "@",
"type": "CAA",
"content": "0 issue \"letsencrypt.org\"",
"ttl": 3600
}'Aggiungere autorizzazione wildcard:
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "@",
"type": "CAA",
"content": "0 issuewild \"letsencrypt.org\"",
"ttl": 3600
}'Aggiungere segnalazione delle violazioni:
curl -X POST "https://api.dnscale.eu/v1/zones/{zone_id}/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "@",
"type": "CAA",
"content": "0 iodef \"mailto:security@example.com\"",
"ttl": 3600
}'Risposta API:
{
"status": "success",
"data": {
"message": "Record created successfully",
"record": {
"id": "encoded-record-id",
"name": "example.com.",
"type": "CAA",
"content": "0 issue \"letsencrypt.org\"",
"ttl": 3600,
"disabled": false
}
}
}Ereditarietà CAA
I record CAA vengono ereditati dai sottodomini a meno che non vengano sovrascritti:
; CAA all'apex - si applica a example.com e a tutti i sottodomini
example.com. 3600 CAA 0 issue "letsencrypt.org"
; Override per un sottodominio specifico
shop.example.com. 3600 CAA 0 issue "digicert.com"In questo caso:
example.com- solo Let's Encryptwww.example.com- solo Let's Encrypt (ereditato)shop.example.com- solo DigiCert (sovrascritto)
Best practice
-
Inizia con il monitoraggio - Aggiungi record
iodefper ricevere segnalazioni prima di limitare l'emissione -
Includi la tua CA effettiva - Prima di aggiungere record restrittivi, verifica quale CA utilizzi
-
Pianifica per i wildcard - Ricorda che
issuewildè separato daissue -
Usa il flag non critico (0) - Usa il flag 128 solo se desideri un'applicazione rigorosa
-
Aggiorna prima di cambiare CA - Aggiungi l'autorizzazione per la nuova CA prima di cambiare provider
-
Non dimenticare i sottodomini - Verifica se i sottodomini necessitano di policy diverse
Risoluzione problemi emissione certificati
Se l'emissione del certificato fallisce dopo aver aggiunto record CAA:
-
Verifica che esistano record CAA:
dig CAA example.com -
Controlla l'identificatore CA corretto:
- Contatta la tua CA per l'identificatore esatto
- Alcune CA usano identificatori della società madre
-
Verifica l'autorizzazione wildcard:
issuewildè necessario per i certificati wildcard- Se esiste solo
issue, i wildcard falliranno
-
Controlla l'ereditarietà dei sottodomini:
- I sottodomini ereditano il CAA del dominio padre a meno che non venga sovrascritto
Testare i record CAA
# Interroga i record CAA
dig CAA example.com
# Controlla con un nameserver specifico
dig CAA example.com @ns1.dnscale.eu
# Usa strumenti online
# - SSLLabs SSL Test
# - CAA Test (caatest.co.uk)Tipi di record correlati
- TXT - Verifica del dominio per le CA
- TLSA - Certificate pinning DANE
- A - Indirizzo del server per la validazione
Conclusione
I record CAA sono una misura di sicurezza semplice ma efficace per controllare l'emissione di certificati SSL/TLS. Specificando quali CA possono emettere certificati per il tuo dominio, riduci il rischio di creazione non autorizzata di certificati. DNScale rende facile configurare i record CAA con una selezione intuitiva dei tag per le policy issue, issuewild e iodef.