GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

Let's Encrypt es una Autoridad de Certificación (CA) gratuita y abierta. Proporciona una forma sencilla de obtener, instalar y renovar certificados TLS/SSL gratuitos.

Aquí en LinuxAPT, como parte de nuestros Servicios de Administración de Servidores, ayudamos regularmente a nuestros Clientes a realizar consultas relacionadas con Nginx.

En este contexto, veremos cómo obtener e instalar el certificado Let's Encrypt SSL gratuito y Secure Nginx en el servidor Ubuntu 18.04.


¿Cómo instalar Let's Encrypt en Ubuntu?

Antes de realizar este Procedimiento de instalación, asegúrese de que se cumplan los siguientes requisitos:

  • Servidor Ubuntu con un usuario no root con privilegios sudo.
  • Nginx debe estar instalado y configurado, como se muestra en esta guía.
  • Tenga un bloque de servidor Nginx para su dominio, como se muestra en esta guía.
  • Su nombre de dominio debe apuntar a la dirección IP de su servidor.


Ahora, siga los pasos para usar la herramienta Certbot para obtener un certificado SSL gratuito para Nginx en el servidor Ubuntu 18.04.


1. Instalar el cliente de Certbot

Puede obtener, instalar y renovar fácilmente los certificados SSL de Let's Encrypt, utilizando el paquete de cliente Certbot. Es útil configurar servidores web para usar los certificados SSL. El paquete certbot está incluido en los repositorios predeterminados de Ubuntu.

En primer lugar, actualizaremos el índice de la lista de paquetes escribiendo:

$ sudo apt update

Ahora instale el cliente Certbot ejecutando el siguiente comando:

$ sudo apt install python-certbot-nginx

Además, puede verificar si certbot se instaló correctamente o no escribiendo:

$ certbot --version


2. Configurar cortafuegos

Si su servidor está protegido por un firewall UFW, debe ajustar el firewall para permitir el tráfico HHTPS.

Para ver la configuración actual por tipo:

$ sudo ufw status
Output
Status: active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Para obtener tráfico HTTPS, debe permitir el perfil completo de Nginx y eliminar la asignación de perfil HTTP de Nginx redundante:

$ sudo ufw allow 'Nginx Full'
$ sudo ufw delete allow 'Nginx HTTP'

Ahora el estado se verá como a continuación:

Output
Status: active
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx Full                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx Full (v6)            ALLOW       Anywhere (v6)


3. Obtenga el certificado SSL Let's Encrypt en Nginx

Puede obtener certificados SSL de varias formas.

i. Aquí, usaremos el cliente certbot para obtener un certificado SSL:

$ sudo certbot --nginx -d example.com -d www.example.com

Aquí, solicitamos los dominios example.com y www.example.com. Si es la primera vez que instala, le pedirá que ingrese la dirección de correo electrónico y acepte los términos y condiciones. La dirección de correo electrónico ingresada se utilizará para enviar alertas por correo electrónico relacionadas con la renovación y el vencimiento de SSL.

A continuación, si la validación tuvo éxito, le pedirá que configure los ajustes de HTTPS:

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

ii. Seleccione la opción 1 o 2 según su elección y presione Entrar para continuar. Nginx Server Blocks se actualizará en función de la opción seleccionada y volverá a cargar Nginx para aplicar la nueva configuración.

Finalmente, su dominio está protegido con el certificado Let's Encrypt SSL. Puede verificar visitando su sitio con el protocolo HTTPS.


¿Cómo configurar la renovación automática para el certificado Let's Encrypt SSL?

Los certificados Let's Encrypt SSL tienen un período de vida breve de 90 días, por lo que debe renovarlos antes de que caduquen.

i. Puede renovar el certificado SSL antes de que caduque escribiendo:

$ sudo certbot renew

ii. Además, puede configurar el proceso de renovación automática para los certificados Let's Encrypt SSL agregando un cronjob. Ejecute el siguiente comando para abrir crontab:

$ sudo crontab -e

iii. A continuación, agregue la siguiente línea al final del archivo. Ejecutará el comando dos veces al día y se renovará si el certificado está a punto de caducar:

0 */12 * * * root test -x /usr/bin/certbot -a ! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew

IV. Guarde y cierre el archivo.

v. También puede verificar el proceso de renovación automática de certbot escribiendo:

$ sudo certbot renew --dry-run



Ubuntu
  1. Cómo proteger Nginx con Lets Encrypt en Ubuntu 20.04/18.04

  2. Asegure Nginx con Lets Encrypt en Ubuntu 18.04

  3. Asegure Nginx con Lets Encrypt en Ubuntu 16.04

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

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

Cómo proteger Nginx con el certificado SSL de Let's Encrypt

Cómo proteger el servidor LEMP con Let's Encrypt Free SSL en Ubuntu 18.04 VPS

Cómo proteger Nginx con Let's Encrypt en CentOS 8

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

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

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