En SSL/TLS, SSL significa Secure Socket Layer, donde 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.
En este artículo, le mostraré cómo instalar certificados de cifrado en Ubuntu 20.04 usando Certbot. Para fines de demostración, usaré el servidor web Nginx.
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.
Instalación de Certbot
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.
Obtención del 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. 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. En este escenario, el subdominio donde solicitaremos el certificado es la opción 2.
Salida después de la ejecución del comando Certbot.
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.
Administrar la configuración de redirección.
Después de configurar la configuración de redirección, Certbot comenzará la configuración final y generará las siguientes notas importantes y un mensaje de éxito.
Salida después de obtener un certificado SSL.
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", tal como se muestra a continuación.
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.
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
Conclusión
En este artículo, aprendemos cómo instalar Certbot, para obtener certificados de cifrado. Espero que este artículo te ayude a obtener un certificado SSL gratuito.