Si estaba protegiendo Nginx con Mod Security, entonces le gustaría tener activado el conjunto de reglas básicas (CRS) de OWASP para protegerse de las siguientes amenazas
- Protección contra violaciones del protocolo HTTP
- Ataques web comunes
- Protección contra bots, rastreadores y actividades maliciosas
- Protección contra troyanos
- Protección contra fugas de información
- Ataques de Cross Site Scripting
- Ataques de inyección SQL
¿Está de acuerdo?
En mi post anterior, expliqué cómo instalar Nginx y Mod Security y como prometí aquí está cómo puede configurarlos con OWASP CRS para una mejor seguridad.
ModSecurity es un cortafuegos de aplicaciones web (WAF) de código abierto y, por defecto, está configurado sólo para detectar. Eso significa que necesita habilitar la configuración necesaria(como se indica a continuación) para empezar a proteger sus sitios web.
Descargar ModSecurity CRS
- Descargue el último archivo zip de CRS desde el siguiente enlace y transfiéralo al servidor
https://github.com/SpiderLabs/owasp-modsecurity-crs/zipball/master
- descomprima el archivo
descomprimir SpiderLabs-owasp-modsecurity-crs-2.2.9-26-gf16e0b1.zip
- Copie lo siguiente en la carpeta conf de nginx
modsecurity_crs_10_setup.conf.example base_rules
Configurar Nginx para integrar OWASP ModSecurity CRS
Dado que ha decidido utilizar OWASP CRS, necesita fusionar el archivo conf incluido en SpiderLabs OWASP CRS, que acaba de copiar (modsecurity_crs_10_setup.conf.example ) bajo la carpeta nginx.
Nginx no soporta múltiples directivas ModSecurityConfig como Apache, así que necesita poner todas las reglas conf juntas en un único fichero
Hagámoslo..
- Añada base_rules & modsecurity_crs_10_setup.conf.example al fichero modsecurity.conf
cat modsecurity_crs_10_setup.conf.example base_rules/*.conf >>/usr/local/nginx/conf/modsecurity
.conf
También necesita copiar todos los archivos * .data a la carpeta conf de nginx
cp base_rules/*.data /usr/local/nginx/conf/
Verificación rápida
Asegúrese de que ha añadido las directivas ModSecurityEnabled y ModSecurityConfig en el archivo nginx.conf bajo ubicación. Si no es así, añádalas como se indica a continuación
location
/ { ModSecurityEnabled on; ModSecurityConfig modsecurity.conf;
}
- Reinicie Nginx
Haciendo todo lo anterior significa que ha integrado con éxito OWASP CRS en Mod Security en Nginx. Es hora de hacer los pequeños ajustes esenciales
Configurar el conjunto de reglas del núcleo OWASP para empezar a proteger
En esta sección, todas las modificaciones serán en el archivo modsecurity. conf así que recuerde tomar una copia de seguridad
Lo primero
Habilite el registro de auditoría
Es esencial generar logs, así sabrá lo que está siendo bloqueado. Añada la directiva SecAuditLog si no existe
SecAuditLog
/usr/local/nginx/logs/modsec_audit.log
Reinicie Nginx y verá el archivo de registro generado
–
rw-r----- 1 root root 0 May 22 07:54 /usr/local/nginx/logs/modsec_audit.
log
Habilitar el motor de reglas de seguridad
Comience la protección de Mod Security habilitando el motor de reglas como se indica a continuación
SecRuleEngine Activado
Habilite la acción predeterminada como Denegar
Configure la acción por defecto como “bloquear” para cualquier solicitud que coincida con las reglas
SecDefaultAction "fase:1,denegar,log"
Las tres configuraciones anteriores son esenciales y ahora ModSecurity está listo para ejecutar la acción y proteger
Aquí hay una configuración más que le puede gustar
Cambiar el Banner de Cabecera del Servidor
La configuración por defecto de Nginx expondrá la información del servidor con su versión, lo que es muy recomendable enmascarar si está trabajando en un entorno PCI-DSS
También puede hacerlo sin Mod Security como se explica aquí
Cabecera por defecto
Puede hacerlo rápidamente añadiendo una línea
SecServerSignature GeekFlare
Y ahora se ve así
Espero que las instrucciones anteriores le ayuden en la integración de OWASP Core Rule Set con el servidor web Nginx para una mejor protección.