Asegurar un servidor web mediante modsecurity: consejos y algunas consideraciones

Por lo tanto, me han encargado crear un sitio web, me dieron una infraestructura bastante grande para trabajar, y tengo falta de experiencia en eso.

Así que como auto-recordatorio estoy escribiendo algunas notas sobre lo que hice o se puede hacer en general.

¿Qué es ModSecurity?

ModSecurity es un módulo Apache (aunque se puede utilizar como independiente), que le ayuda a proteger su sitio web utilizando un conjunto de reglas. El conjunto más común de reglas utilizadas de forma predeterminada es el conjunto de reglas OWASP.

Se define como un Firewall de aplicaciones web (WAF), lo que significa que analizan y filtran el tráfico a nivel HTTP. Y este aspecto dicta sus puntos y debilidades fuertes.

Configurarlo

Hay una descripción detallada de la instalación en el wiki del repositorio: aquí. Pero debería admint no recuerdo haberlo usado, parece demasiado complicado.

Esto parece el tipo de proceso de instalación que me gusta. Que podemos reanudar con los siguientes comandos clave:

actualización de sudo apt -y
sudo apt instalar libapache2-mod-security2
sistema de sudoctl reiniciar apache2 

Y eso es todo.

Haz que funcione

Eso fue un poco menos intuitivo, requiere mucha investigación y estudio para dominarlo, por suerte sólo tengo que hacer que funcione.

He instalado el reglamento OWASP desde aquí (al menos si lo recuerdo correctamente).

Luego tuve que sintonizar algunos archivos de configuración:

el modsecurity.conf

Este requiere cambiar de:

SecRuleEngine DetecciónOnly

Para

SecruleEngine encendido

A continuación, dependiendo de la aplicación web que esté intentando proteger, es posible que desee deshacer una de las siguientes opciones:

setvar:tx.crs_exclusions_cpanel=1,
setvar:tx.crs_exclusions_drupal=1,
setvar:tx.crs_exclusions_dokuwiki=1,
setvar:tx.crs_exclusions_nextcloud=1,
setvar:tx.crs_exclusions_wordpress=1,
setvar:tx.crs_exclusions_xenforo=1"

Esto es básicamente lo que hice hasta ahora, y parece que está aplicando algunas reglas básicas que redirigen a los atacantes potenciales a una página 403 (no autorizada). Es un mínimo, y en realidad requiere algunas personalizaciones para que funcione correctamente.

Consideraciones

Tengo un equilibrador de carga entre mis servidores y usuarios, eso significa que no puedo aprovechar ciertas características útiles como ser capaz de integrar fail2ban con él.

Al parecer, incluso si modsec (en realidad es apache) puede detectar el IP original a través del encabezado X-Forwarded-for, las iptables no pueden bloquear la IP original. Un verdadero showtopper.

Posted in Desarrollo web.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.