Registrar ataques en diferentes archivos usando Snort

4

¿Cómo puedo registrar ataques por separado usando snort? Básicamente quiero registrar ataques invocados desde diferentes archivos por separado. Al igual que si tengo 2 archivos, ddos.rules y log.rules , quiero que los registros se generen a partir de ddos.rules en un archivo y los registros que se generen a partir de log.rules en otro.

¿Es posible y, si es así, cómo puedo hacerlo?

    
pregunta NEENU 15.02.2014 - 12:03
fuente

3 respuestas

5

Las malas noticias

No directamente, no de la manera que quieres. Puede especificar múltiples salidas de alerta, como se describe en la Sección 2.6 del manual. Sin embargo, esto simplemente enviará las mismas alertas a múltiples ubicaciones. Seguirá teniendo alertas de firmas importadas de ddos.rules y log.rules registradas juntas.

Las buenas nuevas

No temas, podemos hacerlo funcionar. Lo que tendrá que hacer es crear múltiples archivos de configuración y tener cada registro por separado. Dependiendo de la manera exacta en que desee dividir el tráfico, hay varias formas de hacerlo.

MultiConfig

Snort tiene un mecanismo incorporado que permite procesar diferentes flujos de paquetes contra diferentes archivos de configuración. Esto puede ser útil si segmenta sus aplicaciones basadas en red o VLAN. Es decir, todas las aplicaciones de correo están en una VLAN, los servidores web en otra, etc. Los detalles completos se proporcionan en Sección 2.10 del manual, pero los bits más relevantes a comprender son que depende de la VLAN o la red, y no puede haber duplicados. Lo que significa que esta es una configuración válida,

config binding: /etc/snort/snort.conf-ddos net 192.168.100.0/24
config binding: /etc/snort/snort.conf-log net 192.168.200.0/24

pero esto no es.

config binding: /etc/snort/snort.conf-ddos net 192.168.100.0/24
config binding: /etc/snort/snort.conf-log net 192.168.100.0/24

Para usar esta función en su situación, tendría que ejecutar ddos.rules contra un conjunto de hosts y log.rules contra otro. Dudo que quieras tomar este enfoque.

Instancias múltiples

Hasta la fecha, snort es de un solo hilo, por lo que cuando el procesamiento es lo suficientemente intenso como para utilizar un procesador completo, comenzará a eliminar paquetes. Gracias a esto, a menudo encontrará sensores de snort con varias versiones de snort en ejecución. En general, esto funciona usando algo llamado PF_RING, que es como un equilibrador de carga de paquetes, o al recortar el espacio de su red y ejecutar una versión de snort por bloque. Así que una instancia de snortd monitoreando 192.168.1.0/25 y otra mirando 192.168.1.128/25 . En la mayoría de los casos, cada proceso utilizará el mismo archivo de configuración, pero solo observará ciertas direcciones.

Podemos adoptar ese enfoque y activarlo un poco para que funcione en su situación. Vamos a crear dos archivos de configuración y establecer así las partes relevantes.

/etc/snort/snort.conf-ddos

output alert_syslog: LOG_LOCAL0 LOG_ALERT
include $RULE_PATH/ddos.rules

/etc/snort/snort.conf-log

output alert_syslog: LOG_LOCAL1 LOG_ALERT
include $RULE_PATH/log.rules

Luego, configuramos el motor de syslog y lo reiniciamos después de hacer el cambio, por supuesto.

local0.alert       /var/log/snort/alert-ddos.log
local1.alert       /var/log/snort/alert-log.log

Ahora cuando ejecutas snort lo haces dos veces, cada uno usando la opción -c . La primera vez usaremos -c /etc/snort/snort.conf-ddos y la segunda con -c /etc/snort/snort.conf-log .

Ahora debería tener dos instancias de snortd en ejecución, una solo con las firmas ddos.rules y el registro en LOCAL0 y una con las firmas log.rules y el registro en LOCAL1. Siempre que se esté comportando syslog, debes tener tus alertas registrando por separado sin mezcla.

    
respondido por el Scott Pack 07.04.2014 - 01:40
fuente
0

Snort ciertamente soporta múltiples objetivos de registro simultáneos. Creo que en su caso de uso deseado, la posibilidad puede depender de sus conjuntos de reglas y cómo desea que se registren. Nunca lo he hecho de esta manera y no tengo la necesidad o el deseo de hacerlo.

Echa un vistazo a enlace . Este enlace detalla las opciones de salida de Snort.

    
respondido por el user1801810 06.03.2014 - 20:47
fuente
0

Realmente no me gusta la idea de ejecutar varias instancias de snort. Tenga en cuenta que, por lo que recuerdo, snort no es un motor de detección de subprocesos múltiples. Creo que esta solución creará un problema de rendimiento, asumiendo que tiene n números de reglas establecidas. ¿Esto significa que ejecutará n el número de instancias de snort?

Entonces, ¿cómo puedes hacerlo? es necesario utilizar un analizador de registro. Así que básicamente dejas que snort registre todas las alertas en un solo archivo de registro. Este archivo puede ser, por ejemplo, un ".csv" y luego, utilizando un analizador de registro simple, puede analizar el archivo y crear archivos de registro separados para cada conjunto de reglas.

¿Hay alguna herramienta de analizador de registros que sepa bien que pueda analizar registros de snort ?, sí, por supuesto, si está usando Windows, puede usar Log Parser 2.2 .

Si está utilizando otra plataforma, por ejemplo, Linux. Simplemente puede usar python para escribir un pequeño script que analice el registro. Consulte esta publicación de un código de muestra .

Actualmente estoy trabajando en un sistema de correlación de alertas IDS. Puedo darte un pequeño script de Python (parte de mi sistema) que haga exactamente lo que quieres si quieres.

    
respondido por el Ubaidah 07.04.2014 - 05:21
fuente

Lea otras preguntas en las etiquetas