Respaldo para Let's Encrypt: CA automáticas gratuitas

Para muchos, Let's Encrypt se ha convertido en una parte integral del desarrollo web, y la renovación automática de certificados cada 90 días es un procedimiento de rutina. De hecho, ahora es la autoridad de certificación más popular en Internet. Es genial, pero también peligroso.



Esto plantea la pregunta: ¿Qué pasa si los servidores de Let's Encrypt dejan de funcionar temporalmente? No quiero pensar en las posibles causas del fracaso. Pero es aconsejable proporcionar una alternativa. Es decir, el mismo centro de certificación gratuito automatizado conveniente.



Afortunadamente, existen alternativas. Al menos dos. Las mismas CA automatizadas gratuitas modeladas en Let's Encrypt.



Protocolo ACME



Todas las comunicaciones con Let's Encrypt se realizan mediante el protocolo ACME (Entorno de gestión de certificados automatizado). Es un protocolo abierto para automatizar las interacciones con las CA. No hay nada específico para Let's Encrypt, es compatible con varias otras CA.



Ahora es el momento en que cada vez más CA comienzan a trabajar a través de ACME. Esto significa que casi todas nuestras herramientas, scripts y procesos para obtener certificados de Let's Encrypt funcionarán bien con otras CA que admitan ACME.



Para reconstruir a otra CA, solo necesita cambiar la dirección de API en los scripts configurados de https://acme-v02.api.letsencrypt.org/directory(Let's Encrypt) a https://api.buypass.com/acme/directory(BuyPass, ver más abajo) o alguna otra.



BuyPass



Necesitamos una CA que cumpla con dos criterios:



  1. ACME;

  2. .


Estos criterios los cumple una CA noruega llamada BuyPass .



El servicio gratuito se llama BuyPass Go SSL : emisión y renovación automática de certificados + soporte ACME. Que necesitas.



El documento técnico explica cómo configurar la obtención y renovación de un certificado utilizando Certbot , un cliente oficial de Electronic Frontier Foundation para trabajar con Let's Encrypt o cualquier otra CA que admita el protocolo ACME.



Registrarse en la CA y obtener un certificado en BuyPass es elemental, como en el caso de Let's Encrypt, aquí no hay diferencia.



Registro con su dirección de correo electrónico para notificaciones ('YOUR_EMAIL') y aceptación de los términos de uso (--agree-tos):



root@acme:~# certbot register -m 'YOUR_EMAIL' --agree-tos --server 'https://api.buypass.com/acme/directory'


Obtener un certificado:



root@acme:~# certbot certonly --webroot -w /var/www/example.com/public_html/ -d example.com -d www.example.com --server 'https://api.buypass.com/acme/directory'


Posteriormente, si es necesario, se utilizan otros comandos de Certbot para revocar un certificado ( revoke), renovar certificados caducados ( renew) y eliminar un certificado ( delete).



Se recomienda colocar el comando de renovación en cron y ejecutarlo automáticamente para verificar los certificados caducados por si acaso. Por ejemplo, así:



#Cron-job scheduled under root to run every 12th hour at a specified minute (eg. 23, change this to your preference)
23 */12 * * * /opt/certbot/certbot-auto renew -n -q >> /var/log/certbot-auto-renewal.log


BuyPass tiene algunos límites en ACME. El límite principal es el número de certificados para un dominio registrado (20 por semana). Esto se refiere a la parte del dominio que se compra a un registrador de nombres de dominio. Es decir, este es el límite para todos los subdominios en total. Otro límite es de 5 duplicados por semana. Este es el límite de certificados para cada subdominio específico. Hay límites en los errores de validación: 5 por cuenta, por host y por hora.



Solicitudes de punto final limitan new-reg, new-authzy new-cert: 20 por segundo. Límite de solicitudes a /directory: 40 por segundo.



El número máximo de autorizaciones en el proceso (Autorizaciones pendientes): 300 piezas.



Se puede utilizar otro cliente acme.sh en lugar de Certbot, que también está inicialmente configurado para Let's Encrypt, pero se enruta fácilmente a otra CA con soporte ACME.



./acme.sh --issue --dns dns_cf -d example.com --server "https://api.buypass.com/acme/directory"


ZeroSSL



Otra CA que emite certificados gratuitos de 90 días bajo el protocolo ACME es la austriaca ZeroSSL .



El programa acme.sh mencionado anteriormente tiene soporte ZeroSSL, por lo que es muy fácil registrarse:



acme.sh --register-account -m foo@bar.com --server zerossl


A continuación, un comando para generar un certificado:



acme.sh --issue --dns dns_cf -d example.com --server zerossl


No hay límites para las llamadas a la API. Hay otras ventajas : esta CA otorga certificados gratuitos no solo por 90 días, sino también por 1 año, hay un panel web y soporte técnico.



Por cierto, ZeroSSL genera certificados incluso a través de la interfaz web, paso a paso con verificación de dominio por correo electrónico. Pero, por supuesto, este método no es adecuado para la automatización.



Otros servidores ACME



Aquí hay una lista de todos los servidores ACME conocidos. Todavía quedan pocos, pero el número va en aumento.






Let's Encrypt es una organización excepcional que hace un gran trabajo. Pero es peligroso poner todos los huevos en una canasta. Cuanto más trabaja la CA bajo el protocolo ACME y distribuye certificados gratuitos en modo automático, más diverso y confiable es el ecosistema en su conjunto.



Let's Encrypt puede experimentar un tiempo de inactividad o suspender temporalmente la actividad, y luego Buypass y ZeroSSL llegarán a la cobertura. Tener estas alternativas en última instancia aumenta la credibilidad de Let's Encrypt, porque ya no es un único punto de falla. Y cambiar la CA por ACME es cuestión de unos segundos.






Oferta especial del centro de certificación GlobalSign






All Articles