PDF de programación - Configuracion de Snort con interface ACID

Imágen de pdf Configuracion de Snort con interface ACID

Configuracion de Snort con interface ACIDgráfica de visualizaciones

Actualizado el 7 de Abril del 2020 (Publicado el 14 de Abril del 2017)
1.383 visualizaciones desde el 14 de Abril del 2017
29,6 KB
10 paginas
Creado hace 22a (02/04/2002)
Configuracion de Snort con interface ACID

Iván Belmonte <[email protected]>

02-04-2002

_________________________________________________________

Configuración de un sistema de detección de intrusiones

_________________________________________________________

INDICE DE CONTENIDOS

1) Introducción

2) Qué es Snort y qué es ACID

3) Pre-requisitos

4) Compilar Snort

5) Configuración de la MySQL

6) Configurar Snort

7) Configuración de ACID

8) Autentificación para acceder a ACID

9) Have Fun!

_________________________________________________________

1. Introducción

Este documento trata de describir los pasos a realizar para la instalación y configuración
de un sistema de detección de intrusiones. Durante la escritura del documento daré
algunos pasos por sabidos o ya realizados, para cualquier duda recomiendo consultar la
documentación oficial de las aplicaciones a configurar.

La obtención del código fuente de las aplicaciones que vamos a configurar se puede
llevar a cabo en los websites oficiales, son los siguientes:

Apache -> http://www.apache.org

MySQL -> http://www.mysql.org

Php -> http://www.php.net

Snort -> http://www.snort.org

ACID -> http://acidlab.sourceforge.net

En esos mismos websites está la documentación oficial. Recomiendo mucho su lectura,
utilizando este documento solo como guía de referencia.

Tambien podeis dirigiros a http://www.linuxdoc.org y consultar los HOWTO’s oficiales
sobre cada aplicación.

2. Qué es Snort y qué es ACID?

Snort es lo que se llama un IDS (Intrussion Detection System). Su funcionamiento es
similar al de un sniffer, poniendo en modo promiscuo la tarjeta de red de la máquina en
la que corre. De esta manera, esa tarjeta de red sniffa todos los paquetes que circulan por
un mismo switch, es decir, los capta y lee aun sin ser suyos.

En muchas ocasiones se puede oir hablar de sniffers con intenciones de intrusión en
sistemas ajenos... la verdad es que puede ser un arma de doble filo, y su objetivo principal
es el de proteger, no el de atacar.

Un IDS bien configurado y mantenido nos alertará de los intentos de intrusión y ataques
varios que nuestra red pueda sufrir... un IDS mal mantenido nos llenará un disco duro de
porquería y nos colapsará el tráfico de la red.

ACID (Analysis Console for Intrussion Databases) es una interface web desarrollada en
lenguaje PHP, que nos muestra los registros guardados por Snort. Snort puede guardarlos
en una base de datos o en simples ficheros de texto (por ejemplo syslog)... si queremos
usar ACID para visualizar sus efectos, deberemos usar MySQL como almacén parqa los
logs recogidos por Snort.

Atención: es importante saber que, según configuremos Snort, este recogerá mayor o
menos cantidad de logs. Configurar Snort para que recoja todo tipo de alertas es un
suicidio (podemos llegar a captar mas de 100 Mb de logs diarios)... por tanto debemos
descartar muchas de las opciones que vienen por defecto, tratando de minimizar su uso y
dedicarlo a aquellos ataques que realmente sean peligrosos para nuestra red.

3. Pre-requisitos

ACID es una interface web, por lo que partimos de la base de que el sistema operativo

sobre el que esta funcionando tiene instalado un servidor web, en mi caso particular (y
para las explicaciones de este documento) es un APACHE (www.apache.org)

Snort debe dejar los logs en una base de datos si queremos poderlos visualizar con ACID,
por lo que previamente necesitamos una base de datos, como por ejemplo MySQL.
Aunque también podemos hacerlo con PosgreSQL, Oracle y alguna otra más... yo lo he
hecho con MySQL, así que este documento supondrá un caso similar al mío.

Si no tenemos MySQL instalada y funcionando, podemos instalarla con un instalador
(sistema de paquetes propio del sistema operativo rpm, tgz, deb....) o compilandola a
mano. Si queremos compilarla, los pasos a seguir son los siguientes:

# tar zxvfp mysql.tar.gz

# cd mysql/

# ./configure --prefix=/usr

# make

# make install

# mysql_install_db

# chown -R mysql:mysql /var/lib/mysql

# chown -R mysql:mysql /var/run/mysql

# chmod -R 777 /var/lib/mysql

# chmod -R 777 /var/run/mysql

Ahora ya tenemos instalada la MySQL.... solo tenemos que arrancarla:

# safe_mysqld &

La MySQL tiene que arrancar y quedarse en Bakcground... si vemos el mensaje “mysql
ended” quiere decir que algo estamos haciendo mal.... entonces debemos ir a
/var/lib/mysql y leer el archivo nombre_de_la_maquina.err , donde encontraremos el
error que produce la MySQL al arrancar. Normalmente suele ser cosa de permisos, por lo
que si habeis seguido los pasos indicados anteriormente no deberíais tener ningún
problema.

Una vez arrancada la MySQL, si queremos poder usar ACID como interface web para
visualizar los logs de Snort, debemos dar soporte para PHP en nuestro servidor web.

Primero deberemos compilar PHP, despues deberemos cargar los módulos de PHP en la
configuración de Apache.

