Cómo asegurar Nginx con Let's Cifrypt en Ubuntu y Debian

Cómo asegurar Nginx con Let's Cifrypt en Ubuntu y Debian

Siguiendo el anterior Vamos a cifrar tutorial sobre Apache SSL, En este artículo discutiremos cómo generar e instalar un certificado SSL/TLS gratuito emitido por Vamos a cifrar CA para Nginx servidor web en Ubuntu o Debian.

Lea también
  1. Asegure Apache con Free Let's Ciftpt en Ubuntu y Debian
  2. Instale Vamos SSL para asegurar Apache en RHEL y CentOS
Prueba de entorno de muestra
Instalar Vamos en cifrado para asegurar Nginx en Ubuntu y Debian

Requisitos

  1. Un dominio registrado con DNS válido A registra para señalar a la dirección IP de su servidor.
  2. Un servidor web NGINX instalado con SSL y VHOST habilitado, en caso de que planee alojar múltiples dominios o subdominios.

Paso 1: Instalación del servidor web NGINX

1. En el primer paso, instale el servidor web Nginx, si no está instalado, emitiendo el siguiente comando:

$ sudo apt-get install nginx 
Instale el servidor web Nginx en Ubuntu 14.04 y Debian 8

Paso 2: Generar un certificado SSL en cifrado para Nginx

2. Antes de generar un certificado SSL/TLS gratuito, instale Vamos a cifrar software /usr/local/ Jerarquía del sistema de archivos con la ayuda de git Cliente emitiendo los siguientes comandos:

$ sudo apt -get -y install git $ cd/usr/local/$ sudo git clone https: // github.com/Letsencrypt/Letsencrypt 

3. Aunque el procedimiento de obtener un certificado para Nginx está automatizado, aún puede crear e instalar manualmente un certificado SSL gratuito para NGINX usando Let's Cifrypt Standalone Plugin.

Este método requiere ese puerto 80 No debe estar en uso en su sistema durante un corto período de tiempo, mientras que Cincrypt Client valida la identidad del servidor antes de generar el certificado.

En caso de que ya esté ejecutando NGINX, detenga el servicio emitiendo el siguiente comando.

$ sudo servicio nginx stop o $ sudo systemctl stop nginx 

En caso de que esté ejecutando otro servicio que se une al puerto 80 Detén ese servicio también.

4. Confirmar que el puerto 80 es gratuito ejecutando el comando netstat:

$ sudo netstat -tlpn | Grep 80 
Verifique los puertos de escucha actuales en Linux

5. Ahora es el momento de correr Letsencrypt Para obtener un certificado SSL. Ir a Vamos a cifrar directorio de instalación que se encuentra en /usr/local/letsencrypt ruta del sistema y ejecutar el Letsencrypt-Auto comandar proporcionando el certonamente --ser único opción y -d Indicador para cada dominio o subdominio que desea generar un certificado.

$ CD/USR/LOCAL/LETSECRYPT $ sudo ./Letsencrypt -Auto Certonly -Standalone -d Your_Domain.TLD 
Obtener Let's Encrypt SSL Certificado

6. Ingrese la dirección de correo electrónico que utilizará en Cifrar para la recuperación de clave perdida o avisos urgentes.

Introducir la dirección de correo electrónico

7. Acuerde con los términos de la licencia presionando la tecla ENTER.

Aceptar el acuerdo de Letsencrypt

8. Finalmente, si todo tuvo éxito, un mensaje similar a la captura de pantalla a continuación debería aparecer en su consola terminal.

Letsencrypt Finises de instalación

Paso 3: Instale el certificado SSL en Cifrar en Nginx

9. Ahora que se ha generado su certificado SSL es el momento de configurar Nginx Webserver para usarlo. Los recién certificados SSL se colocan en /etc/letsencrypt/live/ bajo un directorio que lleva el nombre de su nombre de dominio. Ejecute el comando LS para enumerar los archivos de certificado emitidos para su dominio.

$ sudo ls/etc/letsencrypt/live/$ sudo ls -al/etc/letsencrypt/live/Caeszar.TK 
Letsencrypt Certificados SSL

10. A continuación, abra /etc/nginx/sites disponible/predeterminado Archivo con un editor de texto y agregue el siguiente bloque después de la primera línea comentada que especifica el comienzo del bloque SSL. Use la siguiente captura de pantalla como guía.

$ sudo nano/etc/nginx/sites habilitado/predeterminado 

Extracto de bloque nginx:

# Configuración SSL # Escuchar 443 SSL Default_Server; ssl_certificate/etc/letsencrypt/live/cészar.tk/fullchain.pem; ssl_certificate_key/etc/letsencrypt/live/cészar.tk/privkey.pem; ssl_protocols tlsv1 tlsv1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; ssl_dhparam/etc/nginx/ssl/dhparams.pem; 
Configurar Nginx para usar Let's Cifrypt SSL

Reemplace los valores del nombre del dominio para los certificados SSL en consecuencia.

11. En el siguiente paso generar un fuerte Diffie-Hellman cifrar /etc/nginx/ssl/ directorio para proteger su servidor contra el Atolladero Ataque ejecutando los siguientes comandos.

$ sudo mkdir/etc/nginx/ssl $ cd/etc/nginx/ssl $ sudo openssl dhparam -out dhparams.PEM 2048 
Genere Diffie Hellman Cipher para Nginx

12. Finalmente, reinicie el demonio nginx para reflejar los cambios.

$ sudo systemctl reiniciar nginx 

y pruebe su certificado SSL visitando la siguiente URL.

https: // www.ssllabs.com/ssltest/analizar.html 
Verifique NGINX Lets en cifrar el certificado SSL

Paso 4: Auto Renew Cifrar certificados Nginx

13. Certificados emitidos por Vamos a cifrar CA son válidos por 90 días. Para renovar automáticamente los archivos antes de la fecha de vencimiento, cree ssl-reno.mierda Script de Bash en /usr/local/bin/ directorio con el siguiente contenido.

$ sudo nano/usr/local/bin/ssl-renow.mierda 

Agregue el siguiente contenido a ssl-reno.mierda archivo.

#!/bin/bash cd/usr/local/letsencrypt sudo ./Letsencrypt-Auto certonly -A Webroot --agree-tos-renew-by-default--webroot-path =/var/www/html/-d your_domain.TLD SUDO SYSTEMCTL RELOAD NGINX EXIT 0 
Auto Renew Nginx Let’s Cifrypt SSL Certificado

Reemplace la --patillo web variable para que coincida con la raíz de su documento Nginx. Asegúrese de que el script sea ejecutable emitiendo el siguiente comando.

$ sudo chmod +x/usr/local/bin/ssl-renow.mierda 

14. Finalmente, agregue un trabajo cron para ejecutar el script cada dos meses a la medianoche para asegurar que su certificado se actualizará en aproximadamente 30 días antes de que expire.

$ sudo crontab -e 

Agregue la siguiente línea en la parte inferior del archivo.

0 1 1 */2 */usr/local/bin/ssl-renow.sh >>/var/log/your_domain.tld-reno.log 2> y 1 
Actualizar los certificados SSL en cifrado

Eso es todo! Su servidor NGINX ahora sirve contenido SSL utilizando un Cifbamos SSL certificado.