Snort 3.0


Snort 3.0

Snort ha sido el pilar de la detección de intrusos para la gran mayoría
de los que se dedican a la seguridad de redes. Existe una cantidad de
productos comerciales, pero normalmente el costo de ellos es prohibitivo
para el sysadmin promedio, y bueno, no tenemos que entrar en la discusión
a cerca de la flexibilidad y seguridad que proporciona una caja negra.

Entre las grandes ventajas de Snort, dejando de lado que es
libre/gratuito/abierto (FLOSS), está su flexibilidad para la generación
de reglas, así como sus “plugins” para el soporte de protocolos.

Desde su nacimiento a la fecha Snort ha sufrido varios rediseños
importantes, sin embargo, para la versión 3.0 (actualmente en desarrollo)
su arquitectura tiene cambios muy dramáticos, todos enfocados en mejora
de desempeño y en su usabilidad.

2 cosas saltan a la vista en cuestión de su arquitectura, la primera es
una separación entre la máquina de manejo de paquetes (Snort Security
Plataform ó SnortSP) y la máquina detectora de intrusos (“engines”)
en forma de plugins con lo cual Snort podrá manejar más de una de
ellas. Actualmente se hizo port de la máquina de detección y los
preprocesadores de la version 2.8.2 de Snort, pero se espera que existan
otras alternativas en el futuro. Esto da gran flexibilidad a Snort,
ya que cualquiera podrá crear una máquina de detección de acuerdo a
sus necesidades o ideas novedosas al respecto.

Ya del lado del usuario, tambien podemos notar 2 grandes cambios,
uno es la aparición de una linea de comando para interacción con
Snort, podemos entrar a ella en el momento de correr snort, o podemos
conectarnos a ella a través de la herramienta “snortsp_tool” que nos
conecta al socket que provee SnortSP para su control. Y finalmente,
pero no menos importante (como es usual) ahora toda la configuración
y control de SnortSP se hace a través del lenguaje “Lua” (Usuarios de
awesome WM extasíense !), lo
cual va a generar una nueva curva de aprendizaje, y para facilitarla en
la distribución de snort existe un script para traducir lo que hacemos
con el antiguo snort, al nuevo lenguaje de control:

sspiffy.sh +

es el $PATH de snortsp, y + son los argumentos
con los cuales corríamos snort originalmente. El script se encarga de
leer cada argumento y traducirlo al equivalente en Lua, incluyendo la
lectura del “snort.conf” y por supuesto su traducción. El script genera
2 archivos (snort.lua y snort.conf) en el directorio que se corre, y los
cuales podemos probar de la siguiente manera:

snortsp -P
-S -L snort.lua

INSTALACIÓN

La instalación en debian es relativamente sencilla, tenemos que
instalar varios paquetes indispensables con sus respectivos paquetes
para desarrollo (paquete-dev):

  • Lua >= 5.1.1
  • Libdnet
    (libdumbnet1 en debian)
  • Libpcap
  • UUID

con los prerequisitos cumplidos podemos correr el clásico:

./configure && make && make install

Continuaremos viendo con más detalle el manejo de Snort 3.0 (en
la versión beta 2) en una edición posterior, mientras tanto, si
tienes interés en Snort, visita la página oficial www.snort.org, ahí
encontrarás documentación, la lista de correos en donde se puede pedir
ayuda, y los paquetes de código fuente de la versión estable y de la
de desarrollo, así como de reglas de detección.


No Comments, Comment or Ping

Reply to “Snort 3.0”