Sei sulla pagina 1di 27

INSTALACIN, CONFIGURACIN Y FUNCIONAMIENTO

DEL IDS SNORT

DANIEL SEBASTIAN TORRES VARGAS


Cdigo: 1150214

Trabajo presentado como parte del segundo previo

Profesor:
Jean Polo Cequeda Olago

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER


FACULTAD DE INGENIERIAS
INGENIERIA DE SISTEMAS
SAN JOS DE CCUTA
2012

INTRODUCCIN

El presente documento trata acerca de un Sistema de Deteccin de Intrusos (IDS, siglas en


Ingls) llamado Snort desarrollado por SourceFire. Para llegar a hablar de dicho sistema se
definir lo que es un IDS primeramente. A continuacin, se hablar de lo que es Snort, como
funciona y todos los aspectos bsicos del mismo.

Como requerimiento de la entrega de ste informe, se explicar detalladamente el proceso


de instalacin y configuracin de Snort, al mismo tiempo que se ilustrarn ejemplos de
algunos de los comandos que ste sistema IDS tiene como funcionalidades.

1. QU ES UN IDS?

Cortafuegos vs IDS

Un IDS es un sistema que intenta detectar y alertar sobre las intrusiones intentadas en un
sistema o en una red, considerando intrusin a toda actividad no autorizada o no que no
debera ocurrir en ese sistema. Segn esta definicin, muchos podran pensar que ese
trabajo ya se realiza mediante los cortafuegos o firewalls.

La principal diferencia, es que un cortafuegos es una herramienta basada en la aplicacin de


un sistema de restricciones y excepciones sujeta a muchos tipos de ataques, desde los
ataques tunneling(saltos de barrera) a los ataques basados en las aplicaciones. Los
cortafuegos filtran los paquetes y permiten su paso o los bloquean por medio de una tabla de
decisiones basadas en el protocolo de red utilizado. Las reglas verifican contra una base de
datos que determina si est permitido un protocolo determinado y permite o no el paso del
paquete basndose en atributos tales como las direcciones de origen y de destino, el nmero
de puerto, etc... Esto se convierte en un problema cuando un atacante enmascara el trfico
que debera ser analizado por el cortafuegos o utiliza un programa para comunicarse
directamente con una aplicacin remota. Estos aspectos se escapan a las funcionalidades
previstas en el diseo inicial de los cortafuegos. Es aqu dnde entran los IDS, ya que estos
son capaces de detectar cuando ocurren estos fallos.

Definicin
Un sistema de deteccin de intrusos (o IDS de sus siglas en ingls Intrusion Detection
System) es un programa usado para detectar accesos no autorizados a un computador o a
una red. Estos accesos pueden ser ataques de habilidosos hackers, o de Script Kiddies que
usan herramientas automticas.
El IDS suele tener sensores virtuales (por ejemplo, un sniffer de red) con los que el ncleo
del IDS puede obtener datos externos (generalmente sobre el trfico de red). El IDS detecta,
gracias a dichos sensores, anomalas que pueden ser indicio de la presencia de ataques o
falsas alarmas.
Algunas de las caractersticas deseables para un IDS son:

Deben estar continuamente en ejecucin con un mnimo de supervisin.

Se deben recuperar de las posibles cadas o problemas con la red.

Debe poderse analizar l mismo y detectar si ha sido modificado por un atacante.

Debe utilizar los mnimos recursos posibles.

Debe estar configurado acorde con la poltica de seguridad seguida por la

organizacin.

Debe de adaptarse a los cambios de sistemas y usuarios y ser fcilmente actualizable.

Funcionamiento

El funcionamiento de estas herramientas se basa en el anlisis pormenorizado del trfico de


red, el cual al entrar al analizador es comparado con firmas de ataques conocidos, o
comportamientos sospechosos, como puede ser el escaneo de puertos, paquetes
malformados, etc. El IDS no slo analiza qu tipo de trfico es, sino que tambin revisa el
contenido y su comportamiento.
Normalmente esta herramienta se integra con un firewall. El detector de intrusos es incapaz
de detener los ataques por s solo, excepto los que trabajan conjuntamente en un dispositivo
de puerta de enlace con funcionalidad de firewall, convirtindose en una herramienta muy
poderosa ya que se une la inteligencia del IDS y el poder de bloqueo del firewall, al ser el
punto donde forzosamente deben pasar los paquetes y pueden ser bloqueados antes de
penetrar en la red.
Los IDS suelen disponer de una base de datos de firmas de ataques conocidos.
Dichas firmas permiten al IDS distinguir entre el uso normal del PC y el uso fraudulento, y/o
entre el trfico normal de la red y el trfico que puede ser resultado de un ataque o intento
del mismo.
Tipos de IDS

