Certification Authority Authorization (CAA) para nuestro dominio

por | mayo 3, 2018

Cuando intentamos emitir un certificado SSL para un dominio, suele existir un mecanismo por el cual tenemos que demostrar que somos propietarios de dicho de dominio. Resulta obvio ya que de lo contrario cualquiera podría emitir certificados para dominios ajenos.

Para reforzar este mecanismo de garantías ya presente en las principales Autoridades Certificadoras, la IETF elaboró el RFC 6844. En él se establece cómo implementar un nuevo tipo de registro DNS llamado Certification Authority Authorization (CAA). Este registro especifica qué Autoridades Certificadores están autorizadas a emitir certificados para un dominio en particular. El resumen del RFC es bastante claro:

The Certification Authority Authorization (CAA) DNS Resource Record allows a DNS domain name holder to specify one or more Certification Authorities (CAs) authorized to issue certificates for that domain. CAA Resource Records allow a public Certification Authority to implement additional controls to reduce the risk of unintended certificate mis-issue. This document defines the syntax of the CAA record and rules for processing CAA records by certificate issuers.

No existe un método unificado para implementarlo a nivel de software, por lo que encontraremos diferencias a la hora de configurar registros CAA en un servidor BIND, Dnsmasq u OpenDNSSEC. Afortunadamente tenemos a nuestra disposición la página SSLMate donde podemos ver qué software soporta registros CAA: .

Software con soporte para registros CAA

Software con soporte para registros CAA

También tenemos un asistente para generar dichos registros en cada software y según la CA autorizada

Asistente de configuración de registros CAA

Asistente de configuración de registros CAA

Por otro lado, si lo que estamos utilizando son los servicios de un proveedor de hosting lo más seguro es que tenga un gestor o administrador DNS propio. Por tanto de nuevo encontraremos diferencias entre unos y otros, pero el proceso no debería ser complicado. Para muestra la guía de Linode, Digital Ocean o Cloudflare.

¿De qué manera podemos comprobar si tenemos configurado los registros CAA correctamente? Personalmente utilizo dig, es la forma más sencilla de comprobarlo desde terminal, aunque también podéis utilizar la herramienta SSL Labs de Qualys.

Comprobación con dig desde terminal

Comprobación con dig desde terminal

Por último, aunque a día de hoy es obligatorio para las CAs comprobar la existencia de registros CAA, para nosotros como propietarios de un dominio es opcional implementar dichos registros. No obstante, su configuración es sencilla y nunca está de más añadir una capa extra de fiabilidad para nuestros certificados.