In Nginx y Seguridad Última actualizaciónated:
Comparte en:
Cloudways ofrece alojamiento en la nube administrado para empresas de cualquier tamaño para alojar un sitio web o aplicaciones web complejas.

Mejores prácticas de seguridad de Nginx.

Nginx es el más rápido growEs el servidor web líder en la industria y actualmente ocupa la segunda posición en participación de mercado.

fue inicialally lanzado en 2004 y desde entonces se ha ganado una excelente reputación y se ha utilizado en el millón de sitios más concurridos.

nginx-participación-de-mercado-1

Hay una razón para eso: Nginx es ardientemente rápido.

En este artículo, hablaré sobre algunas de las guías esenciales para asegurar la Nginx para un entorno de producción. Así que empecemos.

SSL / TLS

Implementar certificado SSLate

El primer paso en la seguridad web es implementar SSL para que pueda acceder a las aplicaciones web con https y agregar una capa de encryption en comunicación.

  • Uso OpenSSL generarate RSC con 2048 bit y sha-2
openssl req -nodes -new -sha256 -newkey rsa:2048 -keyout bestflare.key -out bestflare.csr
  • El comando anterior generaráate CSR y archivos clave en la actualidad trabajando directamente. No olvide cambiar el nombre de los archivos .csr y .key.

Obtener el CSR firmado por un certificadoate autoridad y una vez que tenga el certificado firmadoate, puede implementarlos en Nginx como se muestra a continuación.

  • Inicie sesión en el servidor Nginx
  • Vaya a la carpeta conf donde tiene un archivo ssl.conf.

Nota: En la instalación predeterminada en Linux, tendrá este archivo en /etc/nginx/conf.d.

  • Edite el archivo y agregue lo siguiente, que permitirá a Nginx escuchar en el puerto 443
server {
listen       443 ssl;
   server_name bestflare.com;
   ssl                 on;
   ssl_certificate     /opt/cert/bestflare.pem;
   ssl_certificate_key /opt/cert/bestflare.key;
   }

Nota: no olvides cambiar el certificado.ate y ruta del archivo clave.

  • Guarde la configuración y reinicie Nginx. Un certificado SSL se implementó correctamente.

certificado-ssl-bestflare

Optimización SSL / TLS

Tener SSL no significa que sea completamente seguro y ahí es donde, como experto en seguridad web, debe aplicar una configuración para proteger el servidor web.

Para empezar, recomendaría ejecutar un Escaneo SSL contra el sitio web para encontrar la puntuación y la vulnerabilidad esencial.

ssl-labs-rating-c

Entonces, la calificación actual de SSL Labs es "DO" y un objetivo es convertirlo en "A"

Disable protocolos SSL/TLS débiles

SSL 3, TLS 1.0 y TLS 1.1 son vulnerables y solo permitiremos un protocolo TLS 1.2 fuerte.

  • Edite el archivo ssl.conf y agregue a continuación en el bloque del servidor
ssl_protocols       TLSv1.2;
  • Guarde el archivo ssl.conf y reinicie Nginx

Disable conjuntos de cifrado débiles

Los conjuntos de cifrado débiles pueden conducir a una vulnerabilidad como un atolladero, y es por eso que debemos permitir solo cifrado fuerte.

  • Agregue lo siguiente al bloque del servidor en el archivo ssl.conf
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA HIGH !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
  • Guarde el archivo y reinicie Nginx

Instalar certificado de cadenaate

No tener certificado de cadenaate también afecta la calificación general y esto puede mostrar un error cuando browsing en un b modernorowsEs como Chrome. Necesitas obtener un certificado de cadena.ate de la autoridad. Principalmente lo encontrará en su sitio web o simplemente en Google.

  • Agregue el contenido del certificado de cadena en el certificado del sitio web.ate como abajo. En mi ejemplo, sería /opt/cert/bestflare.pem

cert-cadena

  • Guarde el archivo y reinicie Nginx

Asegure Diffie-Hellman para TLS

Diffie-Hellman es menos segura de lo que se creía. Una de las mejores prácticas lately agregado en una lista es para asegurar a Diffie-hellman. Generar un GRUPO DH único y agregar ssl_dhparam en el archivo ssl.conf hace esto.

  • eneroate Grupo DH único mediante OpenSSL
openssl dhparam -out dhparams.pem 4096
  • Tardará unos minutos y se generará.ate un archivo dhparams.pem en un directorio de trabajo actual
  • Copie dhparams.pem a la carpeta cert
  • Modifique ssl.conf y agregue lo siguiente en el bloque del servidor
ssl_dhparam    /opt/cert/dhparams.pem;
  • Guarde el archivo y reinicie Nginx

Eso debería ser suficiente para la optimización de SSL / TLS y probemos la URL nuevamente para ver la calificación.

ssllabs-a-rating

¡Woo ho! Entonces ahora puedes ver que es "UN" calificación de SSLLabs. ¡Bien hecho!

