GNU/Linux >> Tutoriales Linux >  >> Linux

Let's Encrypt:obtenga un certificado SSL gratuito con Certbot

Tutorial paso a paso sobre cómo usar el certbot de Let's Encrypt para obtener un certificado SSL gratuito y cómo renovarlo automáticamente.

Sobre todo, Let's Encrypt es de código abierto y es completamente gratuito. Permite que cualquier persona instale un certificado SSL de confianza en su sitio web y se beneficie de la seguridad mejorada que proporciona una conexión cifrada. A diferencia de un certificado SSL autofirmado, un certificado de Let's Encrypt se reconoce como totalmente verificado y muestra el icono de un candado en la barra de direcciones de los navegadores web modernos.

Cómo funciona Let's Encrypt

Antes de emitir un certificado, Let's Encrypt valida la propiedad de su dominio. El cliente de Let's Encrypt, que se ejecuta en su host, crea un archivo temporal (un token) con la información necesaria. Luego, el servidor de validación realiza una solicitud HTTP para recuperar el archivo y valida el token, lo que verifica que el registro DNS de su dominio se resuelva en el servidor que ejecuta el cliente Let's Encrypt. Por lo tanto, los comandos que se muestran a continuación deben ejecutarse en el servidor que servirá a su dominio para el que está emitiendo el certificado.

1. Instalando cerbot

Let's Encrypt tiene un instalador automatizado llamado certbot . El primer paso para usar Let's Encrypt para obtener un certificado SSL es instalarlo en su servidor.

Ubuntu:

sudo apt install certbot python3-certbot-nginx

Debian:

sudo apt install certbot

CentOS:

sudo yum install epel-release
sudo yum install certbot-nginx

2. Obtención de certificados Let's Encrypt

¡Importante! Antes de emitir un certificado SSL gratuito de Let's Encrypt, debe detener el servicio de su servidor web. De lo contrario, obtendrá el siguiente error:

Problem binding to port 80: Could not bind to IPv4 or IPv6

Si usa Nginx, ejecute:

sudo systemctl stop nginx

Ahora podemos pasar a la generación del certificado SSL gratuito de Let’s Encrypt:

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com

La opción -d toma un nombre de dominio. Puede usar múltiples -d opciones en el comando único. Por ejemplo:

sudo certbot certonly --standalone --preferred-challenges http -d my-domain.com -d www.my-domain.com 

Si es la primera vez que ejecuta certbot , se le pedirá que ingrese una dirección de correo electrónico y acepte los términos del servicio. Después de hacerlo, certbot se comunicará con el servidor de Let's Encrypt, luego ejecutará un desafío para verificar que usted controla el dominio para el que está solicitando un certificado.

Si tiene éxito, certbot terminará con un mensaje que le indicará que el proceso fue exitoso y dónde están almacenados sus certificados.

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/my-domain.com/fullchain.pem. Your cert will
   expire on 2022-08-08. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again with the
   "certonly" option. To non-interactively renew all of your
   certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le 

3. Verificar certificados

Enumere sus certificados guardados en /etc/letsencrypt/live/my-domain.com directorio.

ls -l /etc/letsencrypt/live/my-domain.com/
total 4
-rw-r--r-- 1 root root 692 Mar  10 08:24 README
lrwxrwxrwx 1 root root  37 Mar  10 08:24 cert.pem -> ../../archive/my-domain.com/cert1.pem
lrwxrwxrwx 1 root root  38 Mar  10 08:24 chain.pem -> ../../archive/my-domain.com/chain1.pem
lrwxrwxrwx 1 root root  42 Mar  10 08:24 fullchain.pem -> ../../archive/my-domain.com/fullchain1.pem
lrwxrwxrwx 1 root root  40 Mar  10 08:24 privkey.pem -> ../../archive/my-domain.com/privkey1.pem

4. Modificar la configuración del servidor web

Para que su servidor web utilice el certificado SSL gratuito de Let's Encrypt, debe especificarlo en su configuración. Por ejemplo, si usa Nginx, debe agregar el siguiente bloque al archivo de configuración de su dominio /etc/nginx/sites-enabled/my-domain.conf

server {
    listen 443;
    server_name my-domain.com;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/my-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/my-domain.com/privkey.pem;
}

Eso es todo. Todas las cosas están listas y hechas. Ahora solo necesita iniciar su servidor web:

sudo systemctl start nginx

Finalmente, puede verificar que su sitio web ahora está protegido por SSL. Simplemente abra el sitio web en el navegador y compruebe si el icono del candado está disponible.

5. Renovar automáticamente los certificados de Let's Encrypt

Los certificados tienen una validez de 90 días. Se pueden renovar 30 días antes de su vencimiento. Aquí agregamos un trabajo cron que los renovará automáticamente.

Así que primero abra el archivo crontab :

sudo crontab -e

después de eso, agregue el certbot comando para ejecutar semanalmente:

@weekly certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" --renew-hook "systemctl reload nginx" --quiet 

Conclusión

En este tutorial, vimos cómo instalar un certificado SSL gratuito de Let's Encrypt para proteger un sitio web. Además, puede consultar el sitio web oficial de Let's Encrypt para obtener más información y detalles.


Linux
  1. SSL gratis para Nginx en Centos por Let's encrypt

  2. Cómo administrar los certificados Lets Encrypt SSL/TLS con certbot

  3. Protección de ISPConfig 3.1 con un certificado SSL gratuito de Lets Encrypt

  4. Los 7 mejores servicios de certificados SSL gratuitos

  5. Instale Let's Encrypt SSL en HAProxy

Cómo renovar automáticamente los certificados Let's Encrypt SSL

Cómo instalar Let's Encrypt SSL con Apache en CentOS 7

Cómo instalar Let's Encrypt SSL usando DirectAdmin

Cómo usar Let's Encrypt con Cloudflare

Cómo proteger Apache con el certificado Let's Encrypt SSL en CentOS 8

¿Cómo habilito Let's encrypt Free SSL Certificate para mi dominio en Plesk?