Actualizado el viernes, 26 abril, 2024

Let’s Encrypt es una autoridad de certificación SSL (CA) gratuita y confiable. Let’s Encrypt utiliza políticas estrictas para verificar la propiedad de un dominio y solo proporciona certificados SSL para esos dominios verificados.

De forma predeterminada, Let’s Encrypt utiliza el desafío HTTP-01 para verificar la propiedad. El desafío HTTP-01 coloca un archivo en la raíz web de su servidor web y utiliza el nombre DNS del servidor web para obtener el archivo. Si el archivo se puede obtener de Internet, se verifica la autoridad del nombre de dominio y se emite el certificado SSL. Eso es bueno para la mayoría de los servidores y usuarios domésticos que pueden permitirse una dirección IP pública de su proveedor de servicios de Internet (ISP).

Pero, ¿qué pasa si desea utilizar los certificados SSL Let’s Encrypt para los nombres de dominio de su red doméstica o red privada/interna? Bueno, en la mayoría de las redes domésticas, obtener un certificado SSL Let’s Encrypt es un desafío porque lo más probable es que su ISP no le dé una dirección IP pública. Por lo tanto, no podrá pasar el desafío Let’s Encrypt HTTP-01 (ya que sus computadoras/servidores no son accesibles desde Internet).

En este caso, puede utilizar el desafío Let’s Encrypt DNS-01 para obtener los certificados SSL para su red doméstica/interna. En este método, Let’s Encrypt agrega un registro TXT de DNS para el «subdominio _acme-challenge.yourdomain.xyz» en su servidor DNS y verifica si el registro TXT de DNS está disponible en Internet. Si el registro TXT coincide, se verifica que eres el propietario del dominio y Let’s Encrypt emite el certificado SSL.

Para que el desafío Let’s Encrypt DNS-01 funcione y renueve automáticamente el certificado SSL, debe utilizar un proveedor de servicios DNS (es decir, CloudFlare, DigitalOcean) que exponga una API que se pueda usar para agregar/eliminar los registros TXT en el servidor DNS.

Si su registrador de DNS (donde registró el nombre de dominio) no es compatible con dichos servicios, puede utilizar un proveedor de servicios de DNS de terceros. Todo lo que necesita hacer es cambiar la dirección del servidor de nombres DNS de su dominio del servidor DNS de su registrador de DNS a la dirección del servidor de nombres DNS de su proveedor de servicios DNS de terceros que desee.

Tema de Contenidos:

  1. Lista de proveedores de DNS que se integran fácilmente con la validación de DNS de Let’s Encrypt
  2. Lista de clientes de Let’s Encrypt ACME
  3. Cambiar el servidor de nombres DNS desde su registrador de dominios
  4. Ventajas de la validación de Let’s Encrypt DNS-01
  5. Desventajas de la validación de Let’s Encrypt DNS-01
  6. Conclusión
  7. Referencias

Lista de proveedores de DNS que se integran fácilmente con la validación de DNS de Let’s Encrypt

La comunidad de Let’s Encrypt compiló una lista de proveedores de DNS que exponen algún tipo de API para agregar/eliminar automáticamente los registros DNS para que los clientes de Let’s Encrypt puedan validar los nombres de dominio y emitir los certificados SSL.

La lista de proveedores de DNS que se integran fácilmente con la validación de DNS de Let’s Encrypt se puede encontrar en este enlace.

Lista de clientes de Let’s Encrypt ACME

Los clientes de Let’s Encrypt también se denominan clientes ACME. ACME son las siglas de Automatic Certificate Management Environment (Entorno de Gestión Automática de Certificados). ACME es un protocolo para automatizar la interacción entre el ordenador/servidor y la autoridad de certificación (es decir, Let’s Encrypt).

Los clientes ACME más populares de Let’s Encrypt son:

Cambiar el servidor de nombres DNS desde su registrador de dominios

Si tu registrador de dominios no está en la lista de proveedores de DNS que se integra fácilmente con Let’s Encrypt, puedes utilizar CloudFlare u otros proveedores de servicios de DNS de terceros. Todo lo que tienes que hacer es cambiar el servidor de nombres DNS de tu dominio desde el panel de control de tu registrador de dominios al servidor de nombres DNS del proveedor de servicios DNS de terceros que deseas utilizar.

En la siguiente captura de pantalla te mostramos el proceso de cambio del servidor de nombres DNS (al servidor DNS de CloudFlare) para uno de nuestros dominios desde el panel de control/sitio web de nuestro registrador de dominios (donde registramos nuestro nombre de dominio). El proceso debería ser similar para tu registrador de dominios. Para obtener más información, lea la documentación de su registrador de dominios o póngase en contacto con ellos.

Ventajas de la validación de Let’s Encrypt DNS-01

Las ventajas de la validación DNS-01 de Let’s Encrypt son:

  • No requiere una dirección IP pública/accesible por Internet ni un servidor web.
  • Puede usarlo para emitir certificados SSL para nombres de dominio comodín (es decir, *.nodekite.com, *.pachahosting.com).
  • Funciona bien para múltiples servidores web.

Desventajas de la validación de Let’s Encrypt DNS-01

Aunque hay muchas ventajas de la validación de Let’s Encrypt DNS-01, también hay algunas desventajas:

  • Para que la validación DNS-01 funcione, debe mantener la clave/token API de su proveedor de servicios DNS en el servidor que un cliente Let’s Encrypt utilizará para crear un registro TXT en el servidor DNS para la validación DNS-01. Como la clave/token de API se mantiene en el servidor, si el servidor es hackeado, existe la posibilidad de que la clave/token de API se vea comprometida.
  • Después de que el cliente Let’s Encrypt agregue un registro TXT en el servidor DNS, se tarda un tiempo en propagar los cambios a otros servidores de nombres DNS en todo el mundo. El cliente Let’s Encrypt debe esperar a que los cambios se propaguen a los servidores de nombres DNS comunes en todo el mundo para verificar la propiedad del dominio. Si su proveedor de servicios DNS no proporciona el tiempo de propagación de DNS en la API, el cliente Let’s Encrypt no sabrá cuánto tiempo esperar para que los cambios de DNS se propaguen a otros servidores de nombres en todo el mundo. En ese caso, es posible que se agote el tiempo de espera de la validación de DNS y que Let’s Encrypt no emita un certificado SSL.

Conclusión

En este artículo, discutimos el desafío Let’s Encrypt DNS-01 y por qué usarlo sobre el desafío HTTP-01 predeterminado para verificar la propiedad de un nombre de dominio. También discutimos los requisitos para pasar el desafío Let’s Encrypt DNS-01 para obtener un certificado SSL Let’s Encrypt. Enumeramos los proveedores de servicios DNS que se integran bien con Let’s Encrypt, así como los clientes ACME de Let’s Encrypt que puede usar para realizar la validación de DNS desde su computadora/servidor. Finalmente, discutimos las ventajas y desventajas de la validación de DNS Let’s Encrypt.

Referencias:

Cómo crear entornos virtuales en Python
Cómo obtener certificados SSL de Let's Encrypt usando la validación de DNS de Certbot CloudFlare