Aquí está completo ssl.conf

# HTTPS server configuration
server {
   listen       443 ssl;
   server_name bestflare.com;
   ssl                 on;
   ssl_certificate     /opt/cert/bestflare.pem;
   ssl_certificate_key /opt/cert/bestflare.key;
   ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
   ssl_prefer_server_ciphers   on;
   ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA HIGH !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
   ssl_dhparam     /opt/cert/dhparams.pem;
}

Fuga de información

En la instalación predeterminada de Nginx tendrás mucha información confidencial revdescubierto, lo que puede ayudar a los piratas informáticos a prepararse para un ataque.

Si está trabajando en un entorno de cumplimiento de PCI, esto se considera una vulnerabilidad de fuga de información y debe corregir el elemento.

Tienes que usar server_tokens para disable la fuga de información. Esto lo he explicado en mi p.revioso artículo. Eliminar la versión del banner de encabezado del servidor en Nginx

Seguridad de aplicaciones web

La configuración predeterminada de Nginx no es perfecta y puede tener muchas vulnerabilidades, por eso las reforzamos para que sea segura.

Disable métodos HTTP no deseados

La mayoría de las veces, solo necesita una solicitud HTTP GET, HEAD y POST en su aplicación web. Permitir TRACE o DELETE es riesgoso ya que puede permitir ataques y potenciales ataques de seguimiento entre sitios.ally permitir que un hackerteal la información de las cookies.

  • Modifique nginx.conf y agregue lo siguiente en el bloque del servidor
if ($request_method !~ ^(GET|HEAD|POST)$ ) 
{
return 405; 
}

Guarde el archivo y reinicie Nginx. Esto ahora mostrará 405 No permitido si alguien está intentando usar RASTREO, ELIMINACIÓN, PONER, OPCIONES.

Chandans-iMac:~ chandan$ telnet bestflare.com 80
Trying 128.199.100.162...
Connected to bestflare.com.
Escape character is '^]'.
TRACE / HTTP/1.1
Host: testing
HTTP/1.1 405 Not Allowed
Server: nginx
Date: Sat, 11 Jul 2015 06:04:34 GMT
Content-Type: text/html
Content-Length: 166
Connection: close

Ataque de clickjacking

Puede inyectar X-FRAME-OPTIONS en el encabezado HTTP para prevEnt un ataque de clickjacking.

Esto se logra agregando a continuación en el archivo nginx.conf

add_header X-Frame-Options "SAMEORIGIN";

El encabezado superior indicará abrowser para cargar los recursos SÓLO desde el mismo origen.

Protección X-XSS

Inyecte encabezado HTTP con protección X-XSS para mitigarate Ataque de secuencias de comandos entre sitios.

  • Modifique el archivo nginx.conf para agregar lo siguiente
add_header X-XSS-Protection "1; mode=block";
  • Guarde el archivo de configuración y reinicie Nginx. Puedes usar el Prueba de encabezados herramienta para verificar después de la implementación.

También puede estar interesado en implementar encabezados seguros recomendados por OWASP que se explican aquí.

Implementar WAF Mod Security

Agregue una capa adicional de seguridad implementando Web Application Firewall ModSecurity Conjunto de reglas básicas de OWASP.

Alternativamente, si puede considerar el uso de seguridad basada en la nube como SUCURI frente al servidor Nginx.

Mantenga Nginx actualizadoate

Por último, pero no menos importante, debes mantener tu Nginx actualizadoate Como hay muchas mejoras de rendimiento, se están agregando correcciones de seguridad y nuevas funciones.

Espero que esto le ayude a mantener su Nginx seguro.

A continuación, puede que le interese aprender a construya Nginx para un alto rendimiento desde cero.

Comparte en:
  • chandan kumar
    Autor
    Chandan Kumar es un entusiasta experimentado de la tecnología y un apasionado emprendedor.ate Sobre Nosotros empowering empresas y personas a nivel mundialally. Como fundador de Geekflare, una publicación tecnológica líder, Chandan ha encabezado el desarrollo...

Gracias a nuestros patrocinadores

Más lecturas excelentes sobre Nginx

Técnicas avanzadas de formato en Google Docs
Más allá de lo básico: técnicas avanzadas de formato en Google Docs

Google Docs hace un gran trabajo manteniendo las cosas simples. La configuración de página predeterminada funciona muy bien para la mayoría de los documentos y las opciones de formato comunes se encuentran directamente en la barra de herramientas. Sin embargo, cuando necesites realizar algún formateo avanzado, necesitarás profundizar un poco más.

Impulse su negocio

Algunas de las herramientas y servicios para ayudar a su negocio grow.
  • La herramienta de conversión de texto a voz que utiliza IA para generarate Voces realistas parecidas a las humanas.

    Intente Murf AI
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.

    Prueba Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno para ayudarlo a administrar proyectos, tareas, trabajo, ventas, CRM, operaciones, workflows, y más.

    Intente Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.

    Intente Intruder