Cómo instalar Cifrar el certificado SSL para asegurar NGINX en RHEL 9/8

Cómo instalar Cifrar el certificado SSL para asegurar NGINX en RHEL 9/8

En este artículo, lo guiaremos sobre cómo generar e instalar un certificado SSL/TLS obtenido de forma gratuita de Vamos a cifrar la autoridad de certificado que usaremos para asegurar las transacciones HTTP de servidor web NGINX en distribuciones basadas en RHEL y RHEL como Fedora, Rocky Linux y Almalinux.

Si estás buscando instalar Vamos a cifrar Para Apache en las distribuciones basadas en RHEL y RHEL, siga esta guía a continuación:

[También le puede gustar: Cómo instalar el certificado SSL en cifrado para asegurar Apache en los sistemas RHEL]

Requisitos

  • Un nombre de dominio registrado con válido A Los registros de DNS para señalar a la dirección IP pública del servidor.
  • Nginx Web Server instalado con SSL habilitado y hosts virtuales habilitados (solo para múltiples dominios o alojamiento de subdominios).

Nuestra configuración del entorno de prueba

Configurar https con Lets en cifrado para asegurar nginx en rhel

Paso 1: Instale el servidor web Nginx en los sistemas RHEL

1. En el primer paso, en caso de que no tengas Nginx Daemon ya instalado, emita los comandos a continuación con privilegios raíz para instalar Nginx WebServer desde los repositorios EPEL.

------------- En Rhel, Rocky y Almalinux 9 ------------- # DNF Instalar https: // dl.federaproject.org/pub/epel/epel-liber-latest-9.noarch.rpm ------------- En Rhel, Rocky y Almalinux 8 ------------- # DNF Instalar https: // dl.federaproject.org/pub/epel/epel-liber-latest-8.noarch.rpm ------------- Instale el servidor web Nginx ------------- # yum install nginx 

Nota: Los usuarios de Fedora no necesitan instalar el repositorio EPEL.

Paso 2: Instale Let's Cifrypt (CertBot) en RHEL Systems

2. El método más rápido para instalar el cliente Let's Cifrypt en los sistemas Linux es instalar certbot y python3-certbot-nginx Paquetes del repositorio de Epel.

# DNF Instalar CERTBOT PYTHON3-CERTBOT-NGINX 
Instale CERTBOT para Nginx en RHEL Systems

3. Después de la certbot El cliente ha sido instalado, verifique la versión instalada del software Let's Cifrypt ejecutando el siguiente comando:

# certbot --versión certbot 1.30.0 

Paso 3: Obtenga un certificado SSL de Cifby SSL gratuito para NGINX

4. El proceso de obtener un gratis Certificado SSL/TLS para Nginx se realizará manualmente usando Vamos a encriptarse independientemente enchufar.

Este método requiere ese puerto 80 Debe ser libre durante el tiempo Vamos a cifrar El cliente valida la identidad del servidor y genera certificados.

Entonces, si NGINX ya se está ejecutando, 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 redes.

# Servicio Nginx Stop # SystemCtl Stop Nginx # SS -TLN 
Verifique los puertos de red de escucha-

5. Ahora es el momento de obtener un certificado SSL gratuito de Vamos a cifrar ejecutando el certbot ordenar con --nginx Para inicializar la obtención y configuración del Certificado de Seguridad Cifrypt para Dominios NGINX.

# certbot -nginx o # certbot --nginx -d ejemplo.com -d www.ejemplo.comunicarse 
Instalar al certificado de encriptación para dominios NGINX

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

Letsencrypt Finises de instalación

Paso 4: Instale el certificado SSL en Cifrar en Nginx

9. Ahora que tienes un gratis Certificado SSL/TLS, Es hora de instalarlo en Nginx Webserver para que su dominio lo use.

Todos los nuevos certificados SSL se colocan en /etc/letsencrypt/live/ bajo un directorio que lleva el nombre de su nombre de dominio. Use 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 
Letsencrypt Certificados SSL

10. Para instalar los archivos de certificado en NGINX y habilitar SSL, abra /etc/nginx/nginx.confusión Archivo para la edición y agregue las declaraciones siguientes después de la última línea de escucha desde el bloque del servidor. Use la siguiente ilustración como guía.

# vi/etc/nginx/nginx.confusión 

Extracto de bloque Nginx SSL:

# Configuración SSL Escuchar 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 NGINX

Reemplace la nombre de dominio Cadena para certificados SSL para que coincida con su propio dominio.

11. Finalmente, reiniciar Nginx servicio y visite su dominio a través del protocolo HTTPS en https: // yourdomain. La página debe cargarse suave, sin ningún error de certificado.

# SystemCTL reiniciar nginx # servicio nginx reiniciar 

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

https: // www.ssllabs.com/ssltest/analizar.html 
Verificar Let's Cifrar certificado en el dominio Verificar el certificado HTTPS SSL en el dominio

13. En caso de que reciba una notificación de que su servidor admite un débil Dh intercambio de claves y una calificación general de B Grado, generar un nuevo Diffie-Hellman cifrar /etc/nginx/ssl/ directorio para proteger su servidor contra el Atolladero Ataque ejecutando los siguientes comandos.

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

En este ejemplo hemos usado un 4096 Bit Key, que en realidad lleva mucho tiempo generar y pone una sobrecarga adicional en su servidor y en el apretón de manos SSL.

En caso de que no haya una necesidad explícita de usar una llave tanto tiempo y no estará paranoico, debe estar a salvo con un 2048 Bit Key.

14. Después Dh Se ha generado la clave, abra el archivo de configuración de NGINX y agregue las declaraciones siguientes después de ssl_ciphers línea para agregar la tecla DH y elevar el nivel de seguridad de su dominio a un A+ calificación.

# vi/etc/nginx/nginx.confusión 

Agregue el siguiente extracto de bloque a Nginx.confusión:

ssl_dhparam/etc/nginx/ssl/dhparams.pem; ssl_session_timeout 30m; ssl_session_cache compartido: ssl: 10m; ssl_buffer_size 8k; Add_header Strict-Transport-Security Max-Age = 31536000; 
Agregar cifras Diffie-Hellman a la configuración de Nginx

15. Reanudar Nginx Servicio para aplicar cambios y volver a probar su certificado SSL al borrar el caché de resultados anterior del enlace mencionado anteriormente.

# SystemCTL reiniciar nginx # servicio nginx reiniciar 
Verificar el certificado de SSL de Letsencrypt en el sitio web

Paso 5: Auto Renew Nginx gratis Lets Cifrypt Certificados SSL

dieciséis. Vamos a cifrar CA Libenes libres gratis SSL/TLS certificados válidos para 90 días. Los certificados se pueden renovar y aplicar manualmente antes de la vencimiento utilizando el complemento Webroot, sin detener su servidor web, emitiendo los siguientes comandos:

# CertBot -Nginx -d Ejemplo.com -d www.ejemplo.com # systemctl recargar nginx 

Al ejecutar el comando anterior, asegúrese de reemplazar el ejemplo.comunicarse para que coincida con tu dominio.

17. Para renovar automáticamente el certificado antes de que expire, cree el trabajo CRON a un archivo CRONTAB existente.

# crontab -e 

Agregue el siguiente trabajo cron en la parte inferior del archivo, que se ejecutará todos los días al mediodía para verificar el vencimiento del certificado y renovarlo. El --tranquilo La opción le dice a CERTBOT que no genere salida.

0 12 * * */usr/bin/certbot renovar --quiet 

Eso es todo! Ahora, Nginx El servidor puede entregar contenido web seguro con un Ssl/tls vamos a cifrar Certificado en su sitio web.