¿Qué tan seguro es nginx en comparación con Apache y sus módulos (ej: mod_security)?

Yo diría que nginx es relativamente seguro. Parecen tener una respuesta relativamente rápida cuando se encuentra un error de seguridad, y ese es realmente el punto de referencia en el que centrarse (Apache también es históricamente muy bueno). Todos los productos complejos tienen agujeros de seguridad. Es solo la naturaleza de la bestia.

Apache está en desventaja porque se usa tanto que una vulnerabilidad podría explotarse bien. nginx es un poco más oscuro con una pequeña cuota de mercado.

Apache tiene algunos excelentes módulos de seguridad como mod_security que realmente no existen para nginx, sin embargo, nginx tiene un conjunto de reglas diversas que pueden usarse para imitar gran parte de él [1].

Al final del día, es mucho más probable que vea y sea víctima de una vulnerabilidad en su aplicación web que en su servidor http, especialmente si utiliza uno de los productos más probados como Apache, nginx, IIS, lighttpd. Por lo tanto, no me obsesionaría demasiado con la seguridad del servidor web.

Si valora la seguridad en ese nivel, invierta en un buen dispositivo de firewall de aplicaciones, una auditoría de seguridad profesional y, lo más importante, un buen administrador de sistemas.

Obviamente: todo esto es discutible si no mantiene su software actualizado.

1. https://calomel.org/nginx.html

mod_security es un módulo adicional de terceros que imita la funcionalidad de un firewall de aplicaciones web (WAF). Actualmente, no existe ningún módulo de tipo WAF (a lo mejor de mi recuerdo) para el servidor nginx.

Tanto Apache como nginx se diseñaron principalmente teniendo en cuenta el servicio web, todos los módulos / herramientas de terceros creados para Apache / nginx fueron adaptaciones del usuario por la necesidad de proporcionar un cierto tipo de funcionalidad al servidor web de línea de base.

Ahora hay un módulo WAF para nginx: naxsi.googlecode.com 🙂