Introducción
Let's Encrypt es una autoridad de certificación abierta, automatizada y gratuita: le permite crear e instalar certificados TLS gratuitos en su servidor web con unos pocos argumentos de línea de comandos. Con Let's Encrypt, puede proporcionar HTTPS en su sitio web para cada usuario sin gastar dinero ni preocuparse por las fechas de renovación.
El Certbot proporciona una manera fácil de generar certificados gratuitos de Let's Encrypt para todos los sitios web que admiten HTTP y sirven su contenido a través de HTTPS. En este artículo veremos cómo utilizar Certbot para automatizar el proceso de generación de certificados de Let's Encrypt.
Instalar Certbot
La mayoría de los sistemas Linux tienen el paquete certbot en los repositorios de paquetes predeterminados. Certbot es una herramienta para obtener certificados de Let's Encrypt y configurarlos en su servidor web. El paquete Snap es la forma más fácil de instalar certbot en el sistema Ubuntu.
Abra una terminal y ejecute el siguiente comando para instalar certbot:
sudo snap install --classic certbot
Una vez que esté disponible una nueva versión de certbot, Snap actualizará automáticamente el paquete.
Generar certificado SSL con Certbot
Ahora puede solicitar certificados SSL de Let's encrypt según el servidor web. Hemos discutido 4 métodos para obtener un nuevo certificado SSL, que dependen del servidor web que se ejecuta en su sistema. Podría ser que no haya ningún servidor web ejecutándose en el sistema.
A continuación, elija el método correcto según su entorno:
No hay servidor web en ejecución
En caso de que no tenga ningún servidor web ejecutándose en su sistema. Puede --standalone
elegir completar la validación del dominio apuntando a un servidor web falso. Este conmutador debe estar conectado al puerto 80
para realizar la validación del dominio.
sudo certbot certonly --standalone
Si está ejecutando el certbot por primera vez, se le pedirá que acepte los términos y proporcione una dirección de correo electrónico para enviar notificaciones.
También puede proporcionar las entradas desde la línea de comando, por ejemplo:
sudo certbot certonly --standalone -d example.com --staple-ocsp -m [email protected] --agree-tos
Certbot con Apache
Los sistemas que ejecutan el servidor web Apache ejecutan el siguiente comando. Esto mostrará una lista de todos los dominios/subdominios configurados en su servidor web. Seleccione los números apropiados para solicitar un certificado.
sudo certbot --apache
Esto leerá los archivos de configuración de Apache y enumerará todos los nombres de dominio configurados. Introduzca el número del dominio al que desea emitir un certificado. Puede ingresar varios números separados por comas.
Una vez que se haya verificado la propiedad del dominio, se emitirá el certificado y se creará el archivo de configuración de Apache con la configuración SSL.
Certbot con Nginx
Para sistemas que ejecutan el servidor web Nginx, use el siguiente comando para solicitar certificados SSL.
sudo certbot --nginx -d example.com -d www.example.com
Algunos otros servidores web en ejecución
Para sistemas con otro servidor web en ejecución excepto Apache o Nginx. Entonces puede simplemente obtener el certificado y configurarlos manualmente.
Este comando le pedirá el nombre de dominio y la raíz del documento para el dominio.
sudo certbot certonly --webroot
También puede pasar el nombre de dominio y/o la raíz del documento en la línea de comandos.
sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
Al usar los comandos anteriores, el dominio debe apuntar al servidor en DNS. Además, asegúrese de que el servidor web sirva /.well-known/acme-challenge
.
Ver archivos de certificados
Una vez que la autoridad de Lets Encrypt emite un certificado. Todos los archivos de certificado se crean en el directorio /etc/letsencrypt. Si su nombre de dominio es ejemplo.com, los archivos se crearán en la siguiente ubicación.
ls -l /etc/letsencrypt/live/example.com/
-rw-r--r-- 1 root root 692 Mar 9 06:59 README
lrwxrwxrwx 1 root root 37 Sep 6 09:56 cert.pem ->../../archive/example.com/cert1.pem
lrwxrwxrwx 1 root root 38 Sep 6 09:56 chain.pem ->../../archive/example.com/chain1.pem
lrwxrwxrwx 1 root root 42 Sep 6 09:56 fullchain.pem ->../../archive/example.com/fullchain1.pem
lrwxrwxrwx 1 root root 40 Sep 6 09:56 privkey.pem ->../../archive/example.com/privkey1.pem
Cambie example.com
a su nombre de dominio para obtener los archivos correctos.
Conclusión
Let's Encrypt es una autoridad de certificación que proporciona certificados SSL gratuitos para sitios web públicos. Podemos emitir certificados para cualquier número de dominios. Los certificados SSL solo se emiten por 3 meses, luego debe renovarlos. Certbot es una utilidad de línea de comandos que ayuda a administrar los certificados SSL de Let's Encrypt. Con la ayuda de certbot podemos emitir un nuevo certificado, renovarlo y eliminarlo.
Espero que este tutorial lo ayude a trabajar con Certbot para administrar el certificado SSL en su sistema.