¿Qué es DNS CAA y cómo validarlo e implementarlo?

Aproveche el registro DNS de CAA para autorizar a CA a emitir los certificados TLS.

¿Qué es DNS CAA?

CAA es uno de los tipos de registro DNS que le indica a CA si debe emitir un certificado o no. En otras palabras, le está haciendo saber al mundo quién debe emitir su dominio. Certificado SSL/TLS. La implementación de CAA se hizo obligatoria a fines de 2017, por lo que es relativamente nueva y menos del 5 % de los sitios populares la han implementado.

Tomemos un ejemplo: kirukiru.es posee un sitio llamado «gf.dev», que tiene el siguiente registro CAA.

gf.dev.			3586	IN	CAA	0 issue "digicert.com; cansignhttpexchanges=yes"
gf.dev.			3586	IN	CAA	0 issuewild "comodoca.com"
gf.dev.			3586	IN	CAA	0 issue "comodoca.com"
gf.dev.			3586	IN	CAA	0 issuewild "digicert.com; cansignhttpexchanges=yes"
gf.dev.			3586	IN	CAA	0 issuewild "letsencrypt.org"
gf.dev.			3586	IN	CAA	0 issue "letsencrypt.org"

Al observar los resultados anteriores, puedo obtener el certificado emitido solo por DigiCert, Comodo y Let’s encrypt. Si le pido a Thawte u otra CA que emita un certificado para gf.dev, no podrán hacerlo. Además, si presta atención, notará que algunas entradas tienen problemas y algunas tienen problemas. Averigüemos cuáles son.

  • problema: indique a CA que emita el certificado solo para ese dominio.
  • issuewild: la CA puede emitir el certificado comodín para que pueda usarse en un dominio o subdominio.

El registro de CAA también es compatible con iodef (formato de intercambio de descripción de objeto de incidente) que permite a CA enviar un informe de infracción al correo electrónico o detalles de contacto especificados.

¿Qué sucede cuando no se encuentra ningún registro CAA?

Si un dominio no tiene un registro CAA, cualquiera puede generar un CSR para ese dominio y obtener el certificado firmado por cualquier CA. Este es un riesgo de seguridad.

¿Está claro ahora?

Hay algunas abreviaturas que he usado arriba. Veamos cuáles son.

  • DNS: sistema de nombres de dominio
  • CA – Autoridad de certificación
  • CAA – Autorización de la autoridad de certificación
  • TLS: seguridad de la capa de transporte
  • SSL: capa de conexión segura

¿Cómo verificar el registro DNS CAA?

Hay varias formas de validar el registro CAA. Si no desea abandonar su terminal, puede verificar usando el comando de excavación.

dig caa $YOURWEBSITE.COM

Ejemplo de kirukiru.es.com

[email protected]:~# dig caa kirukiru.es.com

; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> caa kirukiru.es.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54430
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;kirukiru.es.com.			IN	CAA

;; ANSWER SECTION:
kirukiru.es.com.		3600	IN	CAA	0 issuewild "comodoca.com"
kirukiru.es.com.		3600	IN	CAA	0 issuewild "letsencrypt.org"
kirukiru.es.com.		3600	IN	CAA	0 issue "comodoca.com"
kirukiru.es.com.		3600	IN	CAA	0 issue "digicert.com; cansignhttpexchanges=yes"
kirukiru.es.com.		3600	IN	CAA	0 issue "letsencrypt.org"
kirukiru.es.com.		3600	IN	CAA	0 issuewild "digicert.com; cansignhttpexchanges=yes"

;; Query time: 7 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Tue Oct 08 07:12:21 UTC 2019
;; MSG SIZE  rcvd: 298

[email protected]:~#

Si desea probar esto de forma remota, puede usar Probador de DNS CAA herramienta en línea.

¿Cómo agregar un registro CAA?

Técnicamente, esta es la misma forma en que agrega otros registros DNS como A, NS, CNAME, etc.

Si está utilizando Cloudflare, vaya a la pestaña DNS >> agregue un registro y seleccione CAA como tipo.

Para GoDaddy, vaya a Administración de DNS y agregue un registro

Si no está seguro de cómo agregarlo, puede comunicarse con su proveedor de alojamiento/DNS para obtener ayuda.

Conclusión

Si aún no lo ha hecho, debe aprovechar el registro CAA para agregar una capa de seguridad de dominio. Agregar un registro CAA no le cuesta nada.

¿Te gustó leer el artículo? ¿Qué tal compartir con el mundo?