You are on page 1of 8

Manual de uso e instalación de Snort para Ubuntu

Primero,   hay   que  abrir   una   terminal   presionando   el   botón   de  Aplicaciones  del   panel   superior   del 
sistema operativo, luego seleccionar Accesorios y posteriormente Terminal.
Para   descargar  la  versión  más  conveniente  de   Snort  para   las  versiones  del   software  que  se   tienen 
instaladas   en   el   equipo   así   como   todas   las   dependencias   necesarias   para   que   Snort   funcione 
correctamente, se debe ejecutar con privilegios de administrador la instrucción
apt­get install snort

Inmediatamente se le solicitará la contraseña del administrador para luego analizar qué paquetes se 
necesitan descargar e instalar. Cuando se le pregunte si desea descargar e instalar los paquetes, elija que 
sí.

En seguida iniciará la instalación. Espere hasta que se le pregunte la interfase de red por la que Snort va 
a escuchar, elija la interfase (en este caso eth0) y presione Enter.
Posteriormente, se le solicitará la red y el intervalo de la misma para la cual Snort va a funcionar, 
especificando la dirección IP de la red y la máscara de subred utilizando la diagonal.

Una vez introducidos esos datos, sólo queda esperar para que la instalación de Snort se complete.
Se puede modificar la configuración con la que Snort se instala de forma predeterminada y así poder 
controlar el momento en el que el IDS debe iniciarse, qué redes monitorear, qué tipos de informes se 
pueden   entregar,   a   qué   e­mail   enviar   los   resúmenes,   etc.   Para   entrar   a   este   modo   avanzado   de 
configuración, teclear en la terminal
sudo dpkg­reconfigure snort

Por ejemplo, en las siguientes imágenes se pregunta si se desea que se envíen los resúmenes a un correo 
electrónico específico.

La configuración realizada por este medio se almacena en el archivo /etc/snort/snort.debian.conf
Para comprobar que Snort se instaló adecuadamente se le puede ejecutar en modo sniffer, en el que 
despliega todos los paquetes que llegan a su interfase promiscua de red, es decir, escucha los paquetes 
aún cuando no vayan dirigidos a él. Se debe ejecutar Snort con privilegios de administrador, agregar las 
opciones ­v para que se desplieguen los resultados y ­i para agregar la interfase por la cual escuchar.
sudo snort ­v ­i wlan0
Además se pueden agregar otros argumentos como ­e para que se despliegue la información de la capa 
de Enlace de Datos o ­d para que se deseche la información de la capa de Aplicación.
Para terminar la ejecución hay que presionar
Ctrl + c
Inmediatamente aparecerá un resumen como el que se muestra en la siguiente figura. En él se puede ver 
cuántos paquetes fueron analizados y cuántos de esos paquetes pertenecen a determinado protocolo.

Para poder diferenciar entre un paquete potencialmente dañino a la red y otro producto del inocente 
tráfico de datos, snort utiliza reglas o condiciones especificadas en archivos ubicados en el directorio 
/etc/snort/rules/.
Las reglas pueden identificar el tráfico por puerto, protocolo, contenido o dominio, y al romper alguna 
regla, snort genera una alarma.
Todos los archivos de reglas son incluidos en el archivo general  /etc/snort/snort.conf, en el que se 
encuentran definiciones y variables comunes para todos los demás archivos.
Para no utilizar las reglas que vienen predefinidas en snort y tener más control sobre las mismas, 
crearemos un archivo (naranjo.rules) con nuestras propias reglas con el siguiente comando
sudo gedit /etc/snort/rules/naranjo.rules

Después de que se abra el editor de texto gedit, agregamos el siguiente texto, guardamos y cerramos el 
archivo.
alert tcp any any ­> any any (msg:"Alguien entró a Youtube...";content:"youtube";sid:2021000;rev:1;)
alert tcp any any ­> any any (msg:"Alguien entró a GOOGLE...";content:"google";sid:2021001;rev:1;)

Con esas reglas decimos que se genere una alarma y se despliegue un texto siempre que cualquier host 
con cualquier puerto se comunique a cualquier puerto de cualquier otro host y dentro de la información 
se encuentren las palabras “google” o “youtube”.
El campo rev indica que es la primera revisión de ambas reglas, mientras que el campo sid (snort id) 
debe ser único para cada regla.
Posteriormente, hay que agregar una referencia al archivo snort.conf del archivo que se acaba de crear. 
Para abrir el archivo snort.conf hay que teclear en la terminal el comando
sudo gedit /etc/snort/snort.conf

Se abrirá el archivo en el editor de texto gedit. Dirigirse casi al final del archivo, donde se agregan los 
demás archivos y agregar el siguiente texto en una nueva línea, tal como lo muestra la imagen.
include $RULE_PATH/naranjo.rules
Finalmente guardar y cerrar el archivo.
Para probar las reglas que acabamos de crear, introduzca el comando
sudo snort ­A console ­c /etc/snort/rules/naranjo.rules ­i wlan0

El argumento  ­A console  es para que se identifiquen únicamente las alertas y se desplieguen en la 


consola. ­c es para aplicar sólo las reglas contenidas en el archivo (en este caso naranjo.rules).
El siguiente screenshot muestra a otra computadora, diferente del servidor, accesando a youtube.
En las siguientes dos imágenes se ven las salidas de Snort, los mensajes que se despliegan cuando 
alguien accesa a google o youyube y el resumen al final del proceso, indicando que en total hubieron 28 
alertas.
En este ejemplo utilizamos un archivo con reglas que creamos nosotros mismos, pero se pueden utilizar 
los demás archivos para detectar ataques de virus, tormentas de ping, escaneo de puertos, sesiones 
telnet, etc.