Configuración de HTTPS con Let’s Encrypt SSL Certificate para Nginx en RHEL/CentOS 7/6

Configuración de HTTPS con Let’s Encrypt SSL Certificate para Nginx en RHEL/CentOS 7/6

Siguiendo la serie Let’s Encrypt anterior sobre el servidor web Apache. o Nginx. con módulo SSL/TLS, este artículo le guiaremos sobre cómo generar e instalar un SSL/Certificado TLS obtenido de forma gratuita de Let’s Encrypt Certificate Authority. que usaremos para asegurar las transacciones HTTP del servidor web Nginx en CentOS/RHEL 7/6. y Fedora. distribución.

Si está buscando instalar Let’s Encrypt. para Apache en RHEL/CentOS 7/6. y Fedora. distribuciones, siga esta guía a continuación:

Configure Let’s Encrypt para Secure Apache en RHEL, CentOS y Fedora

Requisitos

  1. Un nombre de dominio registrado con registros de DNS A. válidos para apuntar a la dirección IP pública del servidor.
  2. Servidor web Nginx instalado con SSL habilitado y Virtual Hosts habilitados (solo para alojamiento de varios dominios o subdominios).

Configuración de nuestro entorno de prueba Configure HTTPS con Lets Encrypt para asegurar Nginx en CentOS  Configurar HTTPS con Lets Encrypt para asegurar Nginx en CentOS Configure HTTPS con Lets Encrypt para asegurar Nginx en CentOS

Paso 1: Instale el servidor web Nginx

1.. En el primer paso, en caso de que no tenga el demonio Nginx. ya instalado, emita los siguientes comandos con privilegios de root para instalar el servidor web Nginx desde los repositorios de Epel:

# yum instalar epel-rele ase # yum install nginx

Paso 2: Descarga o clona el certificado SSL Let’s Encrypt gratis

2.. El método más rápido para instalar el cliente Let’s Encrypt. en sistemas Linux clonando los paquetes de los repositorios github.

Primero, instale el cliente git. en el sistema con el siguiente comando:

# yum install git freestar.config.enabled_slots.push

3.. Una vez que se haya instalado el cliente git, cambie el directorio a/opt path y extraiga el software Let’s Encrypt ejecutando los siguientes comandos:

# cd/opt # git clone https://github.com/letsencrypt/letsencrypt

Paso 3: Genere un certificado SSL Let’s Encrypt gratuito para Nginx

4.. El proceso de obtención de un Certificado SSL/TLS. gratuito para Nginx. se realizará manualmente utilizando Complemento Let’s Encrypt Standalone.

T Este método requiere que el puerto 80. esté libre durante el tiempo que el cliente Let’s Encrypt. valida la identidad del servidor y genera certificados.

Entonces, si Nginx ya está ejecutándose, detenga el demonio con el siguiente comando y ejecute la utilidad ss para confirmar que el puerto 80 ya no está en uso en la pila de red.

# service nginx stop # systemctl stop nginx # ss-tln  Comprobar puertos de red de escucha-  Comprobar puertos de red de escucha- Comprobar puertos de red de escucha-

5.. Ahora es el momento de obtener un certificado SSL gratuito de Let’s Encrypt. Vaya al directorio de instalación de Let’s Encrypt. si aún no está allí, y ejecute el comando letsencrypt-auto con la opción certonly–standalone y la marca-d para cada dominio o subdominio que desee generar un certificado como se sugiere en el siguiente ejemplo.

# cd/opt # ./letsencrypt-auto certonly–standalone-d your_domain.tld-d www.yourdomain.tld  Obtenga gratis el certificado SSL de Lets Encrypt para el sitio web  Obtenga gratis el certificado SSL de Lets Encrypt para el sitio web Obtenga gratis el certificado SSL de Lets Encrypt para el sitio web

6.. Después de que se instalen una serie de paquetes y dependencias en su máquina, Let’s Encrypt le pedirá que ingrese su cuenta, que se utilizará para la recuperación de claves perdidas o notificaciones urgentes.

 Add-Email-Address-for-Lets-Encrypt  Anuncio d-Dirección de correo electrónico para Lets Encrypt Agregar dirección de correo electrónico para Lets Encrypt

7.. A continuación, debe aceptar los términos de la licencia presionando Ingrese la clave.

Estoy de acuerdo Permite cifrar la licencia  Acepto Permite cifrar la licencia Acepto Permite cifrar la licencia

8 .. Finalmente, si todo salió como debería, se mostrará un mensaje de información de felicitación en su terminal bash. El mensaje también se mostrará cuando el certificado caduque.

Acabados de instalación de Letsencrypt  Letsencrypt Installation Finishes Letsencrypt Installation Finishes

Paso 4: Instale Let’s Encrypt SSL Certificado en Nginx

9.. Ahora que posee un Certificado SSL/TLS. gratuito, es hora de instalarlo en el servidor web Nginx para su dominio para usarlo.

Todos los certificados SSL nuevos se colocan en/etc/letsencrypt/live/bajo un directorio con el nombre de su nombre de dominio. Utilice el comando ls para enumerar los archivos de certificado emitidos para su dominio e identificarlos.

