HTTPS para todos: Let's Encrypt alcanza los mil millones de certificados emitidos

La comunicación cifrada fue "solo si es importante" para "a menos que seas increíblemente vago" en cuatro años, y Let's Encrypt merece mucho crédito por eso.

Let’s Encrypt, la autoridad de firma de certificados gratuita del Internet Security Research Group, emitió su primer certificado hace poco más de cuatro años. Hoy, emitió su billonésimo.

El objetivo de ISRG para Let’s Encrypt es llevar la Web a una tasa de cifrado del 100%. Cuando se lanzó Let’s Encrypt en 2015, la idea estaba muy desactualizada: en ese momento, poco más de un tercio de todo el tráfico web estaba encriptado, y el resto era HTTP en texto sin formato. Había barreras importantes para la adopción de HTTPS: por un lado, costaba dinero. Pero lo más importante, costó una cantidad significativa de tiempo y esfuerzo humano, ambos con una oferta limitada.

Let’s Encrypt resolvió la barrera del dinero ofreciendo sus servicios de forma gratuita. Lo más importante es que al establecer un protocolo estable para acceder a ellos, permitió a Electronic Frontier Foundation crear y proporcionar Certbot, una herramienta gratuita y de código abierto que automatiza el proceso de obtención de certificados, instalación y configuración de servidores web para utilícelos y renuévelos automáticamente.

Gestionar HTTPS de la forma tradicional

Cuando se lanzó Let’s Encrypt en 2015, los certificados validados por dominio solo costaban $ 9 al año, pero el tiempo y el esfuerzo necesarios para mantenerlos era otra historia. Era necesario comprar un certificado y completar la información en varios formularios, de modo que alguien pudiera esperar horas antes de que se emitieran incluso certificados validados de dominio baratos.

Una vez emitido el certificado, era necesario descargarlo (y su clave y cualquier certificado de cadena necesario), moverlo al servidor, colocarlo en el directorio correcto y, finalmente, reconfigurar el servidor web para SSL.

Publicidad

En el servidor web Apache ampliamente utilizado, la parte SSL de la configuración, ¡solo! – podría verse así:

     SSLEngine on
     SSLCertificateFile         /etc/apache2/certs/sitename.crt
     SSLCertificateChainFile    /etc/apache2/certs/sitename.ca-bundle
     SSLCertificateKeyFile      /etc/apache2/certs/sitename.key
     SSLCACertificatePath       /etc/ssl/certs/

     # intermediate configuration, tweak to your needs
     SSLProtocol all -SSLv3
     SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
     SSLHonorCipherOrder on
     SSLCompression off

     # OCSP Stapling, only in httpd 2.3.3 and later
     #SSLUseStapling on
     #SSLStaplingResponderTimeout 5
     #SSLStaplingReturnResponderErrors off

     # HSTS (mod_headers is required) (15768000 seconds = 6 months)
     Header always set Strict-Transport-Security "max-age=15768000"

Ninguno de estos ajustes se ha realizado para ti. En el mundo real, se realizó una cantidad desalentadora de configuración de culto de carga a través de cortar y pegar desde el primer sitio web que decía ofrecer un conjunto funcional de configuraciones.

Si un administrador sin experiencia adivinó mal al buscar algo para copiar y pegar, o si un administrador con más experiencia fue descuidado y no se dio cuenta cuando cambiaron los estándares, la inseguridad en forma de un protocolo incorrecto y argumentos criptográficos también puede aparecer fácilmente.

Cada año o tres, debe hacerlo todo de nuevo, tal vez simplemente reemplazando el certificado y la clave, tal vez también reemplazando o agregando nuevos certificados de cadena intermedia.

Todo fue (y es) francamente, un desastre … y puede resultar fácilmente en tiempo de inactividad si un procedimiento practicado con poca frecuencia no funciona sin problemas.

Administrar HTTPS con Let’s Encrypt y Certbot

Al eliminar costos y establecer un protocolo estable y confiable, Let’s Encrypt también eliminó importantes barreras a la automatización. EFF intervino para proporcionar esta automatización a los usuarios finales y administradores con Certbot, una de las formas más populares de gestionar la adquisición, instalación y renovación de certificados Let’s Encrypt.

En un sistema Ubuntu 18.04 o posterior, Certbot de EFF y sus diversos complementos están disponibles en los repositorios del sistema principal. Se puede instalar con dos comandos de shell, uno, si desea cambiarlo un poco y usar un punto y coma:

    root@web:~# apt update ; apt install -y python3-certbot-apache

Hecho esto, un solo comando activa Certbot. A medida que interactúa con un sistema de menú de texto sin formato, obtiene certificados para cualquiera o todos sus sitios, configura su servidor web (¡de manera apropiada!) Para usted y agrega un trabajo cron para renovar automáticamente los certificados cuando están en 30 días antes de la expiración. Todo lleva menos de cinco minutos.

Publicidad

Como toque adicional, Certbot ofrece, pero no requiere, configurar automáticamente su servidor web para redirigir las solicitudes HTTP a HTTPS por usted. Es muy facil.

Proporcionar privacidad y seguridad a gran escala

En junio de 2017, Let’s Encrypt tenía dos años y entregó su décimo millonésimo certificado. La Web había pasado de menos del 40% de HTTPS a, en Estados Unidos, un 64% de HTTPS, y Let’s Encrypt sirvió a 46 millones de sitios.

Hoy, se ha emitido el certificado Let’s Encrypt número mil millones, sirve a 192 millones de sitios web y la cuota de Internet de Estados Unidos es impresionante, 91% cifrada. El proyecto gestiona esto con casi el mismo equipo y presupuesto que en 2017: pasó de 11 empleados a tiempo completo y un presupuesto de $ 2.61 millones a 13 empleados a tiempo completo y un presupuesto de $ 3.35 millones en la actualidad.

Nada de esto sería posible sin un compromiso con la automatización y los estándares abiertos. Estamos encantados de cómo el Certbot de EFF facilita la implementación y renovación de los certificados Let’s Encrypt, pero esa contribución solo es posible gracias al enfoque propio de Let’s Encrypt en estandarizar un protocolo ACME abierto con el que cualquiera puede construir un cliente para operar.

Además de construir y publicar un protocolo estable y capaz, Let’s Encrypt ha trabajado para enviarlo y ratificarlo con el Grupo de Trabajo de Ingeniería de Internet (IETF), lo que resultó en RFC 8555.

Conclusiones

Realmente no hay muchas excusas para no proporcionar más comunicación encriptada de un extremo a otro (¡y autenticada!) De los sitios web a los usuarios. Let’s Encrypt, su protocolo ACME y la legión de clientes que han surgido para facilitar su uso, incluido, entre otros, Certbot, han simplificado la configuración y la implementación de HTTPS.