Server Web Seguridad

Implementación de Mod Security

Introducción

Completar

¿Que es Mod Security?

Completar

Implementación de Mod Security

Hola a todos, siguiendo con el tema Web Server hoy voy a explicar como instalar y configurar (básicamente) mod_security. Antes que nada voy a explicar que es y para que sirve. Si bien OpenBSD (como todos sabemos ;)) es seguro por defecto no viene con Apache activado, entonces una vez que lo activamos seria bueno tomar algunas medidas de seguridad EXTRAS y nada mejor que instalar mod_security, este modulo lo que hace es securizar tu servidor Web poniéndose delante de el enjaulandolo en un entorno propio para que cuando suframos un ataque se limite solo a ese entorno y no a nuestro sistema entero, una especie de firewall, que inspecciona el tráfico tomando acciones contra el tráfico sospechoso incluído el spam y los intentos de desbordamiento de búfer (acá hay mas información http://www.modsecurity.org/documentation/index.html).

Ahora lo que vamos hacer es algo muy simple. Instalarlo mediante los ports de OpenBSD de la siguiente manera:

# cd /usr/ports/www/mod_security/
# make install clean

Con estos comandos directamente el port instalara el modulo y si se fijan en el debug de la compilación podran ver que también agrego la siguiente linea al httpd.conf de nuestro Apache:

LoadModule security_module    /usr/lib/apache/modules/mod_security.so

Pero con eso no basta, ahora lo que tenemos que hacer es abrir nuestro httpd.conf para agregar las reglas del modulo y de esta manera una vez reiniciado Apache dejarlo funcionando.

# nano /var/www/conf/httpd.conf

Deberiamos agregar algo como esto:

<IfModule mod_security.c>
# Iniciamos o no el filtrado On o Off
   SecFilterEngine On
# Verifica que la codificacion de la url es valida
   SecFilterCheckURLEncoding On
# Previene ataques de buffer overflow
   SecFilterForceByteRange 32 126
# Ruta donde guardamos el Audit Log
   SecAuditLog /var/log/openbsderos/audit_log
# Ruta donde guardamos el debug log
   SecFilterDebugLog /var/log/openbsderos/modsec_debug_log
# Nivel del log 0 nada, 1 eventos significativos, 2 info de mensajes, 3 info de mensajes detallado
   SecFilterDebugLevel 2
# Permite mostrar información erronea de identificación de nuestro servidor (esta es divertida ;)).
# Esta regla suele evitar algunas herramientas de scaneo de vulnerabilidades. 
   SecServerSignature "Microsoft-IIS/6.0"
# Scaneo de contenido POST de la paginas
   SecFilterScanPOST On
# Filtrar contenido de url con /etc/passwd
   SecFilter /etc/passwd
# Filtrar contenido de url con /bin/sh para ciertos ataques
   SecFilter /bin/sh
# Filtra la ejecucion de binarios en sistemas unix
   SecFilter "bin/"
</IfModule>

Una vez configurado nuestro Apache, solo hace falta reiniciarlo de la siguiente manera (uds pueden hacerlo como quieran, cada uno tiene su método):

# pkill httpd
# httpd

Y eso es todo, una vez que inicie Apache tendremos un resguardo extra, espero que lo usen y les sirva como guia para empezar a leer un poco mas sobre el tema, si tienen acotaciones, agregados, reclamos, etc ya saben las vias para contactarnos.

Saludos.


Personal Tools