
modSecurity es un firewall de aplicaciones Web embebible bajo licencia GNU que se ejecuta como módulo del servidor web Apache, provee protección contra diversos ataques hacia aplicaciones Web y permite monitorizar tráfico HTTP, así como realizar análisis en tiempo real sin necesidad de hacer cambios a la infraestructura existente.
modSecurity filtra ataques por XSS, SQL Injection, comportamientos anómalos en protocolos, robots, troyanos, LFI … incorporando además reglas específicas para algunos de los gestores de contenido más populares como Joomla o WordPress.
Soporta integración con ModProxy por lo que podemos proteger aplicaciones desplegadas en otros servidores gracias a esta integración.
Además modSecurity cuenta con una consola de administración que permite recopilar registros de monitorización y alertas en tiempo real así como de opciones automatizadas de mantenimiento, entre otras características.

Instalación de modSecurity
A continuación vamos a describir el proceso de instalación de modSecurity 2.7 en Debian, en Ubuntu está disponible en los repositorios.Las descargas necesarias podemos realizar desde la web oficial del proyecto http://www.modsecurity.org/
1.- Descargamos las fuentes y descomprimimos:
wget https://www.modsecurity.org/tarball/2.7.5/modsecurity-apache_2.7.5.tar.gz tar -zxvf modsecurity-apache_2.7.5.tar.gz
2.- Instalamos algunas dependencias necesarias:
apt-get install apache2-threaded-dev libxml2-dev libcurl4-gnutls-dev -y
3- Compilamos e instalamos:
cd modsecurity-apache_2.7.5 ./configure make make install
4.- Cargamos el módulo:
Creamos el siguiente fichero
vim /etc/apache2/mods-available/mod-security2.load
con el siguiente contenido:
LoadFile /usr/lib/libxml2.so LoadFile /usr/lib/liblua5.1.so.0 LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
5.- Activamos modSecurity:
Antes de activar modSecurity debemos activar unique_id
a2enmod unique_id
y activamos modSecurity ahora:
6.-Configuramos las reglas:
Una vez hemos instalado modSecurity es necesario establecer las reglas que establecerán las condiciones del filtrado de métodos.
Descargamos las reglas de filtrado en /etc/apache2:
cd /etc/apache2 apt-get install git git clone https://github.com/SpiderLabs/owasp-modsecurity-crs
Una vez descargado veremos varios directorios además de diversas utilidades.
Para una primera aproximación renombraremos modsecurity_crs_10_config.conf.example a modsecurity_crs_10_config.conf:
cp modsecurity_crs_10_config.conf.example modsecurity_crs_10_config.conf
Para finalizar editamos apache2.conf con el siguiente contenido:
vim /etc/apache2/apache2.conf
SecRuleEngine On SecRequestBodyAccess On SecResponseBodyAccess Off SecDebugLog /var/log/apache2/modsec_debug.log SecDebugLogLevel 1 SecAuditEngine RelevantOnly SecAuditLogRelevantStatus ^5 SecAuditLogParts ABIFHZ SecAuditLogType Serial SecAuditLog /var/log/apache2/modsec_audit.log SecRequestBodyLimit 131072 SecRequestBodyInMemoryLimit 131072 SecResponseBodyLimit 524288 SecDataDir /tmp/ SecUploadDir /tmp/ SecTmpDir /tmp/ Include owasp-modsecurity-crs/modsecurity_crs_10_config.conf Include owasp-modsecurity-crs/base_rules/*.conf Include owasp-modsecurity-crs/optional_rules/*.conf Include owasp-modsecurity-crs/slr_rules/*.conf
Hay que ser cuidadoso con SecDataDir, SecUploadDir y SecTmpDir ya que las aplicaciones que suban ficheros y usen temporales no van a funcionar.
De forma similar, hay que prestar atención a posibles configuraciones de los atributos SecRequestBodyLimit, SecRequestBodyInMemoryLimit, SecResponseBodyLimit que se suelen definir en el archivo apache2.conf. Estas configuraciones nos va determinar las características de subida de archivos a través de nuestras aplicaciones web.
Si todo ha ido bien, pronto comenzaremos a ver en nuestro archivo de logs de Apache, decenas por no decir centenares de logs de este tipo:
[client 192.168.1.154] ModSecurity: Access denied with code 403 (phase 2). Pattern match "^[\\\\d.:]+$" at REQUEST_HEADERS:Host. [file "owasp-modsecurity-crsbase_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "98"] [id "960017"]
Si queremos ampliar el potencial de filtrado de nuestro módulo podemos acudir a http://www.gotroot.com/mod_security+rules y descargarnos libremente sus colecciones de reglas propias.
Espero que esta primera introducción a modSecurity les sirva para reforzar la seguridad de sus servidores web Apache, tarea primordial en estos tiempos.
Fuente: openwebinars
No hay comentarios:
Publicar un comentario