Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Instalacion Configuracion Snort PDF
Instalacion Configuracion Snort PDF
Profesor:
Jean Polo Cequeda Olago
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 intrusión a toda actividad no autorizada o no que no
debería ocurrir en ese sistema. Según esta definición, muchos podrían pensar que ese
trabajo ya se realiza mediante los cortafuegos o firewalls.
Definición
Un sistema de detección de intrusos (o IDS de sus siglas en inglés 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 automáticas.
El IDS suele tener sensores virtuales (por ejemplo, un sniffer de red) con los que el núcleo
del IDS puede obtener datos externos (generalmente sobre el tráfico de red). El IDS detecta,
gracias a dichos sensores, anomalías que pueden ser indicio de la presencia de ataques o
falsas alarmas.
Algunas de las características deseables para un IDS son:
• Deben estar continuamente en ejecución con un mínimo de supervisión.
• Se deben recuperar de las posibles caídas o problemas con la red.
• Debe poderse analizar él mismo y detectar si ha sido modificado por un atacante.
• Debe utilizar los mínimos recursos posibles.
• Debe estar configurado acorde con la política de seguridad seguida por la
organización.
• Debe de adaptarse a los cambios de sistemas y usuarios y ser fácilmente actualizable.
Funcionamiento
Tipos de IDS
Existen varios tipos de IDS, clasificados según el tipo de situación física, del tipo de
detección que posee o de su naturaleza y reacción cuando detecta un posible ataque.
Los NIDS analizan el tráfico 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 diseñados 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 algún fallo en este programa. Los NIDS tienen dos componentes:
Un sensor: situado en un segmento de la red, la monitoriza en busca de tráfico sospechoso
Una Consola: recibe las alarmas del sensor o sensores y dependiendo de la configuración
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 producción.
Fácil instalación y actualización por que se ejecutan en un sistema dedicado.
Como principales desventajas se encuentran:
Examinan el tráfico de la red en el segmento en el cual se conecta, pero no puede detectar
un ataque en diferentes segmentos de la red. La solución más sencilla es colocar diversos
sensores.
Pueden generar tráfico en la red.
Ataques con sesiones encriptadas son difíciles de detectar.
En cambio, los HIDS analizan el tráfico 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 críticos. Las ventajas que
aporta el HIDS son:
Herramienta potente, registra comandos utilizados, ficheros abiertos,...
Tiende a tener menor número 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 instalación en la máquina 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 máquina en sí.
Los dos tipos de detecciones que pueden realizar los IDS son:
• Detección del mal uso.
• Detección del uso anómalo.
La detección del mal uso involucra la verificación sobre tipos ilegales de tráfico de red, por
ejemplo, combinaciones dentro de un paquete que no se podrían dar legítimamente. Este
tipo de detección puede incluir los intentos de un usuario por ejecutar programas sin permiso
(por ejemplo, “sniffers”). Los modelos de detección basado en el mal uso se implementan
observando como se pueden explotar los puntos débiles de los sistemas, describiéndolos
mediante unos patrones o una secuencia de eventos o datos (“firma”) que serán
interpretados por el IDS.
Un tercer y último tipo básico de clasificación sería respecto a la reacción del IDS frente a un
posible ataque:
Pasivos.
Reactivos.
Los IDS pasivos detectan una posible violación de la seguridad, registran la información y
genera una alerta.
Los IDS reactivos están diseñados para responder ante una actividad ilegal, por ejemplo,
sacando al usuario del sistema o mediante la reprogramación del cortafuegos para impedir el
tráfico 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 colisión). Es un software muy flexible que ofrece capacidades de
almacenamiento de sus bitácoras tanto en archivos de texto como en bases de datos
abiertas como lo es MySQL. Implementa un motor de detección de ataques y barrido de
puertos que permite registrar, alertar y responder ante cualquier anomalía 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 creación de reglas flexible, potente y sencillo. Durante
su instalación 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 tráfico), registro de paquetes (permite guardar en un archivo los
logs para su posterior análisis, un análisis offline) o como un IDS normal (en este caso
NIDS). Cuando un paquete coincide con algún patrón establecido en las reglas de
configuración, se logea. Así se sabe cuándo, de dónde y cómo se produjo el ataque.
Aún cuando tcpdump es considerada una herramienta de auditoría muy útil, no se considera
un verdadero IDS puesto que no analiza ni señala paquetes por anomalías. tcpdump imprime
toda la información de paquetes a la salida en pantalla o a un archivo de registro sin ningún
tipo de análisis. 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 estándar 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 través de los distintos boletines de seguridad.
La característica más apreciada de Snort, además 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 añadir o actualizar a través de la Internet.
Los usuarios pueden crear 'firmas' basadas en las características 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 más populares, actualizados y robustos.
3. ¿CÓMO FUNCIONA SNORT?
• 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 análisis.
• Modo IDS, en el que se motoriza por pantalla o en un sistema basado en log, toda la
actividad de la red a través de un fichero de configuración 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 número patrones para protegerse, pero
paradójicamente 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, también es necesario estudiar los patrones de tráfico 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 información de forma minuciosa y continuada.
Funcionamiento del motor de Snort
Los preprocesadores son componentes o plugins que pueden ser usados con Snort para
arreglar, rearmar o modificar datos, antes que el motor de detección haga alguna operación
para encontrar si el paquete esta siendo enviado por un intruso. Algunos preprocesadores
realizan detección buscando anomalías 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 detección.
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. INSTALACIÓN Y CONFIGURACIÓN DEL IDS SNORT
La instalación se realizó una distribución Linux (Ubuntu 12.04 propiamente dicho) por medio
de la terminal de línea de comandos.
Se siguieron los siguientes pasos:
1. Abrir una terminal
2. Escribir el comando de instalación de paquete
sudo apt-get install snort
En este paso pide la dirección de red local (la cual va a ser la que se estará
monitoreando). En este punto puede haber 3 opciones de configuración:
Si es una única dirección se colocará con máscara de sub red /32
Si es un bloque de 256 IPs se utilizará la máscara /24
Si es una red más amplia se utilizará la máscara /16
Lo cual hará que se pidan las configuraciones, que serán guardadas en el archivo
/etc/snort/snort.debian.conf
5. Preguntará que opción de arranque se desea configurar:
8. Ahora se deberá escribir la dirección de red que se desea escanear (paso similar al
realizado durante la instalación, paso 3).
9. Opción 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 conexión propia.
10.
11. Recibir resúmenes electrónicos por correo de las alertas encontradas.
12. Se especifica el correo electrónico en que se desea recibir los resúmenes 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 configuración, se ejecuta el comando mostrado en
la anterior instrucción
PROCESO PARA LA INSERCIÓN DE UNA NUEVA REGLA
En este ejemplo se está creando el archivo sites.rules el cual contendrá reglas sobre:
El usuario ingresa a la página de google
El usuario ingresa a la página de facebook
Se está realizando un ping sobre la máquina 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 configuración de snort. El cual se
encuentra en la ruta mostrada en la siguiente imagen.
En este ejemplo se pueden notar tanto la regla de Facebook como la regla de Ping en
funcionamiento.
Ejecución 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 configuración a utilizar y la interface a
escanear.