Está en la página 1de 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 aplicacio nes. 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 conocid os. 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

También podría gustarte