GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo proteger su sitio web con Let's Encrypt en Ubuntu 20.04

Vamos a cifrar es una autoridad de certificación (CA) sin fines de lucro que proporciona un certificado SSL/TLS gratuito. Let's Encrypt le permite instalar o solicitar un certificado SSL de forma gratuita. El certificado SSL/TLS de Let's Encrypt tiene una validez de 90 días y puede renovarlo en cualquier momento también de forma gratuita.

En este tutorial usaremos Certbot para solicitar u obtener un certificado SSL gratuito de Let's Encrypt.

Certbot es un cliente de Let's Encrypt que gestiona los certificados SSL de Let's Encrypt. Un cliente Let's Encrypt con todas las funciones que puede automatizar tareas, obtener y renovar certificados SSL.

Procedamos con los pasos sobre cómo proteger nuestro sitio web con Let's Encrypt.

1 Requisitos previos

El certificado Let's Encrypt SSL/TLS solo se puede instalar en un servidor con un nombre de dominio registrado. Debe asegurarse de que su registro de Dominio A apunte a su servidor porque Let's Encrypt necesita validar el dominio si apunta correctamente al servidor donde solicita obtener el certificado SSL.

2 Instalación de Certbot

En esta sección, lo guiaremos sobre cómo instalar Certbot con Apache y Nginx Webserver.

Para el servidor web Apache.

sudo apt install certbot python3-certbot-apache

Para el servidor web Nginx.

sudo apt install certbot python3-certbot-nginx

3 Generación del certificado SSL

Para el servidor web Apache.

 sudo certbot --apache

Después de iniciar el comando, siga las instrucciones a continuación.

Output:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2

Seleccionamos 1 y 2 para que el subdominio www se incluya en los certificados SSL.

Nota :puede optar si no desea incluir el subdominio www, simplemente seleccione 1 y presiona enter.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):2
Redirecting vhost in /etc/apache2/sites-enabled/domain.com.conf to ssl vhost in /etc/apache2/sites-available/domain.com-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://domain.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/domain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/domain.com/privkey.pem
   Your cert will expire on 2022-03-05. 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

Para el servidor web Nginx.

sudo  certbot --nginx
OUTPUT:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2
Requesting a certificate for domain.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/domain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/domain.com/privkey.pem
This certificate expires on 2022-07-28.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for domain.com to /etc/nginx/sites-enabled/domain.com.conf
Congratulations! You have successfully enabled HTTPS on https://domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

¡Eso es todo, felicidades!

4 Probar el certificado SSL

Después de la instalación, puede verificar si el certificado SSL está instalado en su sitio web simplemente accediendo con https://domain.com. También puede verificarlo utilizando un sitio web SSL Checker como https://www.sslshopper.com/ssl-checker.html.

5 Renovación del certificado SSL

Cuando instala Certbot configurará automáticamente un script de renovación automática ya que Let's Encrypt solo es válido dentro de los 90 días o 3 meses. Para verificar si el script de renovación automática se está ejecutando, ejecute este comando.

systemctl status certbot.timer
● certbot.timer - Run certbot twice daily
     Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
     Active: active (waiting) since Sun 2021-12-05 13:33:10 EST; 45min ago
    Trigger: Mon 2021-12-06 00:10:45 EST; 9h left
   Triggers: ● certbot.service

Dec 05 13:33:10 domain.com systemd[1]: Started Run certbot twice daily.

El Certbot el temporizador se ejecutará dos veces al día para verificar si hay dominios que estén listos para la renovación.

Hay casos en los que el temporizador de Certbot no puede renovar los dominios a tiempo, lo que hace que caduquen los certificados. En este caso, puede renovar manualmente los dominios ejecutando este comando.

sudo certbot renew

También puede hacer una prueba de renovación para probar si la renovación de SSL funciona como se esperaba. Para hacerlo, ejecute este comando.

sudo certbot renew --dry-run

6 Conclusión

Hemos demostrado cómo asegurar nuestros sitios usando el certificado SSL de Let's Encrypt. En este tutorial, también podrá aprender a usar Certbot para renovar y obtener un certificado Let's Encrypt SSL gratuito.

Si desea obtener más información sobre cómo proteger su servidor, puede consultar el tutorial de fail2ban.


Ubuntu
  1. Cifre sus datos con EncFS en Ubuntu 15.10

  2. Asegure Nginx con Let's Encrypt en Ubuntu 18.04 - ¿Cómo hacerlo?

  3. Cómo proteger Nginx con Letsencrypt en Ubuntu 20.04

  4. Cómo instalar Let's Encrypt en Ubuntu 20.04 con Apache

  5. Cómo proteger Nginx con Let's Encrypt en Ubuntu 20.04

Cómo instalar Nginx con Let's Encrypt TLS/SSL en Ubuntu 20.04

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

Cómo instalar Nginx con Let's Encrypt SSL en Ubuntu 20.04 LTS

Cómo instalar Apache con Let's Encrypt SSL en Ubuntu 20.04 LTS

Cómo proteger Nginx con Let's Encrypt en Ubuntu 20.04

Cómo proteger Apache con Let's Encrypt en Ubuntu 20.04