Aproveche el registro DNS CAA para autorizar a la CA a emitir los certificados TLS.
¿Qué es DNS CAA?
CAA es uno de los tipos de registro DNS que indica a la CA si debe emitir un certificado o no. En otras palabras, está haciendo saber al mundo quién debe emitir el certificado SSL/TLS de su dominio. La implementación de CAA se hizo obligatoria a finales de 2017, por lo que es relativamente nueva, y menos del 5% de los sitios populares la han implementado.
Pongamos un ejemplo: Geekflare 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"
Observando los resultados anteriores, sólo puedo obtener el certificado emitido por DigiCert, Comodo y Let’s encrypt. Si pido a Thawte u otra CA que emita un cert para gf.dev, entonces no podrán hacerlo. Además, si presta atención, notará que algunas entradas tienen issue y otras issuewild. Averigüemos cuáles son.
- issue – ordena a la CA que emita el cert sólo para ese dominio.
- issuewild – la CA puede emitir el certificado comodín para que pueda ser utilizado en un dominio o subdominio.
El registro CAA también es compatible con iodef (Incident object description exchange format), que permite a la CA enviar un informe de infracción al correo electrónico o a los datos de contacto especificados.
¿Qué ocurre cuando no se encuentra ningún registro CAA?
Si un dominio no tiene un registro CAA, cualquiera puede generar una CSR para ese dominio y obtener el cert firmado por cualquier CA. Esto supone un riesgo para la seguridad.
¿Está claro ahora?
Hay algunas abreviaturas que he utilizado más arriba. Veamos cuáles son.
- DNS – Sistema de nombres de dominio
- CA – Autoridad de certificación
- CAA – Autoridad de certificación
- TLS – Seguridad de la capa de transporte
- SSL – Capa de conexión segura
¿Cómo comprobar el registro DNS CAA?
Hay varias formas de validar el registro CAA. Si no quiere salir de su terminal, entonces puede comprobarlo utilizando el comando dig.
dig caa $TUWEBSITE.COM
Ejemplo de geekflare.com/es
root@geekflare:~# dig caa geekflare.com/es
; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> caa geekflare.com/es
;; opciones globales: cmd
;; Respuesta obtenida:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54430
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTORIDAD: 0, ADICIONAL: 1
;; PSEUDOSECCIÓN OPT:
; EDNS: versión: 0, banderas:; udp: 65494
;; SECCIÓN DE PREGUNTAS:
;geekflare.com/es. EN CAA
;; SECCIÓN DE RESPUESTAS:
geekflare.com/es. 3600 IN CAA 0 issuewild "comodoca.com"
geekflare.com/es. 3600 IN CAA 0 issuewild "letsencrypt.org"
geekflare.com/es. 3600 IN CAA 0 issue "comodoca.com"
geekflare.com/es. 3600 IN CAA 0 issue "digicert.com; cansignhttpexchanges=yes"
geekflare.com/es. 3600 IN CAA 0 issue "letsencrypt.org"
geekflare.com/es. 3600 IN CAA 0 issuewild "digicert.com; cansignhttpexchanges=yes"
;; Tiempo de consulta: 7 mseg
;; SERVIDOR: 127.0.0.53#53(127.0.0.53)
;; CUANDO: Tue Oct 08 07:12:21 UTC 2019
;; MSG SIZE rcvd: 298
root@geekflare:~#
Si desea probar esto de forma remota, puede utilizar la herramienta en línea DNS CAA Tester.
¿Cómo añadir un registro CAA?
Técnicamente, es de la misma forma que se añaden otros registros DNS como A, NS, CNAME, etc.
Si utiliza Cloudflare, vaya a la pestaña DNS >> añadir un registro y seleccione CAA como tipo.
Para GoDaddy, vaya a Gestión DNS y añada un registro
Si no está seguro de cómo añadirlo, puede ponerse en contacto con su proveedor de DNS/hosting para que le ayude.
Conclusión
Si aún no lo ha hecho, debería aprovechar el registro CAA para añadir una capa de seguridad al dominio. Añadir un registro CAA no le cuesta nada.