Existen varios tipos de IDS, clasificados segn el tipo de situacin fsica, del tipo de
deteccin que posee o de su naturaleza y reaccin cuando detecta un posible ataque.

Clasificacin por situacin

Segn la funcin del software IDS, estos pueden ser:

NIDS (Network Intrusion Detection System)

HIDS (Host Intrusion Detection System)

Los NIDS analizan el trfico de la red completa, examinando los paquetes individualmente,
comprendiendo todas las diferentes opciones que pueden coexistir dentro de un paquete de
red y detectando paquetes armados maliciosamente y diseados para no ser detectados por
los cortafuegos. Pueden buscar cual es el programa en particular del servidor de web al que
se est accediendo y con que opciones y producir alertas cuando un atacante intenta
explotar algn fallo en este programa. Los NIDS tienen dos componentes:
Un sensor: situado en un segmento de la red, la monitoriza en busca de trfico sospechoso
Una Consola: recibe las alarmas del sensor o sensores y dependiendo de la configuracin
reacciona a las alarmas recibidas.
Las principales ventajas del NIDS son:
Detectan accesos no deseados a la red.
No necesitan instalar software adicional en los servidores en produccin.
Fcil instalacin y actualizacin por que se ejecutan en un sistema dedicado.
Como principales desventajas se encuentran:
Examinan el trfico de la red en el segmento en el cual se conecta, pero no puede detectar
un ataque en diferentes segmentos de la red. La solucin ms sencilla es colocar diversos
sensores.
Pueden generar trfico en la red.
Ataques con sesiones encriptadas son difciles de detectar.

En cambio, los HIDS analizan el trfico sobre un servidor o un PC, se preocupan de lo que
est sucediendo en cada host y son capaces de detectar situaciones como los intentos
fallidos de acceso o modificaciones en archivos considerados crticos. Las ventajas que
aporta el HIDS son:
Herramienta potente, registra comandos utilizados, ficheros abiertos,...
Tiende a tener menor nmero de falsos-positivos que los NIDS, entendiendo falsos-positivos
a los paquetes etiquetados como posibles ataques cuando no lo son.
Menor riesgo en las respuestas activas que los IDS de red.
Los inconvenientes son:
Requiere instalacin en la mquina local que se quiere proteger, lo que supone una carga

adicional para el sistema.


Tienden a confiar en las capacidades de auditoria y logging de la mquina en s.

Clasificacin segn los modelos de detecciones

Los dos tipos de detecciones que pueden realizar los IDS son:

Deteccin del mal uso.

Deteccin del uso anmalo.

La deteccin del mal uso involucra la verificacin sobre tipos ilegales de trfico de red, por
ejemplo, combinaciones dentro de un paquete que no se podran dar legtimamente. Este
tipo de deteccin puede incluir los intentos de un usuario por ejecutar programas sin permiso
(por ejemplo, sniffers). Los modelos de deteccin basado en el mal uso se implementan
observando como se pueden explotar los puntos dbiles de los sistemas, describindolos
mediante unos patrones o una secuencia de eventos o datos (firma) que sern
interpretados por el IDS.

La deteccin de actividades anmalas se apoya en estadsticas tras comprender cual es el


trfico normal en la red del que no lo es. Un claro ejemplo de actividad anmala sera la
deteccin de trfico fuera de horario de oficina o el acceso repetitivo desde una mquina
remota (rastreo de puertos). Este modelo de deteccin se realiza detectando cambios en los
patrones de utilizacin o comportamiento del sistema. Esto se consigue realizando un
modelo estadstico que contenga una mtrica definida y compararlo con los datos reales
analizados en busca de desviaciones estadsticas significantes.

Clasificacin segn su naturaleza

