ModSecurity es un firewall de aplicaciones web (WAF) que se integra con Apache para proporcionar una capa adicional de seguridad. En este tutorial, te mostraré cómo instalar y configurar libapache2-mod-security2
en Ubuntu Server 22.04.
Paso 1: Actualizar el Sistema
Antes de comenzar, asegúrate de que tu sistema esté actualizado. Abre una terminal y ejecuta los siguientes comandos:
apt update
apt full-upgrade -y
Paso 2: Instalar ModSecurity
Ahora, instala el módulo ModSecurity para Apache:
apt install libapache2-mod-security2 -y
Paso 3: Habilitar ModSecurity
Una vez instalado, habilita el módulo ModSecurity:
a2enmod security2
Paso 4: Descargar OWASP Core Rule Set
Clona el Core Rule Set en el directorio adecuado en el servidor. En este ejemplo, lo instalaremos en /etc/coreruleset
git clone https://github.com/coreruleset/coreruleset.git /etc/coreruleset
Paso 5: Configurar OWASP Core Rule Set
Copia el archivo de configuración de ejemplo para crear un archivo de configuración personalizado:
cd /etc/coreruleset
cp crs-setup.conf.example crs-setup.conf
Puedes abrir crs-setup.conf para personalizar parámetros de seguridad como la sensibilidad de las reglas y la política de detección
Paso 4: Configurar ModSecurity para Usar OWASP Core Rule Set
ModSecurity necesita saber dónde encontrar las reglas de CRS. Esto se logra añadiendo las rutas correspondientes en el archivo de configuración de ModSecurity.
Edita el archivo de configuración de ModSecurity, que generalmente se encuentra en /etc/modsecurity/modsecurity.conf:
cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
nano /etc/modsecurity/modsecurity.conf
Busca la línea SecRuleEngine
y cámbiala a On
para habilitar ModSecurity:
SecRuleEngine On
SecRequestBodyLimit 420000000
SecRequestBodyNoFilesLimit 131072
Comentar estas líneas
#SecRule MULTIPART_UNMATCHED_BOUNDARY "!@eq 0" \
#"id:'200004',phase:2,t:none,log,deny,msg:'Multipart parser detected a possible unmatched boundary.'"
SecResponseBodyLimit 420000000
#SecAuditLogParts ABDEFHIJZ
SecAuditLogParts ABCEFHJKZ
SecStatusEngine Off
IncludeOptional /etc/coreruleset/crs-setup.conf
IncludeOptional /etc/coreruleset/rules/*.conf
Guarda y cierra el archivo
Paso 5: Verificar la Configuración
Para aplicar los cambios, reinicia el servicio de Apache:
apache2ctl configtest
systemctl restart apache2
si se presenta el error «Unknown variable: &MULTIPART_PART_HEADERS», prueba eliminando el archivo REQUEST-922-MULTIPART-ATTACK.conf
mv /etc/coreruleset/rules/REQUEST-922-MULTIPART-ATTACK.conf ./
Conclusión
Configurar ModSecurity con OWASP Core Rule Set en Ubuntu Server 22.04 es una excelente manera de fortalecer la seguridad de tus aplicaciones web. Recuerda que CRS puede personalizarse aún más mediante crs-setup.conf para ajustar el nivel de seguridad y las configuraciones específicas de las reglas. Esto te permitirá obtener una protección adecuada según las necesidades de tu aplicación.