Introducción
Let's Encrypt es una autoridad de certificación (CA) que automatiza la creación, validación, emisión y renovación de certificados X.509 para el protocolo TLS /SSL de forma gratuita, permitiendo HTTPS cifrado en servidores web.
En este tutorial, usaremos Certbot para obtener un certificado SSL gratuito para Nginx en Fedora 30 y para configurar el certificado para la renovación automática.
Certbot es un cliente automatizado fácil de usar que recupera y distribuye certificados SSL /TLS para el servidor web.
Si su intención es instalar Certbot en un servidor Fedora de forma remota, siga leyendo, de lo contrario, si desea instalar Certbot en su computadora local, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instalar Certbot
Certbot está presente en los repositorios oficiales de Fedora, por lo que puede instalarlo con el siguiente comando de terminal:
sudo dnf install certbot-nginx
Los complementos DNS de Certbot también se pueden usar para automatizar la obtención de un certificado Wildcard del servidor ACMEv2 de Let's Encrypt para Fedora 30. Para usar estos complementos, debe configurar el DNS del dominio para el cual desea obtener certificados. Para más información lea la documentación oficial.
Obtenga un certificado SSL
El primer paso para utilizar Let's Encrypt para obtener un certificado SSL es instalar el software Certbot en su servidor.
sudo certbot --nginx
De lo contrario, podría obtener el certificado y luego configurar manualmente Nginx con el siguiente comando:
sudo certbot --nginx certonly
Certbot ya está listo para usarse.
Si desea obtener un certificado Wildcard con Let's Encrypt, deberá usar uno de los complementos DNS de Certbot. Para hacer esto, asegúrese de que el complemento de su proveedor de DNS esté instalado siguiendo las instrucciones anteriores y ejecute el siguiente comando con su nombre de dominio:
sudo certbot -a dns-plugin -i nginx -d "*.esempio.it" -d esempio.it --server https://acme-v02.api.letsencrypt.org/directory
Para obtener más información sobre cómo utilizar Certbot, lea la documentación oficial de Certbot.
Renovación Automática
Los paquetes de Certbot vienen con un trabajo cron que renovará automáticamente sus certificados antes de que caduquen. Como los certificados Let's Encrypt duran 90 días, se recomienda encarecidamente aprovechar esta función. Puede verificar la renovación automática de certificados ejecutando este comando:
sudo certbot renew --dry-run
Si funciona bien, puede configurar la renovación automática agregando un trabajo cron o un temporizador systemd que ejecute este comando:
certbot renew
La instalación de Let's Encrypt for Nginx en Fedora 30 usando Certbot ha finalizado.