# sudo ls/etc/letsencrypt/live/# sudo ls-al/etc/letsencrypt/live/your_domain.tld  Certificados SSL Letsencrypt  Certificados SSL Letsencrypt Certificados SSL Letsencrypt

10.. Para instalar los archivos del certificado en Nginx y habilitar SSL, abra/etc/nginx/nginx.conf para editar y agregar las siguientes declaraciones después de la última línea de escucha del bloque del servidor. Utilice la siguiente ilustración como guía.

# vi/etc/nginx/nginx.conf

Extracto del bloque SSL de Nginx:

# Configuración SSL listen 443 ssl default_server; ssl_certificate/etc/letsencrypt/live/your_domain.tld/fullchain.pem; ssl_certificate_key/etc/letsencrypt/live/your_domain.tld/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers ‘EECDH + AESGCM: EDH + AESGCM: AES256 + EECDH: AES256 + EDH’;  Habilitar HTTPS en la configuración de Nginx Habilitar HTTPS en la configuración de Nginx Habilitar HTTPS en la configuración de Nginx

Reemplace la cadena nombre de dominio. para que los certificados SSL coincidan con su propio dominio.

11 .. Por último, reinicie el servicio Nginx. y visite su dominio a través del protocolo HTTPS en https://tudominio. La página debería cargarse sin problemas, sin ningún error de certificado.

# systemctl restart nginx # service nginx restart

12.. Para verificar el SSL/TLS. certificado y su rectitud visite el siguiente enlace:

https://www.ssllabs.com/ssltest/analyze.html Verificar permite cifrar el certificado en el dominio  Verify Lets-Encrypt Certificate on Domain Verificar permite cifrar Certificado de dominio  Verificar HTTPS SSL Certificado de dominio  Verificar el certificado SSL HTTPS en el dominio Verificar el certificado SSL HTTPS en el dominio

13.. En caso de que reciba una notificación de que su servidor admite un intercambio de claves DH. débil y una calificación general de B. genere un nuevo Diffie-Hellman. cifre en el directorio /etc/nginx/ssl/ para proteger su servidor contra el ataque Atasco. ejecutando los siguientes comandos.

# mkdir/etc/nginx/ssl # cd/etc/nginx/ssl # openssl dhparam-out dhparams.pem 4096

En este ejemplo, usamos una clave de 4096. bits, que en realidad lleva mucho tiempo generar y coloca una sobrecarga adicional en su servidor y en el protocolo de enlace SSL.

En caso de que no haya una necesidad explícita de usar una clave de este tiempo y no deba pa ranoid, debería estar seguro con una clave de 2048. bits.

14.. Después de que se haya generado la clave DH. abra Archivo de configuración Nginx y agregue las siguientes declaraciones después de la línea ssl_ciphers para agregar la clave DH y elevar el nivel de seguridad de su dominio a una calificación A +.

# vi/etc/nginx/nginx.conf

Agregue lo siguiente extracto de bloque en Nginx.conf.

ssl_dhparam/etc/nginx/ssl/dhparams.pem; ssl_session_timeout 30m; ssl_session_cache compartido: SSL: 10 m; ssl_buffer_size 8k; add_header Strict-Transport-Security max-age = 31536000;  Agregar Diffie-Hellman Cifrados a nginx Configuración  Agregar cifrados Diffie-Hellman a la configuración nginx Agregar Diffie-Hellman Cifras en la configuración de nginx

15.. Reinicia el servicio Nginx. para aplicar los cambios y volver a probar tu certificado SSL borrando la caché de resultados anterior del enlace mencionado anteriormente.

# systemctl restart nginx # service nginx restart  Verificar Letsencrypt Certificado SSL en el sitio web Verificar el certificado SSL de Letsencrypt en el sitio web Verificar el certificado SSL de Letsencrypt en el sitio web

Paso 5: Renovación automática de Nginx gratis Permite cifrar certificados SSL

16.. Versiones de Let’s Encrypt CA. Certificados SSL/TLS. gratuitos válidos durante 90. días. Los certificados se pueden renovar y aplicar manualmente antes de su vencimiento utilizando el complemento webroot, sin detener su servidor web, emitiendo los siguientes comandos:

# ./letsencrypt-auto certonly-a webroot–agree-tos–renew-by-default–webroot-path =/usr/share/nginx/html/-d yourdomain.tld-d www.yourdomain.tld # systemctl reload nginx  Renovar Permite cifrar el certificado SSL en Nginx  Renovar Permite cifrar el certificado SSL en Nginx Renovar Permite cifrar SSL Certificado en Nginx

Cuando ejecute el comando anterior, asegúrese de reemplazar la ruta webroot para que coincida con la raíz del documento del servidor web, especificada por la declaración raíz de Nginx.

17.. En Para renovar automáticamente el certificado antes de que expire, cree este script bash desde github erikaheidi en el directorio /usr/local/bin/ y agregue el contenido a continuación (el script está ligeramente modificado para reflejar la configuración de Nginx).

# vi/usr/local/bin/cert-renew

Agregue las siguientes líneas al archivo cert-renew.