Cuando compara SSL/TLS, SSL significa Secure Socket Layer mientras que TLS significa Transfer Layer Security. SSL/TLS es un protocolo criptográfico popular que establece una conexión segura entre servidores y dispositivos mediante el cifrado de datos a través del protocolo HTTPS.
Es un protocolo de autenticación ampliamente implementado en servidores web y navegadores que crea una capa segura sobre HTTP inseguro para el intercambio seguro de datos entre ellos. Para SSL/TLS, necesitamos una Autoridad de certificación (CA) válida y, en este artículo, usaremos Let's Encrypt CA, que es gratuita.
Certbot es una herramienta de software de código abierto para integrar y administrar certificados Let's Encrypt en la web para habilitar el protocolo HTTPS seguro. Administrará automáticamente el certificado de Let's Encrypt por usted. Para esto, necesitará un dominio válido con la dirección IP de su servidor y Nginx con un bloque de servidor preconfigurado.
Aquí en LinuxAPT, como parte de nuestros Servicios de Administración de Servidores, ayudamos regularmente a nuestros Clientes a realizar consultas relacionadas con el Certificado de Let's Encrypt.
En este contexto, veremos cómo instalar certificados de cifrado en Ubuntu 20.04 usando Certbot.
¿Cómo instalar Certbot en Ubuntu?
Antes de continuar con este procedimiento de instalación, asegúrese de que se cumplan los siguientes requisitos:
- Su nombre de dominio debe estar asignado a una IP pública.
- Servidor web (nginx, apache o cualquier otro) para terminación ssl.
- El puerto 80 debe permitirse al público.
Para instalar el complemento Certbot y Nginx, ejecute el siguiente comando. Antes de instalar Certbot, asegúrese de actualizar la información del paquete:
$ sudo apt update
$ sudo apt install certbot python3-certbot-nginx
Asegúrese de que su configuración de Nginx funcione correctamente y que el nombre de dominio esté incluido en la configuración.
¿Cómo obtener el certificado Let's Encrypt usando Certbot?
Podemos obtener un Certificado SSL de diferentes maneras utilizando un complemento diferente proporcionado por Certbot. Para obtener el certificado, usaremos el comando certbot junto con el complemento Nginx que instalamos anteriormente.
i. El complemento de Nginx administrará la configuración automática y recargará la configuración de Nginx cuando sea necesario.
Para ello, debe ejecutar el siguiente comando:
$ sudo certbot --nginx
Después de ejecutar el comando anterior, Certbot brindará la opción de elegir el dominio para el cual solicitará el certificado para el dominio elegido. Aquí, el subdominio donde solicitaremos el certificado es la opción 2.
ii. Ahora, Certbot realizará algunas tareas y nuevamente le preguntará si desea redirigir el tráfico HTTP a HTTPS.
Elija el número de opciones que prefiera y presione enter.
Después de configurar la redirección, Certbot comenzará la configuración final y generará las siguientes notas importantes y un mensaje de éxito.
iii. Ahora, si presiona la URL, obtendrá el ícono de candado antes de su URL; si hace clic en él, mostrará 'La conexión es segura'.
Si desea obtener más información sobre el certificado, haga clic en el certificado y obtendrá el siguiente resultado que muestra los detalles de la CA, como emitido por, fecha de emisión, fecha de vencimiento, etc.
¿Cómo renovar el certificado SSL?
El período de tiempo real del certificado es de tres meses, por lo que debe renovar su certificado después de que finalice su período de validez. El comando Certbot le proporciona un método sencillo de renovación de certificados.
Primero puede verificar la renovación ejecutando el siguiente comando:
$ sudo certbot renew --dry-run
Si no hay ningún error, está listo para continuar con su renovación real.
Solo necesita ejecutar el siguiente comando y el Certbot lo renovará:
$ sudo certbot renew