Sistemas de Detección de intrusos y Snort.
Un IDS es una herramienta de seguridad que intenta detectar o monitorizar los eventos ocurridos en un determinado sistema informático en busca de intentos de comprometer la seguridad de dicho sistema.
Breve introducción a los sistemas IDS y Snort
- Un IDS o Sistema de Detección de Intrusiones es una herramienta de seguridad que intenta detectar o monitorizar los eventos ocurridos en un determinado sistema informático o red informática en busca de intentos de comprometer la seguridad de dicho sistema.
- Los IDS buscan patrones previamente definidos que impliquen cualquier tipo de actividad sospechosa o maliciosa sobre nuestra red o host.
- Los IDS aportan a nuestra seguridad una capacidad de prevención y de alerta anticipada ante cualquier actividad sospechosa. No están diseñados para detener un ataque, aunque sí pueden generar ciertos tipos de respuesta ante éstos.
- Los IDS: aumentan la seguridad de nuestro sistema, vigilan el tráfico de nuestra red, examinan los paquetes analizándolos en busca de datos sospechosos y detectan las primeras fases de cualquier ataque como pueden ser el análisis de nuestra red, barrido de puertos, etc.
Tipos de IDS
1. HIDS (Host IDS)
Protege contra un único Servidor, PC o host. Monitorizan gran cantidad de eventos, analizando actividades con una gran precisión, determinando de esta manera qué procesos y usuarios se involucran en una determinada acción. Recaban información del sistema como ficheros, logs, recursos, etc, para su posterior análisis en busca de posibles incidencias.
Todo ello en modo local, dentro del propio sistema. Fueron los primeros IDS en desarrollar por la industria de la seguridad informática.
2. NIDS (Net IDS)
Protege un sistema basado en red. Actúan sobre una red capturando y analizando paquetes de red, es decir, son sniffers del tráfico de red. Luego analizan los paquetes capturados, buscando patrones que supongan algún tipo de ataque.
Bien ubicados, pueden analizar grandes redes y su impacto en el tráfico suele ser pequeño. Actúan mediante la utilización de un dispositivo de red configurado en modo promiscuo (analizan, “ven” todos los paquetes que circulan por un segmento de red aunque estos nos vayan dirigidos a un determinado equipo). Analizan el trafico de red, normalmente, en tiempo real. No sólo trabajan a nivel TCP/IP, también lo pueden hacer a nivel de aplicación.
Otros tipos son los híbridos.
Por el tipo de respuesta podemos clasificarlos en:
Pasivos: Son aquellos IDS que notifican a la autoridad competente o administrador de la red mediante el sistema que sea, alerta, etc. Pero no actúa sobre el ataque o atacante.
Activos: Generan algún tipo de respuesta sobre el sistema atacante o fuente de ataque como cerrar la conexión o enviar algún tipo de respuesta predefinida en nuestra configuración.
Snort puede funcionar de las dos maneras.
Arquitectura de un IDS
Normalmente la arquitectura de un IDS, a grandes rasgos, está formada:
- La fuente de recogida de datos. Estas fuentes pueden ser un log, dispositivo de red, o como en el caso de los IDS basados en host, el propio sistema.
- Reglas que contienen los datos y patrones para detectar anomalías de seguridad en el sistema.
- Filtros que comparan los datos snifados de la red o de logs con los patrones almacenados en las reglas.
- Detectores de eventos anormales en el tráfico de red.
- Dispositivo generador de informes y alarmas. En algunos casos con la sofisticación suficiente como para enviar alertas vía mail, o SMS.
Esto es a modo general. Cada IDS implementa la arquitectura de manera diferente.
Dónde colocar el IDS
Una actitud paranoica por nuestra parte nos podría llevar a instalar un IDS en cada host ó en cada tramo de red. Esto último sería un tanto lógico cuando se trata de grandes redes, no es nuestro caso ahora. Lo lógico sería instalar el IDS en un dispositivo por donde pase todo el tráfico de red que nos interese.
Dificultades
Un problema de los IDS es cuando queremos implementarlos en redes conmutadas ya que no hay segmento de red por donde pase todo el tráfico. Otro problema para un IDS son las redes con velocidades de tráfico muy altas en las cuales es difícil procesar todos los paquetes.
Posición del IDS
Si colocamos el IDS antes del cortafuegos capturaremos todo el tráfico de entrada y salida de nuestra red. La posibilidad de falsas alarmas es grande.
La colocación detrás del cortafuegos monitorizará todo el tráfico que no sea detectado y parado por el firewall o cortafuegos, por lo que será considerado como malicioso en un alto porcentaje de los casos. La posibilidad de falsas alarmas muy inferior.
Algunos administradores de sistemas colocan dos IDS, uno delante y otro detrás del cortafuegos para obtener información exacta de los tipos de ataques que recibe nuestra red ya que si el cortafuegos está bien configurado puede parar o filtras muchos ataques.
En ambientes domésticos, que es el propósito de este taller sobre IDS y Snort, podemos colocar el IDS en la misma máquina que el cortafuegos. En este caso actúan en paralelo, es decir, el firewall detecta los paquetes y el IDS los analizaría.
Introducción a Snort
Snort es un IDS o Sistema de detección de intrusiones basado en red (NIDS). Implementa un motor de detección de ataques y barrido de puertos que permite registrar, alertar y responder ante cualquier anomalía previamente definida como patrones que corresponden a ataques, barridos, intentos aprovechar alguna vulnerabilidad, análisis de protocolos, etc conocidos. Todo esto en tiempo real.
Snort (http://www.snort.org/) está disponible bajo licencia GPL, gratuito y funciona bajo plataformas Windows y UNIX/Linux. Es uno de los más usados y 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.
Este IDS implementa un lenguaje de creación de reglas flexibles, potente y sencillo. Durante su instalación ya nos provee de cientos de filtros o reglas para backdoor, ddos, finger, ftp, ataques web, CGI, escaneos 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).
En este taller daremos una importancia mayor a su funcionamiento como NIDS y, sobre todo, a la creación personalizada de reglas e interpretación de las alertas.
La colocación de Snort en nuestra red puede realizarse según el tráfico quieren vigilar: paquetes que entran, paquetes salientes, dentro del firewall, fuera del firewall… y en realidad prácticamente donde queramos.
Una característica muy importante e implementada desde hace pocas versiones es FlexResp. Permite, dada una conexión que emita tráfico malicioso, darla de baja, hacerle un DROP mediante el envío de un paquete con el flag RST activa, con lo cual cumpliría funciones de firewall, cortando las conexiones que cumplan ciertas reglas predefinidas. No sólo corta la conexiones ya que puede realizar otras muchas acciones. Veremos más adelante su funcionamiento y ejemplos.
NOTA: Todos los ejemplos, mientras no se indique lo contrario, serán válidos para win32 y Linux/UNIX.
C:\Snort20\bin>snort -*> Snort! <*- Version 2.0.0-ODBC-MySQL-FlexRESP-WIN32 (Build 72) By Martin Roesch ([email protected], www.snort.org) 1.7-WIN32 Port By Michael Davis ([email protected], www.datanerds.net/~mike) 1.8 - 2.0 WIN32 Port By Chris Reid ([email protected]) USAGE: snort [-options] <filter options> snort /SERVICE /INSTALL [-options] <filter options> snort /SERVICE /UNINSTALL snort /SERVICE /SHOW Options: -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 <Filter Options> are standard BPF options, as seen in TCPDump Uh, you need to tell me to do something... : No such file or directory
Snort en modo Sniffer y registro de paquetes
El formato genérico para este modo es: snort [-opciones] < filtro >
C:\Snort20\bin>snort -v Running in packet dump mode Log directory = log Initializing Network Interface \Device\NPF_{604C8AE3-5FAC-45A5-BFAA-81175A8C32BF} --== Initializing Snort ==-- Initializing Output Plugins! Decoding Ethernet on interface \Device\NPF_{604C8AE3-5FAC-45A5-BFAA-81175A8C32BF} --== Initialization Complete ==-- -*> Snort! <*- Version 2.0.0-ODBC-MySQL-FlexRESP-WIN32 (Build 72) By Martin Roesch ([email protected], www.snort.org) 1.7-WIN32 Port By Michael Davis ([email protected], www.datanerds.net/~mike) 1.8 - 2.0 WIN32 Port By Chris Reid ([email protected]) 05/21-11:00:28.593943 ARP who-has 192.168.2.92 tell 192.168.2.60 05/21-11:00:28.594419 ARP who-has 192.168.2.8 tell 192.168.2.60 05/21-11:00:28.594544 ARP who-has 192.168.2.93 tell 192.168.2.60 05/21-11:00:30.467265 192.168.2.5:1025 -> 192.168.2.1:139 TCP TTL:128 TOS:0x0 ID:16685 IpLen:20 DgmLen:104 DF ***AP*** Seq: 0x6B703 Ack: 0x2266A0C Win: 0x2238 TcpLen: 20 =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ 05/21-11:00:30.467731 192.168.2.1:139 -> 192.168.2.5:1025 TCP TTL:128 TOS:0x0 ID:47513 IpLen:20 DgmLen:1500 DF
Con esta opción -v iniciamos snort en modo sniffer visualizando en pantalla las cabeceras de los paquetes TCP/IP, es decir, en modo sniffer. Esta opción el modo verbouse y mostrará las cabeceras IP, TCP, UDP y ICMP.
Si queremos, además, visualizar los campos de datos que pasan por la interface de red, añadiremos -d.
C:\Snort20\bin>snort -vd Running in packet dump mode Log directory = log Initializing Network Interface \Device\NPF_{604C8AE3-5FAC-45A5-BFAA-81175A8C32BF} ..... =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ 05/21-11:06:18.943887 192.168.4.5:3890 -> 192.168.4.15:8080 TCP TTL:128 TOS:0x0 ID:33216 IpLen:20 DgmLen:40 DF ***A**** Seq: 0xE3A50016 Ack: 0x8B3C1E4D Win: 0xFAF0 TcpLen: 20 =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ 05/21-11:06:18.962018 192.168.4.5:3890 -> 192.168.4.15:8080 TCP TTL:128 TOS:0x0 ID:33217 IpLen:20 DgmLen:681 DF ***AP*** Seq: 0xE3A50016 Ack: 0x8B3C1E4D Win: 0xFAF0 TcpLen: 20 47 45 54 20 68 74 74 70 3A 2F 2F 77 77 77 2E 6F GET http://www.x 6D 65 6C 65 74 65 2E 63 6F 6D 2E 62 72 2F 73 75 xxxx.com.br/xx 70 65 72 6F 6D 65 6C 65 74 65 2F 64 6F 77 6E 6C xxxxxxx/downl 6F 61 64 73 2F 64 65 66 61 75 6C 74 2E 61 73 70 oads/default.asp 20 48 54 54 50 2F 31 2E 30 0D 0A 55 73 65 72 2D HTTP/1.0..User- 41 67 65 6E 74 3A 20 4D 6F 7A 69 6C 6C 61 2F 34 Agent: Mozilla/4 2E 30 20 28 63 6F 6D 70 61 74 69 62 6C 65 3B 20 .0 (compatible; 4D 53 49 45 20 36 2E 30 3B 20 57 69 6E 64 6F 77 MSIE 6.0; Window 73 20 4E 54 20 35 2E 30 29 20 4F 70 65 72 61 20 s NT 5.0) Opera 37 2E 31 31 20 20 5B 65 6E 5D 0D 0A 48 6F 73 74 7.11 [en]..Host 3A 20 77 77 77 2E 6F 6D 65 6C 65 74 65 2E 63 6F : www.xxxxx.co 6D 2E 62 72 0D 0A 41 63 63 65 70 74 3A 20 74 65 m.br..Accept: te 78 74 2F 68 74 6D 6C 2C 20 69 6D 61 67 65 2F 70 xt/html, image/p 6E 67 2C 20 69 6D 61 67 65 2F 6A 70 65 67 2C 20 ng, image/jpeg, 69 6D 61 67 65 2F 67 69 66 2C 20 69 6D 61 67 65 image/gif, image 2F 78 2D 78 62 69 74 6D 61 70 2C 20 2A 2F 2A 3B /x-xbitmap, */*; 71 3D 30 2E 31 0D 0A 41 63 63 65 70 74 2D 4C 61 q=0.1..Accept-La ......
Añadiendo la opción -e, snort nos mostrará información más detallada. Nos mostrará las cabeceras a nivel de enlace.
Con estas opciones y dependiendo del tráfico en nuestra red, veremos gran cantidad de información pasar por nuestra pantalla, con lo cual sería interesante registrar, guardar estos datos a disco para su posterior estudio. Entraríamos entonces en snort como packet logger o registro de paquetes.
C:\Snort20\bin>snort -dev -l ./log
La opción -l indica a snort que debe guardar los logs en un directorio determinado, en este caso Error! Hyperlink reference not valid. Dentro de la carpeta log se creará una estructura de directorios donde se archivarán los logs.
Podemos indicar la ip de la red a registrar ( -h ) y que el formato de los logs sea en modo binario ( -b ), es decir, el modo que entiende TCPDump o Windump, para estudiar más a fondo con los potentes filtros de estos programas los logs de snort. La salida del logs en el caso de la opción de salida binaria ya no será una estructura de directorios, si no, un sólo archivo.
C:\Snort20\bin>snort -vde -l ./log -h 192.168.4.0/24 Running in packet logging mode Log directory = ./log C:\Snort20\bin>snort -l ./log -b Running in packet logging mode Log directory = ./log
Usando la opción -b no hará falta indicarle IP alguna de nuestra red ( -h ). Guardará todo en un mismo archivo y recogerá datos de toda nuestra red. Tampoco serán necesarias las opciones -de y por supuesto, tampoco la opción -v.
El archivo generado por snort en modo binario también podemos leerlo con este usando la opción -r nombrearchivo.log.
Otra opción a toma en cuenta es -i para indicar a snort que interface de red usar en el caso de que tengamos dos o más. Se hace de distinta forma dependiendo si usamos snort para Win32 o para Linux/UNIX. Para averiguar las interfaces de que disponemos, en Win32 usaremos la opción -W.
C:\Snort20\bin>snort -vde -i 1 # snort -vde -i eth0 C:\Snort20\bin>snort -W
Filtros
Podemos añadir, a parte de las opciones, una serie de filtros para optimizar los resultados obtenidos. Estos filtros se añadirán en el mismo formato que usa programas como TCPDump ya que usan las mismas librerías de captura de paquetes (libpcap).
C:\Snort20\bin>snort -vd host 192.168.4.5 and dst port 8080 Running in packet dump mode Log directory = ./log Initializing Network Interface eth0 --== Initializing Snort ==-- Initializing Output Plugins! Decoding Ethernet on interface eth0 --== Initialization Complete ==-- -*> Snort! <*- Version 2.0.0 (Build 72) By Martin Roesch ([email protected], www.snort.org) 07/15-12:34:26.059644 192.168.4.5:4533 -> 192.168.4.15:8080 TCP TTL:128 TOS:0x0 ID:16544 IpLen:20 DgmLen:40 DF ***A**** Seq: 0xC47AC53E Ack: 0xC83C2362 Win: 0xFAF0 TcpLen: 20 =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ 07/15-12:34:26.059880 192.168.4.5:4533 -> 192.168.4.15:8080 TCP TTL:128 TOS:0x0 ID:16545 IpLen:20 DgmLen:40 DF ***A**** Seq: 0xC47AC53E Ack: 0xC83C31E4 Win: 0xFAF0 TcpLen: 20 =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ Snort aceptará también filtros más avanzados en su modo sniffer: C:\Snort20\bin>snort -vd icmp[0] = 8 and dst host 192.168.4.1 C:\Snort20\bin>snort -vd icmp[0] != 8 and icmp[0] != 0 C:\Snort20\bin>snort -vd 'udp[0:2] < 1024' and host 192.168.4.1
Snort en modo NIDS.
En este apartado es donde nos centraremos más. El modo detección de intrusos de red se activa añadiendo a la línea de comandos de snort la opción -c snort.conf. En este archivo, snort.conf, se guarda toda la configuración de las reglas, preprocesadores y otras configuraciones necesarias para el funcionamiento en modo NIDS.
C:\Snort20\bin>snort -dev -l ./log -h 192.168.4.0/24 -c ../etc/snort.conf
Con al opción -D indicará a snort que corra como un servicio. Esto es sólo válido para las versiónes Linux/UNIX:
# snort -dev -l ./log -h 192.168.4.0/24 -c ../etc/snort.conf -D
Para las versión win32 usaremos /SERVICE /INSTALL:
C:\Snort20\bin>snort /SERVICE /INSTALL -dev -l ./log -h 192.168.4.0/24 -c ../etc/snort.conf
/SERVICE /UNINSTALL desinstala snort como servicio.
Snort creará, a parte de la estructura de directorios, un archivo alert.ids donde almacenará las alertas generadas.
Modos de Alerta
Hay varias maneras de configurar la salida de snort, es decir, las alertas, el modo en que se almacenarán estas en el archivo alert.ids.
Snort dispone de siete modos de alertas en la línea de ordenes, completo, rápido, socket, syslog, smb (WinPopup), consola y ninguno.
Fast: El modo Alerta Rápida nos devolverá información sobre: tiempo, mensaje de la alerta, clasificación, prioridad de la alerta, IP y puerto de origen y destino.
C:\Snort20\bin>snort -A fast -dev -l ./log -h 192.168.4.0/24 -c ../etc/snort.conf 09/19-19:06:37.421286 [**] [1:620:2] SCAN Proxy (8080) attempt [**] [Classification: Attempted Information Leak] [Priority: 2] ... ... {TCP} 192.168.4.3:1382 -> 192.168.4.15:8080
Full: El modo de Alerta Completa nos devolverá información sobre: tiempo, mensaje de la alerta, clasificación, prioridad de la alerta, IP y puerto de origen/destino e información completa de las cabeceras de los paquetes registrados.
C:\Snort20\bin>snort -A full -dev -l ./log -h 192.168.4.0/24 -c ../etc/snort.conf [**] [1:620:2] SCAN Proxy (8080) attempt [**] [Classification: Attempted Information Leak] [Priority: 2] 09/19-14:53:38.481065 192.168.4.3:3159 -> 192.168.4.15:8080 TCP TTL:128 TOS:0x0 ID:39918 IpLen:20 DgmLen:48 DF ******S* Seq: 0xE87CBBAD Ack: 0x0 Win: 0x4000 TcpLen: 28 TCP Options (4) => MSS: 1456 NOP NOP SackOK
Información de la cabecera del paquete:
TCP TTL:128 TOS:0x0 ID:39918 IpLen:20 DgmLen:48 DF ******S* Seq: 0xE87CBBAD Ack: 0x0 Win: 0x4000 TcpLen: 28 TCP Options (4) => MSS: 1456 NOP NOP SackOK
Socket: Manda las alertas a través de un socket, para que las escuche otra aplicación. Está opción es para Linux/UNIX.
# snort -A unsock -c snort.conf
Console: Imprime las alarmas en pantalla.
C:\Snort20\bin>snort -A console -dev -l ./log -h 192.168.4.0/24 -c ../etc/snort.conf
None: Desactiva las alarmas.
# snort -A none -c snort.conf
SMB: Permite a Snort realizar llamadas al cliente de SMB (cliente de Samba, en Linux), y enviar mensajes de alerta a hosts Windows (WinPopUp). Para activar este modo de alerta, se debe compilar Snort con el conmutador de habilitar alertas SMB (enable -smbalerts). Evidentemente este modo es para sistemas Linux/UNIX. Para usar esta característica enviando un WinPopUp a un sistema Windows, añadiremos a la línea de comandos de snort: -M WORKSTATIONS.
Syslog: Envía las alarmas al syslog
C:\Snort20\bin>snort -A console -dev -l ./log -h 192.168.4.0/24 -c ../etc/snort.conf -s 192.168.4.33:514
Eventlog: Registra las alertas para visualizarse a través del visor de sucesos de un sistema windows. Esta opción se activará mediante -E y sólo para Win32.
La versión 2.0.2 se encuentra ya “liberada”.
http://www.snort.org/dl/snort-2.0.2.tar.gz
La versión para W32 debidamwente testeada cuento esté lista.
Gracias por mantenernos al tanto.. Yo estuve probando para empezar a conocer dek tema y me ha resultado un material muy interesante el publicado.
Un saludo.
Pues lo dicho, aquí teneis la versión para W32:
http://www.codecraftconsultants.com/Download/Snort_202_Build92_Installer.exe
Cualquier experiencia interesante con Snort no dudes en comentarlo por aquí Chris.
En el artículo hemos visto como Snort envía los datos al syslog. Syslog es el servicio de registro de actividad presente en la mayoría de sistemas Unix. También la versión para W32 vpuedes enviar los datos de los log a un servidor remoto.
Para Windows disponemos de varios programas que hacen de servidor syslog. Veamos uno de ellos. Se trata de Kiwi Syslog Daemon, aunque puede ser otro cualquiera:
http://www.kiwisyslog.com/products.htm#syslog
Enviando datls al syslog. Línea de comandos.
En Snort podemos también realizar esta operación añadiendo (-s) a nuestra línea de comandos Snort y modificando el archivo de configuración de Snort (snort.conf).
Ejemplo:
snort -A console -dev -l ./log -h 192.168.4.0/24 -c ../etc/snort.conf -s 192.168.4.3:514
-s activa envio a syslog
192.168.4.9: la IP de la máquina donde correo el servicio syslog
514: puerto UDP por donde escucha el servicio.
Modificaciones en “snort.conf”. fichero de configuración de Snort
Ahora vamos al fichero de configuración de snort (snort.conf). Nos posicionamos en la sección de configuración de plugins de salida:
################################################################
# Step #3: Configure output plugins
# General configuration for output plugins is of the form:
# output:
################################################################
Añadimos una línea de tal forma que nos quede de esta manera:
################################################################
# Step #3: Configure output plugins
# General configuration for output plugins is of the form:
# output:
output alert_syslog: LOG_LOCAL7 LOG_ALERT LOG_CONS LOG_NDELAY LOG_PERROR LOG_PID
################################################################
También podemos hacer lo siguiente:
################################################################
# Step #3: Configure output plugins
# General configuration for output plugins is of the form:
# output:
output alert_syslog: host:192.168.4.3:514, LOG_LOCAL7 LOG_ALERT LOG_CONS LOG_NDELAY LOG_PERROR LOG_PID
################################################################
Es decir, que en snort.conf indicamos también el host y puerto del syslog remoto. De esta manera podemos prescindir del añadido -s 192.168.4.3:514 en la línea de comandos de Snort.
Configurando Kiwi Syslog Daemon
File > Properties > Imputs > UDP
Marcamos “Listen for UDP Syslog messages”
UDP Port (1-65535): 514 (en este caso 514, aunque puede ser cualquiera)
Con esto ya está dispuesto el syslog para recibir los datos.
Ala, que lo disfruten.
excelente articulo
Muy interesante, pero para mi en lo particular, requiere explicaciones mas extensas y desde cero.
Gracias por los comentarios.
Para una explicación más extensa, pueden consultar otros artículos mios que a tal efecto están en el siguiente enlace:
http://www.beeeeee.net/nautopia/snort.htm
Como siempre todo lo que nos capacita ya es muy bueno, pero cuando lo hacen con ejemplos claros mucho mejor, como es este caso, por lo tanto solo me queda agradecerle/s toda la información que es sin interés y en definitiva nos ayuda a superarnos ca da día a todos.
Mi saludo y muchas gracias por todo.
hola deseo recibir mas informacion sobre snort y si esposible el software.
gracias
http://www.snort.org
Pero devieran ragalar ese programa
Emilio si te das una vuelta por Snort.org verás que en cierta manera te “regalan” el programa. Es un sotware Open Source. Y lo puedes usar de forma gratuita.
Versión actual de Snort: > Snort 2.1.0. Descarga: aquí.
cuando se pase a IPv6 habra algun problema con snort o todo seguira igual de bien funcionando?
Un saludo
Hola… he configurado snort en RH9. Reviso los logs con ACID. Pero me han encargado una mision que me ha costado tiempo poder ejecutar….. ¿Alguien podria decirme…. si existe la posibilidad de poder bloquear los ataques con el snort?….
Onda si el snort trae algo incorporado para poder bloquear los ataques?..
Gracias… :pensando: :pensando: :pensando:
Adriana, desde Chile.
Si es posible bloquear conexiones cuando se podruce un ataque y este es detectado por snort, aunque esto podría causar un ataque de denegación de servicio contra un uso legitimo de un determinado servicio.
Por otra pate snort puede interactuar con iptables para cerrar conexiones.
Busca informacion sobre “snort inline” y “flexresp”.
Respecto a snort y el soporte ipv6 pues si, si tiene soporte. Hasta no hace mucho estaba en modo experimental pero creo que ya tiene soporte totalmente funcional.
como podria saber en caso del envio de mensajes desde internet a un celular, el origen del mensaje enviado, quien lo envia es decir el servidor o pc de internet en la ciudad…
no se como implementar un ids en una computadora sola
Si puedes ser un poco más exacto. De cualquier manera para sólo una computadora la variable HOME_NET ó en la línea de comandos la IP a registrar tendría el formato xxx.xxxx.xxx.xxx/32.
Por ejemplo:
“C:\Snort20\bin>snort -dev -l ./log -h 192.168.1.2/32 -c ../etc/snort.conf”
registraría eventos sólo en el host 192.168.1.2
En este caso: “C:\Snort20\bin>snort -dev -l ./log -h 192.168.1.2/24 -c ../etc/snort.conf”
registraría la red 192.168.1.255 con la mascara 255.255.255.0
Si, con flexresp o snort inline (snort + iptables)
http://snort-inline.sourceforge.net/index.html
hola algien puede ayudarme diciendome como envio las alertas de snort al correo sin utilizar acid, el snort lo tengo instalado en RH9
Hola soy un estudiante y estoy haciendo un trabajo investigativo ….me gustaria que me mandaran informacion sobre Snort…quiero saber si es como una especie de cortafuegos, y si el Net-Centinel tiene un funcionamiento similar….
Me gustaria saber si el snort sirve para un servidor publico , es decir , para una red WAN – INTERNET graciasssssss
Ya logre compilar snort con soporte para inline y flexresp, bastanten esfuerzo por cierto. Pero no encuentro por ningun lado, como hacer funcionar inline con snort. La pagina de referencia http://snort-inline.sourceforge.net/FAQ.html, no contiene informacion de howto para ser usado. Alguien me podria dar una guia sobre el tema por favor.
Nota. Que no le pase a usted.
Instale snort en Suse 9.2, los paquetes instalados desde el cdrom fueron:
– php4-mysql-4.3.8-8
– apache2-mod_php4-4.3.8-8
– php4-gd-4.3.8-8
– php4-zlib-4.3.8-8
– php4-4.3.8-8
– php4-session-4.3.8-8
– apache2-prefork-2.0.50-7
– apache2-mod_php4-4.3.8-8
– apache2-2.0.50-7
– mysql-4.0.21-4
– mysql-shared-4.0.21-4
– mysql-client-4.0.21-4
– mysql-devel-4.0.21-4.2
– acid-0.9.6b23.tar.gz
– jpgraph-1.18.tar.gz
– snort-2.3.3.tar.gz
– libnet-1.0.2a.tar.gz
– adodb464.tgz
– mysql-devel-4.0.21-4.2.i586.rpm
Primero se instala libnet-1.0.2a.tar.gz
tar zxvf libnet-1.0.2a.tar.gz
cd Libnet-1.0.2a
/configure
make
Si aparece el siguiente error al ejecutar make:
> /usr/local/include/libnet.h:87:8: missing terminating ” character
> /usr/local/include/libnet.h:89:50: missing terminating ” character
Edite el archivo libnet.h y elimine la línea 88 y 89 y adicione comillas dobles al final de la línea 87 y listo.
estacion2:~/snort/Libnet-1.0.2a/include # diff libnet.h.orig libnet.h
87,89c87
< #error "byte order has not been specified, you'll
< need to #define either LIBNET_LIL_ENDIAN or LIBNET_BIG_ENDIAN. See the
< documentation regarding the libnet-config script."
—
> #error “byte order has not been specified, you’ll”
luego
make
make install
Para compilar snort-2.3.3 se uso el siguiente comando:
./configure –enable-inline –enable-flexresp –with-mysql=/usr
El resto ya los manuales lo explican
Atentamente
Jaime Cardenas
[email protected]
[email protected]
Me encontre un curso sobre Snort en Internet, ya lo comence a tomar y al parecer esta bastante bueno, explica entre otras cosas como crear reglas en Snort. Aqui le spaso la liga:
http://planeta-digital.com/cursos/course/view.php?id=34
No explicas el FlexResp, pero dices que lo haras mas tarde.
Cuando?
Donde?
Porque no ahora?
Hay un curso gratuito de Snort con foros en: http://www.planeta-digital.com
gracias de parte de la internet…
…donde solo hablamos RIP.
Es un buen articulo, me gustaria saber si me puede proveer un manual de instalacion (español) y el sitio de descarga..!, Muchas Gracias
Excelente artículo.
Tengo una duda: ¿sabeis si el Snort “se salta” las restricciones que imponen las PVLANes (VLAN privadas)? Lo comento porque he creado una PVLAN, donde he metido una máquina con Snort y sigue viendo paquetes de otros equipos.
Muchas gracias. Saludos
Gracias, me permitió comenzar a usar snort.
Hola muy buena info. Estoy empezando recien con snort y me surge una duda. Si lo pongo basado en host en un red de unas 100 PCs, que delay me produce en cada pc y cuanto trafico me genera en la red si archivo los logs de cada PC en un server remoto en mysql?…
Muchas gracias
mariano
Hola Alfonso, gracias por este documento de Snort, la verdad no tengo experiencia en software libre pero en donde trabajo me han pedido que revice herramientas de seguridad, me encantaría saber como instalo en Snort y que otras herramientas puedo utilizar para seguridad en internet.
Agradezco cualquier información a [email protected]
Lo bueno de Snort es que esta bajo licencia GPL (GNU public license),es decir, que es gratis y es multiplataforma ya que funciona bajo GNU/Linux y Microsoft Windows. Ademas funciona muy bien.
muy buena la info
Claro que puedes bloquear trafico detectado por snort, como te decian puedes utilizarlo como ips con snortinline o generando reglas dinamicas con flexresp o snortsam.. y tengo un proyecto donde metes un snortinline en una caja soekris, un ips en aplliance, checa elfos.sourceforge.net
saludos
Echarle un vistazo al artículo de mi web sobre Snort. Saludos.
// http://mcdebian.dyndns.org //
Es posible montar snort en una maquina implementando firewall por hardware como smooth wall que funciona a base de linux. Si es posible el snort en compañia de software serian una gran utilidad para administradores de redes.
nesito mas tutoriales de como instalar el Snort en el sistema operativo Fedora 5
Conciso y bién planteado. Felicitaciones.
No mencionan nada solbre los requisitos de hardware, seria interesante que alguien con buen conocimiento del tema pueda colaborar con esta informacion.
[…] Publicado por Cristobal on 28/05/07 http://www.maestrosdelweb.com/editorial/snort/ […]
En breve actualizaré este artículo a las últimas versiones de Snort, algunos Tips para solucionar problemas, requisitos de hardware, etc.
Hola, ¿Sabe alguien cuales son los niveles de prioridad de las alertas de snort (nivel-criticidad)?? He estado buscando y no he encontrado nada claro.
Gracias
Lo encontre!, los niveles de prioridad de las alertas de snort se configuran en classification.config. 😀
me gustaria saber si puedo instalar un ids y cual? en mi computadora personal… es para demostrar como funciona en la clase gracias…
quisiera saber las ventajas y desventajas de snort
buenas donde consigo el snort 1.8 compatible con el idscenter o el 1.7 para descargarlo gracias el que me pueda ayudar estoy probando algo
Hola ayuda por favor necesito presentar adjuntar a mi herramienta basada en snort una descripción de lo que hace cada regla que contiene la carpeta rules, por favor ayudenme con esto
gracias
Snort para windows? Existe?
Buenas, necesitaría si alguien tiene informacion de como configurar y administrar kiwisyslog.
Gracias
Buenas
hola a todos me pueden ayudar a clasificar las ventajas y desventajas del snort. yo tengo algunas pero quiero saber de otras opiniones de expertos en la materia.
Gracias….
Como esta Alfonso Buenos Dias. Porfa Ayudeme configurar un IDS en windows
Podrian publicar un tutorial para principiantes sobre Snort, porque al inicializarlo me sale un error: Not Using PCAP_FRAMES
no se que hacer,
gracias
Como instalo Snort en Fedora Core 6?
Hola, ¿por qué sale el error Not Using PCAP_FRAMES al ejecutar Snort en Windows? ¿Se tiene que hacer algo con el WinPcap y/o sus deamons?
Gracias y un saludo.
[…] vinkulo==aqui […]
Como instalo la ultima version de Snort 2.8.1 en Fedora Core 7? no hay ningun manual actualizado?
No logro que snort me grabe las alertas en el log, tengo las ultimas alertas alertas, snort bien instalado. La maquina esta con dos tarjetas de red, una va a internet y otra para la red interna. Gracias
Hola, alguien sabe si existe un tutorial para instalar snort? al inicializarlo me sale un error: Not Using PCAP_FRAMES.
Esto es con el comando más simple ( snort -v ) en las versiones 2.8.1 y en la 2.8.2
gracias.
Un tema muy interesante. Soy estudiante de Sistemas y quisiera aplicar este tema para mi tesis, básicamente en HoneyNets. Cualquier información es muy bien recibida.
Sois la mierda. A ver si lo poneis clarito.
eta buena la info, pero me gustaria que se detallara mejor lo relacionado con el ambiente grafico.
bueno el articulo esta muy bueno, pero el problema es q no especifica cosas para unix o gnu, es decir eso s para WINDOWS y bueno lo q estoy buscando es la configuracion ips, nids e dis para snort, solo q quiero es saber si ya viene por defecto por q sale es un monton de paquetes en nids tipo snifer no se q sera?
si alguien sabe de snort tipo ips le agradesco
El articulo es bueno y sobre la informacion de snort_inline que estan solicitando les puedo decir existe la suficiente en internet pero bajo plataforma linux, he buscado durante algun tiempo si se puede aplicar el modo ips en windows y no he podido encontrar algo sustancial al respecto, en el IDScenter hay una opcion para el modo de configuracion snort_inline pero no lo he podido ejecutar con exito…
Hola necesito documentación sobre la alerta del snort tagget Packet he buscado y no tengo idea de a que se refiera. No hay documentación en el sitio del Snort.
Espero su cooperación
Gracias
�flexibility�inherent in the platform. ,
soy nuevo y deseo saber cual version debo instalar para que corra en suse y si hay algun manual con el que deba pelear para instalarlo conste me urge instalarlo.
Gracias.
[…] maestrosdelweb podéis leer una breve pero interesante introducción sobre éste potente […]
Se puede utilizar Snort como filtro web, así como la distro de linux Untangle??
hola como puedo aprender snort en varios empleos piden snort pero no se como puedo aprenderlo alguien podría ayudarme?
necesito ayuda para enlazar snort con ACID o BASE,tengo instalado en windows server 2003, pero no me enlaza con el ACID, tengo el WAMP instalado la ultima version,o necesito otro programa q me muestre parte grafica