Un tercer y ltimo tipo bsico de clasificacin sera respecto a la reaccin del IDS frente a un
posible ataque:
Pasivos.
Reactivos.

Los IDS pasivos detectan una posible violacin de la seguridad, registran la informacin y
genera una alerta.

Los IDS reactivos estn diseados para responder ante una actividad ilegal, por ejemplo,
sacando al usuario del sistema o mediante la reprogramacin del cortafuegos para impedir el
trfico desde una fuente hostil.

2. QU ES SNORT?

Snort es un sniffer de paquetes y un detector de intrusos basado en red (se monitoriza todo
un dominio de colisin). Es un software muy flexible que ofrece capacidades de
almacenamiento de sus bitcoras tanto en archivos de texto como en bases de datos
abiertas como lo es MySQL. Implementa un motor de deteccin de ataques y barrido de
puertos que permite registrar, alertar y responder ante cualquier anomala previamente
definida. As mismo existen herramientas de terceros para mostrar informes en tiempo real
(ACID) o para convertirlo en un Sistema Detector y Preventor de Intrusos.
Este IDS implementa un lenguaje de creacin de reglas flexible, potente y sencillo. Durante
su instalacin ya nos provee de cientos de filtros o reglas para backdoor, DDoS, finger, FTP,
ataques web, CGI, Nmap...
Puede funcionar como sniffer (podemos ver en consola y en tiempo real qu ocurre en
nuestra red, todo nuestro trfico), registro de paquetes (permite guardar en un archivo los
logs para su posterior anlisis, un anlisis offline) o como un IDS normal (en este caso
NIDS). Cuando un paquete coincide con algn patrn establecido en las reglas de
configuracin, se logea. As se sabe cundo, de dnde y cmo se produjo el ataque.
An cuando tcpdump es considerada una herramienta de auditora muy til, no se considera
un verdadero IDS puesto que no analiza ni seala paquetes por anomalas. tcpdump imprime
toda la informacin de paquetes a la salida en pantalla o a un archivo de registro sin ningn
tipo de anlisis. Un verdadero IDS analiza los paquetes, marca las transmisiones que sean
potencialmente maliciosas y las almacena en un registro formateado, as, Snort utiliza la
biblioteca estndar libcap y tcpdump como registro de paquetes en el fondo.
Snort est disponible bajo licencia GPL, gratuito y funciona bajo plataformas Windows y
UNIX/Linux. Dispone de una gran cantidad de filtros o patrones ya predefinidos, as como
actualizaciones constantes ante casos de ataques, barridos o vulnerabilidades que vayan
siendo detectadas a travs de los distintos boletines de seguridad.

La caracterstica ms apreciada de Snort, adems de su funcionalidad, es su subsistema


flexible de firmas de ataques. Snort tiene una base de datos de ataques que se est
actualizando constantemente y a la cual se puede aadir o actualizar a travs de la Internet.
Los usuarios pueden crear 'firmas' basadas en las caractersticas de los nuevos ataques de
red y enviarlas a la lista de correo de firmas de Snort, para que as todos los usuarios de
Snort se puedan beneficiar. Esta tica de comunidad y compartir ha convertido a Snort en
uno de los IDSes basados en red ms populares, actualizados y robustos.

3. CMO FUNCIONA SNORT?

En la versin de Windows, es necesario instalar WinPcap. Este software consiste en un


driver que extiende el sistema operativo para permitir un acceso de bajo nivel a la red y una
librera que facilita a las aplicaciones acceder a la capa de enlace saltndose la pila de
protocolos.

Snort puede funcionar en:

Modo sniffer, en el que se motoriza por pantalla en tiempo real toda la actividad en la

red en que Snort es configurado.

Modo packet logger (registro de paquetes), en el que se almacena en un sistema de

log toda la actividad de la red en que se ha configurado Snort para un posterior anlisis.

Modo IDS, en el que se motoriza por pantalla o en un sistema basado en log, toda la

actividad de la red a travs de un fichero de configuracin en el que se especifican las reglas


y patrones a filtrar para estudiar los posibles ataques.
Una vez hemos instalado correctamente el programa y lo ponemos en funcionamiento,
debemos introducir en la base de patrones de ataques los que queremos utilizar para
detectar actividades sospechosas contra nuestra red.

