¿Let’s Encrypt es confiable para la producción?

Actualización – 2016-04-10:

WordPress.com ahora está usando encriptemos en los dominios de blog que alojan. Está lista para producción.


Mi recomendación:

  1. Pruébelo en sistemas internos que no sean de producción para ganar experiencia
  2. Tenga a mano un certificado comercial.
  3. Monitoree constantemente.
  4. Adopte cuando millones de sitios ya lo hayan adoptado ( ya lo haya hecho; consulte la actualización ).

Estoy muy entusiasmado con Let’s Encrypt. Creo que este proyecto es un gran ejemplo de brillantez técnica que puede perturbar a toda una industria y ahorrar mucho dolor a los desarrolladores. Como CTO de una pequeña startup, trabajo mucho en DevOps, paso demasiadas horas cada vez que tengo que renovar certificados SSL, por lo que tener certificados de renovación automática Let’s Encrypt en todas las máquinas de forma gratuita es una gran ayuda.

Sin embargo, un problema de certificado SSL puede matar un sitio web y una aplicación (o incluso una empresa joven). Por ejemplo, suponga que Apple se despierta en el lado equivocado de la cama y de repente las llamadas a la API de su aplicación dejan de funcionar porque iOS no validará sus URL HTTPS, o algún experto en seguridad encuentra una gran brecha en su mecanismo y todos los grandes navegadores dejan de validar su URL en 24 horas. LE es joven, por lo que estos escenarios pueden suceder.

Por lo tanto, no me apresuro a la implementación de producción completa antes de que otros lo hagan. Sin embargo, los implemento en sitios internos de la compañía, como paneles de control. De esta manera puedo inspeccionar el problema y renovar el flujo. En el peor de los casos, si los certificados ya no son válidos, aún puedo acceder a los sitios ignorando las advertencias SSL del navegador hasta que compre un certificado adecuado. No se hace daño de relaciones públicas, porque estos son sitios internos destinados solo a mis desarrolladores.

Para monitorear, uso un trabajo de Jenkins que verifica que los sitios tengan certificados SSL válidos cada pocas horas. Tengo un certificado comercial listo en los servidores, por lo que cambiar debería costar unos minutos de trabajo y reiniciar nginx.

Espero hacer la transición completa en 2017.


Ejemplo del mundo real

Desplegué vamos a encriptar en mi servidor mmonit que uso para supervisar mis instancias EC2. Después de emitir el certificado (usando autónomo, nginx aún no es compatible de fábrica), utilizo el siguiente script para renovar:

#! / bin / bash

monit unmonitor all
killall mmonit

/ opt / letsencrypt / letsencrypt-auto certonly -a webroot –agree-tos –renew-by-default –webroot-path = / usr / share / nginx / html -d MY_DOMAIN
/home/ubuntu/mmonit-3.5.1/bin/mmonit

servicio reinicio nginx
monitor monitorear todo

La siguiente línea crontab ejecuta el script de renovación tres veces por semana (el límite es de 5 renovaciones semanales).

3 12 * * 1,3,5 /home/ubuntu/renew_cert.sh

Puede leer más sobre la instalación de nginx aquí.

ACTUALIZACIÓN 29 de abril de 2018

Recientemente he analizado la fiabilidad de Let’s Encrypt utilizando sus propios datos. El informe se encuentra en Let’s Encrypt, el tiempo de actividad es del 99.9%, o 98.8% sin defectos en 2017. Básicamente, muestra que estuvo completamente en funcionamiento solo durante el 98.8% del tiempo en 2017. Algunas interrupciones fueron “parciales”, por lo que solo un subconjunto de usuarios las experimentaría.

Otro aspecto importante son los cambios en el protocolo y su implementación. Muchos usuarios experimentaron problemas en Q3 ya que LE configuró IPv6 como protocolo principal. Se usaba cuando detectaba la existencia de una dirección IPv6, independientemente de si realmente funcionaba.

