Instalar certificados SSL COMODO en Nginx

Antes de comprar el certificado, debemos de tener listo nuestro archivo CSR (Certificate Signing Request) y nuestra llave privada. Te preguntaran por le contenido del archivo csr

openssl req -new -newkey rsa:2048 -nodes -keyout example_com.key -out example_com.csr

Esto nos genera dos archivos:

  • example_com.key — Tu llave privada. La necesitarás más adelante para configurar nginx.
  • example_com.csr — Tu archivo CSR.

Ahora, compras el certificado, sigues los pasos en sus sitio web y deberías recibir pronto un correo electrónico con tu certificado PositiveSSL.

Instalando el Certificado en Nginx.

Combinamos todo para nginx.

  1. Combine los anteriores certificados. (El orden importa aquí)cat SUDOMINIO.CRT SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAAACA.crt AAACertificateServices.crt >> ssl-bundle.crt
  2. Mueve los archivos a un lugar al que Nginx tenga accesomkdir -p /etc/nginx/ssl/example_com/ mv ssl-bundle.crt /etc/nginx/ssl/example_com/
  3. Asegurate que la llave privada está en un lugar al que Nginx tenga acceso de lectura.mv example_com.key /etc/nginx/ssl/example_com/
  4. Para mejorar la seguridad de nuestro servidor, vamos a generar una nueva llave de intercambio DHS (Es algo complicado de explicar, pero cuando nuestro servidor va a iniciar la comunicación cifrada, hace un intercambio de llaves DHS que por default es de 1024 bits). La generación de dicha llave de intercambio puede tomar algunos minutos.
    openssl dhparam -out /etc/nginx/ssl/dhparam.pem 4096
  5. Asegúrate que Nginx apunta a los archivos correctos
server {
 listen 443;
 ssl on;
 ssl_certificate /etc/nginx/ssl/example_com/ssl-bundle.crt;
 ssl_certificate_key /etc/nginx/ssl/example_com/example_com.key;
# Secure exchange process 
 ssl_dhparam /etc/nginx/ssl/dhparam.pem;
# Enable SSL Cache ssl_session_cache shared:SSL:5m;
 ssl_session_timeout 1h;
# Enable HTTP Strict Transport Security add_header 
 Strict-Transport-Security "max-age=31536000;
 includeSubDomains" always;
# side note: only use TLS since SSLv2 and SSLv3 have had recent vulnerabilities 
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # ... 
}

Reinicia Nginx

Actualizado: Agregué un paso 4 para crear una llave DHS y también algunos parámetros para incrementar la seguridad de nuestro servidor usando SSL. Ahora pueden ir a este sitio y hacer una prueba de la seguridad de su servidor.

Otro sitio más de Los Lucero