Aunque podeis instalar PHP directamente con el sistema de paquetes, vamos a explicar
como compilarlo:

# tar zxvfp php.tar.gz

# cd php/

# ./configure --prefix=/usr --with-apxs=/usr/sbin/apxs --with-mod_charset --enable-force-cgi-redirect
--enable-discard-path --with-config-file-path=/etc/apache --enable-safe-mode --with-openssl
--enable-bcmath --with-bz2 --enable-calendar --enable-ctype --with-gdbm --with-db2 --with-db3
--enable-dbase --enable-ftp --enable-gd-imgstrttf --with-gd=/tmp/gd-1.8.2 --with-jpeg-dir=/tmp/gd-1.8.2
--with-gmp --with-mysql=/usr --with-xml=shared --with-readline=/usr --with-mm=/usr --enable-trans-sid
--enable-shmop --enable-sockets --with-regex=php --enable-sysvsem --enable-sysvshm --enable-yp
--enable-memory-limit --with-tsrm-pthreats --enable-shared --disable-debug --with-zlib=/usr

# make

# make install

Con esto tendremos PHP compilado.

Nota: esta instalación está basada en un sistema Slackware 8.0 , si compilas en un
sistema con otra arquitectura diferente lee el manual oficial de PHP para su compilación.
También es interesante leer el ./configure --help antes de compilar, para saber a que
cosas dar soporte dependiendo de las necesidades de cada uno.

Ahora vamos a dar soporte a Apache para SSL y PHP. Debemos editar el archivo
httpd.conf , en Slackware se encuentra en /etc/apache , y añadirle las siguientes lineas
para cargar los modulos de PHP y SSL:

Include /etc/apache/mod_php.conf

Include /etc/apache/mod_ssl.conf

Tal como menciona Apache en los comentarios de su archivo de configuración,
mod_php necesita las siguientes dependencias:

osslibs

mysql

gmp

apache

Y mod_ssl necesita:

Apache

OpenSSL

Si no las teneis instaladas, debeis hacerlo para que el soporte PHP y SSL funcionen
correctamente en vuestro servidor Apache.

4. Compilar Snort

Aconsejo leer los archivos README e INSTALL que vienen con el paquete, en ellos se
explica detalladamente cualquier tipo de detalle para la compilacion y utilización del
programa. Leed tambien el archivo README.database , pues en él se explica paso a
paso lo que debeis hacer para configurar Snort contra cualquier base de datos (pgSQL,
Oracle, MySQL, etc...).

Aconsejo leer el ./configure --help , en mi caso la compilación ha sido simple. Solamente
para especificar la ubicación de la aplicación y dar soporte a la MySQL:

# tar zxvfp snort.tar.gz

# cd snort

# ./configure --prefix=/usr --with-mysql

# make

# make install

En este punto, si leeis la documentación oficial de Snort, vereis que dice que (si
queremos soporte para MySQL) tenemos que especificar el path hacia donde se
encuentran sus librerias... (./configure --with-mysql=/path/to/libs) pero si lo haceis asi no
creo que os funcione. Probadlo sin especificar ningun path y seguramente compilareis
con exito.

Ahora debeis copiar ciertos archivos de configuración que vienen con el paquete, pero
que la instalación no copia donde deben ir:

# cp snort.conf /etc/

# mkdir /etc/snort-rules

# cp *.rules /etc/snort-rules

El archivo snort.conf os podeis imaginar para que sirve... y lso archivos loquesea.rules
son archivos con especificaciones de reglas de Snort, según las cuales ha de logear los
paquetes que crucen la red, dando un tipo de aviso en cada caso. Quisiera hacer
referencia a la documentación relacionada con las reglas, el Snort Users Manual.

5. Configuración de la MySQL

Para que Snort deje sus logs en la base de datos, primero que crear una nueva base de
datos con sus tablas correspondientes, asi como un usuario que SOLO tenga acceso a esa
base de datos.

En el punto de los pre-requisitos hemos dejado la MySQL recien instalada y funcionando,
es
ahora hay que añadirle usuarios. El usuario con mas permisos es el “root”, aunque
importante entender que los usuarios del sistema no son los mismos usuarios que los
de la MySQL. De modo que desde la cuenta de cualquier usuario del sistema se puede
acceder a cualquier cuenta de mysql.

Si tecleamos para empezar el siguiente comando, entraremos directamente en la MySQL
con permisos de root (administrador):

# mysql -u root

Lo primero que debemos hacer es establecer una contraseña para el acceso del
administrador:

mysql> GRANT ALL PRIVILEGES ON mysql.* TO root@localhost IDENTIFIED BY
’vuestro_password’;

No es objetivo de este documento explicar la sintaxis y estructura de MySQL, de modo
que me remitiré a puntualizar lo necesario para su utilización con Snort y ACID. De este
modo, el siguiente paso es crear una base de datos para Snort:

mysql> CREATE DATABASE snort;

Una vez creada la base de datos de Snort, debemos crear un usuario con todos los
permisos sobre esa base de datos, para no tener que utilizar el usuario “root”, ya que
esto nos supondría un riesgo innecesario. Crearemos un usuario “snort” y le daremos
permisos sobre su base de datos:

mysql> GRANT ALL PRIVILEGES ON snort.* TO snort@localhost IDENTIFIED BY ’password’;

Creada la base de datos y creado el usuario, ya podemos salir de la MySQL y seguir con
la configuración. Las tablas d
  • Links de descarga
http://lwp-l.com/pdf2818

Comentarios de: Configuracion de Snort con interface ACID (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad