Actualizar Let's Encrypt en Ubuntu para dejar de dar soporte a TLS-SNI-01
Si estás usando Let's Encrypt para tener un certificado SSL en tu sitio web, es posible que hayas recibido un correo de parte de ellos con el asunto: Action required: Let's Encrypt certificate renewals, donde digan algo como esto:
Luego escogemos el Sistema Operativo que tenemos en nuestros servidores:
En mi caso, tengo Ubuntu 18.04, y ya tenía instalado Certbot desde repositorios, con lo cual lo que tengo que hacer es ejecutar estos comandos:
Hola, Es posible que se requiera una acción para evitar que las renovaciones de certificados de Let's Encrypt se rompan. Si ya recibió un correo electrónico similar, este contiene información actualizada. Su cliente de Let's Encrypt usó la validación de dominio ACME TLS-SNI-01 para emitir un Certificado en los últimos 12 días. A continuación se muestra una lista de nombres y direcciones IP validado (máximo de uno por cuenta): tudominio.ltd (70.x.x.x) el 2019-03-01 La validación de TLS-SNI-01 está llegando al final de su vida útil. Dejará de funcionar permanentemente el 13 de marzo de 2019. Cualquier certificado emitido antes de esa fecha Continuar trabajando durante 90 días después de su fecha de emisión. Necesita actualizar su cliente ACME para usar un método de validación alternativo (HTTP-01, DNS-01 o TLS-ALPN-01) antes de esta fecha o sus renovaciones de certificado se romperán y los certificados existentes comenzarán a caducar. Nuestro entorno de prueba ya tiene TLS-SNI-01 desactivado, por lo que si desea compruebe si su sistema funcionará después del 13 de marzo, puede correr contra puesta en escena: https://letsencrypt.org/docs/staging-environment/ Si eres usuario de Certbot, puedes encontrar más información aquí: https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210 Nuestro foro tiene muchos hilos sobre este tema. Por favor busque para ver si su pregunta ha sido respondido, luego abra un nuevo hilo si no lo ha hecho: https://community.letsencrypt.org/ Para obtener más información sobre el final de vida útil de TLS-SNI-01, consulte nuestra API anuncio: https://community.letsencrypt.org/t/february-13-2019-end-of-life-for-all-tls-sni-01-validation-support/74209 GraciasEn el mensaje ofrecen una serie de enlaces muy últiles, sobre todo para los que estamos usando Certbot, dónde básicamente nos indican que tenemos que hacer lo siguiente.
Pasos a seguir
Primero, debemos comprobar que versión de Certbot estamos corriendo en nuestro servidor. Si instalaste Certbot desde los repositorios, solo tenemos que ejecutar el comando:$ sudo certbot --version
Si instalamos Certbot manualmente tenemos que indicar la ruta donde está instalado:
$ sudo certbot --version || /path/to/certbot-auto --version
Debemos tener instalado una versión superior a la 0.28 para que todo esto funcione. Si como yo, tienes una versión antigua, podemos seguir las instrucciones del sitio web https://certbot.eff.org/ para instalar una versión más actualizada.
Primero escogemos que software estamos utilizando para servidor web:
Luego escogemos el Sistema Operativo que tenemos en nuestros servidores:
En mi caso, tengo Ubuntu 18.04, y ya tenía instalado Certbot desde repositorios, con lo cual lo que tengo que hacer es ejecutar estos comandos:
$ sudo apt update $ sudo apt install software-properties-common $ sudo add-apt-repository universe $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt update $ sudo apt upgradeCon esto se instalará la nueva versión de Certbot desde su PPA oficial. Ahora, lo siguiente es eliminar cualquier referencia a TLS-SNI-01 en los ficheros de actualización, con lo cual ejecutamos este comando:
sudo sh -c "sed -i.bak -e 's/^\(pref_challs.*\)tls-sni-01\(.*\)/\1http-01\2/g' /etc/letsencrypt/renewal/*; rm -f /etc/letsencrypt/renewal/*.bak"
Posteriormente tenemos que detener el servidor web momentáneamente, en mi caso NGinx
sudo service nginx stop
y ejecutar el comando:
$ sudo certbot renew --dry-run
Y en mi caso, todo quedó solucionado.