Hola Visitante

Autor Tema: Let’s Encrypt la CA Open Source  (Leído 108 veces)

Berni69

  • Administrator
  • *****
  • Mensajes: 25
    • Ver Perfil
Let’s Encrypt la CA Open Source
« en: Abril 24, 2017, 03:19:52 pm »

Para todos aquellos que no conozcáis Let’s Encrypt os invito a que visitéis su Web  .  Esta entidad certificadora es Open Source y expide certificados gratuitamente siempre que podamos verificar la propiedad del sitio web mediante el protocolo ACME (automatic certificate management environment).  Este protocolo nos permite administrar y expedir certificados de manera automática.


La única pega de esta entidad es que la validez de los certificados es de 90 días. Por lo que cada 3 meses hay que renovarlos en el servidor. Existen varios mecanismos de autenticación de un dominio, el más sencillo es la comprobación web donde la entidad certificadora nos solicita que creemos un .html con un contenido específico en nuestro dominio. Para automatizar el uso de ACME se creó un proyecto que se llama  dehydrated en el que se gestionan en bash las llamadas a letsencrypt. Este proyecto es modular y permite parametrizar fácilmente las opciones de despliege de los certificados:


https://github.com/lukas2511/dehydrated


Este tipo de autenticación vía http presenta un problema, no puedes autenticar subdominios no publicados en Internet ya que la CA no podría conectarse a comprobar el challenge. Para este tipo de escenarios podemos utilizar la autenticación DNS01, donde se publica la información en un registro TXT del DNS que nos gestiona el dominio. Para usar este tipo de challenge, hay que especificar un “hook” a dehydrated para indicarle como tiene que interactuar con nuestro DNS.


En mi caso dispongo de una solución DNS de EfficientIP solid server, he creado un hook para usar dehydrated con SolidServer. Se puede encontrar en github:


https://github.com/berni69/solidserver-challenge


Para usarlo bastaría con descargarlo junto con dehydrated:



$ cd ~
$ git clone https://github.com/lukas2511/dehydrated
$ cd dehydrated
$ mkdir hooks
$ git clone https://github.com/berni69/solidserver-challenge.git hooks
$ chmod +x dehydrated
$ ./dehydrated --challenge dns-01  --cron --domain "test.example.com" --hook "hooks/solid-hook.py"

Saludos!



Andreu

  • Visitante
Let’s Encrypt la CA Open Source
« Respuesta #1 en: Abril 25, 2017, 11:46:58 am »

La restricción de 90 días no es tan importante si partes de la premisa de la total automatización del proceso que permite el protocolo ACME.

Cabe indicar que la propia organización lleva un listado de las aplicaciones que permiten la gestión de los certificados usando dicho protocolo:

https://letsencrypt.org/docs/client-options/



Berni69

  • Administrator
  • *****
  • Mensajes: 25
    • Ver Perfil
Let’s Encrypt la CA Open Source
« Respuesta #2 en: Abril 25, 2017, 11:49:18 am »

Es una restricción importante puesto que la mayoría de empresas y servidores aún no están integrados con el protocolo ACME de froma nativa por lo que hay que ir añadiendo parches y hooks para poder funcionar con Let’s Encrypt. Aquí dejo una lista de hooks para poder usar el protocolo ACME con dns-challenge con otros servidores DNS:


https://github.com/lukas2511/dehydrated/wiki/Examples-for-DNS-01-hooks


Saludos,