Monitorización orientada a host con OSSEC III Sun, 16 Nov 2008

En este último post de la serie vamos a ver, como siempre muy por encima, la funcionalidad "active response" que ofrece ossec. En definitiva, se trata de ser capaces de ejecutar un script cuando se activa un evento. Esto normalmente se usa para añadir reglas en firewalls, para añadir reglas tcp wrapper o para bloquear usuarios, pero en el fondo se puede hacer cualquier cosa que se pueda escribir en un programa. Por ejemplo, si una de las máquinas monitorizadas es un servidor de correo se podría añadir una IP que generase una alerta a una lista de acceso, o a una base de datos RBL. O también se podrían añadir reglas de modsecurity en un servidor web.

Para el ejemplo de este post, digamos que como administradores ya estamos usando psad para crear reglas en nuestro firewall. Digamos, además, que sólo queremos que sea psad el responsable de las reglas dinámicas en el cortafuegos.

Infraestructura ossec

Rootkits, accesos no permitidos, .... No parece necesario justificar la necesidad de tener el firewall monitorizado, ¿Verdad?

Nuestro objetivo es crear reglas para psad desde ossec. Primero definimos el comando en ossec.conf para poder usarlo más adelante en la configuración de la respuesta activa.

  <command>
    <name>psad</name>
    <executable>psad.sh</executable>
    <expect>user,srcip</expect>
  </command>

El script "psad.sh" (que guardaremos en $ossec_instalacion/active-response/bin con permisos de ejecución) tiene el siguiente contenido:

  #!/bin/bash
  # Anyade una regla de psad usando la IP origen. Tambien pasamos el usuario, pero no lo vamos a usar.
  # Entrada: user, srcip
  # Salida: Nada. Ejecuta una regla psad
  ACCION=$1
  USUARIO=$2
  IP=$3

  psad -fw-block-ip $IP

Ahora sólo queda configurar la respuesta activa en ossec.conf.

  <active-response>
    <disabled>no</disabled>
    <command>psad</command>
    <location>defined-agent</location>
    <agent_id>001</agent_id>
    <level>10</level>
    <rules_group>authentication_failures</rules_group>
  </active-response>

Estamos diciendo que vamos a ejecutar en el agente 001 (el firewall) el comando psad cuando ocurra un evento de nivel 10 y del grupo authentication_failures (por ejemplo la regla 5720).

Veamos si funciona bien intentando loguearnos varias veces desde una máquina (después de haber recargado la configuración de ossec). Este es el resultado

  Nov  9 00:50:03 firewall psad: added iptables auto-block against 192.168.10.133 for 3600 seconds

  Chain PSAD_BLOCK (1 references)
  target     prot opt source               destination
  DROP       all  --  192.168.10.133       0.0.0.0/0

Como siempre, y para aquellos que quieran profundizar más, recomiendo el libro http://www.elsevierdirect.com/product.jsp?isbn=9781597492409.

Firewalls proactivos con psad II Sun, 07 Sep 2008

En el anterior post hemos visto lo más básico de psad. De hecho, he resumido alguna cosa tanto que los que ya conozcan el software pueden decir que no he sido todo lo riguroso que debiera. Un ejemplo, la parte relacionada con las variables IPT_AUTO_CHAINn. Mi objetivo, más que ser …

Leer más
Firewalls proactivos con psad Sat, 06 Sep 2008

En este post voy a documentar un uso alternativo que se puede dar a psad, un interesante software pensado para la detección de escaneos de puertos, que fue creado como parte de bastille linux en el 1999.

El problema:

Tenemos un firewall que gestiona una red digamos que de servidores …

Leer más