Intuitivamente, el usuario tiende a utilizar un elevado nmero patrones para protegerse, pero
paradjicamente esto puede perjudicar la seguridad, ya que no todos los ataques que Snort
es capaz de detectar son tiles (para el atacante) en el segmento de red que monitorizamos
y en cambio corremos el riesgo de sobrecargar la herramienta, que dejar pasar todos los
paquetes que no pueda analizar.

Para utilizarlo correctamente, tambin es necesario estudiar los patrones de trfico que
circulan por el segmento donde el sensor escucha para detectar falsos positivos y, o bien
reconfigurar la base de datos, o bien eliminar los patrones que los generan.

En definitiva, pese a todas las facilidades y automatizaciones y como casi todas las
herramientas de seguridad, es un apoyo que no puede sustituir la tarea del responsable de
seguridad que es quien debe analizar toda la informacin de forma minuciosa y continuada.

Funcionamiento del motor de Snort

El motor de Snort se divide en los siguientes componentes:

Decodificador del paquete.

Preprocesadores.

Motor de deteccin (Comparacin contra firmas).

Loggin y sistema de alerta.

Plugins de salida.

El decodificador de paquete, toma los paquetes de diferentes tipos de interfaces de

red, y prepara el paquete para ser preprocesado o enviado al motor de deteccin.

Los preprocesadores son componentes o plugins que pueden ser usados con Snort para
arreglar, rearmar o modificar datos, antes que el motor de deteccin haga alguna operacin
para encontrar si el paquete esta siendo enviado por un intruso. Algunos preprocesadores
realizan deteccin buscando anomalas en las cabeceras de los paquetes y generando
alertas. Son muy importantes porque preparan los datos para ser analizados contra reglas en
el motor de deteccin.

El motor de deteccin es la responsable de detectar si alguna actividad de intrusin existe en


un paquete. El motor utiliza las reglas que han sido definidas para este propsito. Las reglas
(o cadenas) son macheadas contra todos los paquetes. Si un paquete machea una regla, la
accin configurada en la misma es ejecutada.

Dependiendo que detecte el motor dentro de un paquete, el logging y sistema de alerta, se


encarga de loguear o generar una alerta. Los logs son almacenados en archivos de texto,
archivos con formato tcpdump u otro formato.

Los plugins de salida toman la salida del sistema de alerta y permiten almacenarlas en
distintos formatos o reaccionar antes el mismo. Por ejemplo: enviar emails, traps SNMP,
syslog, insertar en una base de datos, etc. Plugins de salida:

Bases de datos (MySql, Postgres, etc)

Syslog

XML

Traps SNMP

Mensajes SMB

4. COMANDOS DE SNORT

Los siguientes son los comandos que se pueden utilizar en Snort para obtener las diferentes
funcionalidades:

-A Set alert mode: fast, full, console, or none //(alert file alerts only)//

-b Log packets in tcpdump format //(much faster!)//

-c <rules> Use Rules File <rules>

-C Print out payloads with character data only //(no hex)//

-d Dump the Application Layer

-e Display the second layer header info

-E Log alert messages to NT Eventlog. //(Win32 only)//

-f Turn off fflush() calls after binary log writes

-F <bpf> Read BPF filters from file <bpf>

-h <hn> Home network = <hn>

-i <if> Listen on interface <if>

-I Add Interface name to alert output

-k <mode> Checksum mode //(all,noip,notcp,noudp,noicmp,none)//

-l <ld> Log to directory <ld>

-L <file> Log to this tcpdump file

-n <cnt> Exit after receiving <cnt> packets

-N Turn off logging (alerts still work)

-o Change the rule testing order to Pass|Alert|Log

-O Obfuscate the logged IP addresses

-p Disable promiscuous mode sniffing

-P <snap> Set explicit snaplen of packet //(default: 1514)//

-q Quiet. Don't show banner and status report

-r <tf> Read and process tcpdump file <tf>

-R <id> Include 'id' in snort_intf<id>.pid file name

-s Log alert messages to syslog

-S <n=v> Set rules file variable n equal to value v

-T Test and report on the current Snort configuration

-U Use UTC for timestamps

-v Be verbose

-V Show version number

-W Lists available interfaces. //(Win32 only)//

-w Dump 802.11 management and control frames