Ciertamente tiene sentido implementar un monitoreo externo. Monitoreo del estado de los certificados (cont.)

—— FIN DE LA ACTUALIZACIÓN

Es una buena pregunta, especialmente después de un reciente tiempo de inactividad de LE que duró más de un día, con 16 horas de servicio básicamente no disponibles. Esta es una interrupción bastante grave, que probablemente pondrá a LE detrás de la mayoría de los otros certificados, ya que hace que el tiempo de actividad sea solo del 99.8% por sí solo para este año.

Como LE supone que las renovaciones están automatizadas, nunca debe suponer que los servicios de LE estarán siempre disponibles y diseñar su propia automatización de producción en consecuencia.

Dicho esto, no creo que exista una posibilidad real de interrupción, que duraría más de una semana, por lo que, en términos de emisión y renovación de certificados, es probable que LE sea confiable si planifica y renueva de acuerdo con los plazos recomendados.

Aparte de eso, debe considerar los límites operativos de LE. He escrito muchos de ellos en una publicación de blog aquí.

También puede estar interesado en la garantía en términos de daños potenciales causados ​​por incidentes. Todavía no he encontrado ninguna referencia autorizada para tal garantía.

EDITAR (mayo de 2016): LetsEncrypt ha salido de la versión beta con nuevos patrocinadores. Muchas de estas compañías confían en el éxito de LetsEncypt. Se han convertido en la tercera Autoridad de Certificación más grande del mundo. Mucha gente ha llegado a confiar en ellos. Actualmente tienen 1,93 millones de certificados no vencidos en la naturaleza, lo que los convierte en una de las autoridades de certificación más grandes del mundo.

Respuesta original:

Por su propia admisión, están en una versión beta pública (enero de 2016), por lo que diría que no debe confiar en los sistemas de producción de misión crítica a menos que esté monitoreando cuidadosamente el uso del sistema de LetsEncrypt.

En este momento (enero de 2016), esperaría un poco a que otros sean los primeros. Está fuera de beta privada, por lo que está disponible para que experimentes, así que eso es lo que te recomendaría.

Dado el bajo costo de los certificados basados ​​en el dominio de proveedores establecidos, utilizando técnicas bien establecidas para la generación de claves y solicitudes, sugiero usarlas para la producción, al menos para un pequeño número de servidores.

Cuando miré Let’s Let’s Encrypt el mes pasado, funcionó de manera inmediata solo en un conjunto limitado de distribuciones de Linux, y usé un enfoque radicalmente diferente para obtener e instalar certificados. Lo que no es necesariamente malo, parte de la idea es automatizar el procedimiento para que “todos puedan hacer SSL”, pero sí significa que tiene que aprender una forma diferente de hacer las cosas y luego decidir si puede confiar en él. Además, la documentación aún no está pulida.

(Esta respuesta es urgente: probé letsencrypt-nosudo en CentOS 6 el 8 de diciembre de 2015)

Hemos emitido certificados LE para nuestros clientes desde su lanzamiento público a principios de diciembre. Hasta ahora no hemos visto ningún problema, pero para ser justos, tampoco hemos renovado un solo certificado, así que veremos cómo funciona en febrero.

Vale la pena señalar que no utilizamos el cliente LE oficial, sino que escribimos una herramienta personalizada que integra LE en nuestra plataforma: verifica dominios, genera las claves, obtiene los certificados y realiza las renovaciones. Sin embargo, escuché cosas buenas sobre el cliente oficial, principalmente de usuarios que administran su propio VPS.

Tengo que aceptar que es un caso de esperar y ver en este momento. El primer ciclo de renovación debería haber pasado para los primeros usuarios y no parece haber habido ningún problema importante, pero creo que también será un caso para determinar si es adecuado para usted. Los certificados son de verificación de dominio de un solo uso y serán perfectos para el cifrado punto a punto, pero pueden ser menos para los servicios donde se requiere una mayor confianza.

depende pero es un buen servicio