-X Dump the raw packet data starting at the link layer

-y Include year in timestamp in the alert and log files

-z Set assurance mode, match on established sesions //(for TCP)//

-? Show this information

4. INSTALACIN Y CONFIGURACIN DEL IDS SNORT

La instalacin se realiz una distribucin Linux (Ubuntu 12.04 propiamente dicho) por medio
de la terminal de lnea de comandos.
Se siguieron los siguientes pasos:
1. Abrir una terminal
2. Escribir el comando de instalacin de paquete
sudo apt-get install snort

Dando permisos de superusuario para poder realizar la instalacin (debido al sistema


de permisos utilizado por las distribuciones de Linux), escribiendo la contrasea en la
siguiente lnea.
En seguida se iniciar la instalacin.

3. A continuacin pedir la siguiente opcin de configuracin

En este paso pide la direccin de red local (la cual va a ser la que se estar
monitoreando). En este punto puede haber 3 opciones de configuracin:

Si es una nica direccin se colocar con mscara de sub red /32

Si es un bloque de 256 IPs se utilizar la mscara /24

Si es una red ms amplia se utilizar la mscara /16

4. Una vez finalizado el proceso de instalacin se puede realizar la configuracin


completa por medio del comando.

Lo cual har que se pidan las configuraciones, que sern guardadas en el archivo
/etc/snort/snort.debian.conf

5. Preguntar que opcin de arranque se desea configurar:

Se ve explicado claramente qu es cada tipo de arranque. En este caso se escoger


la configuracin del arranque manual.
6. Siguiente viene una ventana de explicacin de lo que ser el prximo requisito a pedir,
la interface de red que se escanear.

Se explica que se puede utilizar el siguiente comando para encontrar la interface

Con lo cual se nota que la interface necesaria en la wlan0 (ya que la conexin se est
realizando de manera inalmbrica).

7. En la siguiente opcin se escribe la interface obtenida en la anterior instruccin

8. Ahora se deber escribir la direccin de red que se desea escanear (paso similar al
realizado durante la instalacin, paso 3).

9. Opcin de habilitar o deshabilitar el Modo promiscuo

Modo Promiscuo significa que se analizar todos los paquetes que pasen por el
segmento aunque no sean de una conexin propia.
10.

11. Recibir resmenes electrnicos por correo de las alertas encontradas.

12. Se especifica el correo electrnico en que se desea recibir los resmenes diarios.

13. Ahora se pregunta la cantidad de informes que se incluyen por alerta

14. Finalmente la solicitud del comando al finalizar para recargar las configuraciones
hechas.

15. Una vez finalizado el asistente de configuracin, se ejecuta el comando mostrado en


la anterior instruccin

PROCESO PARA LA INSERCIN DE UNA NUEVA REGLA


1. Crear un nuevo archivo .rules en la carpeta /etc/snort/rules/

En este ejemplo se est creando el archivo sites.rules el cual contendr reglas sobre:
El usuario ingresa a la pgina de google
El usuario ingresa a la pgina de facebook
Se est realizando un ping sobre la mquina host.
2. El anterior comando abrir un nuevo archivo del programa gedit con el nombre dado.

Como se dijo en el anterior paso se est realizando las 3 reglas. Se guarda y se cierra
el archivo.

3. De vuelta en la terminal se abrir ahora el archivo de configuracin de snort. El cual se


encuentra en la ruta mostrada en la siguiente imagen.

4. Al ejecutar el comando se abrir nuevamente gedit con el archivo de configuracin de


snort.

De esta manera se ingresa la regla recientemente creada en el archivo de


configuracin y ya est cargada para ser revisada.

5. Ejemplo de las reglas anteriormente creadas en funcionamiento:

En este ejemplo se pueden notar tanto la regla de Facebook como la regla de Ping en
funcionamiento.

Ejecucin de snort
1. Nos dirigimos hacia el directorio de snort

2. Ejecutamos snort

En ste caso estamos utilizando los comandos A, -c y i con lo cuales estamos


estableciendo las salidas, el archivo de configuracin a utilizar y la interface a
escanear.
3. Inicia el proceso de snort

4. Nuevamente se muestra la aplicacin mostrando las reglas establecidas anteriormente

Potrebbero piacerti anche