Snort es un ligero sistema de detección de intrusos de red gratuito para UNIX y Windows.
En este artículo, repasaremos cómo instalar snort desde el principio, escribir reglas y realizar pruebas básicas.
1. Descargar y extraer Snort
Tienes que descargar la última versión gratuita de snort del sitio web de snort. Luego extrae el código fuente de snort en el directorio /usr/src como se muestra a continuación.
1 2 3 |
# cd /usr/src # wget -O snort-2.8.6.1.tar.gz http://www.snort.org/downloads/116 # tar xvzf snort-2.8.6.1.tar.gz |
2. Instalar Snort
Antes de instalar snort, asegúrate de tener los paquetes de desarrollo de libpcap y libpcre.
1 2 3 4 5 6 7 8 9 |
# apt-cache policy libpcap0.8-dev libpcap0.8-dev: Installed: 1.0.0-2ubuntu1 Candidate: 1.0.0-2ubuntu1 # apt-cache policy libpcre3-dev libpcre3-dev: Installed: 7.8-3 Candidate: 7.8-3 |
Tienes que seguir los siguientes pasos para instalar snort.
1 2 3 4 |
# cd snort-2.8.6.1 # ./configure # make # make install |
3. Verificar la instalación de Snort
Debes verificar la instalación como se muestra a continuación.
1 2 3 4 5 6 7 |
# snort --version ,,_ -*> Snort! <*- o" )~ Version 2.8.6.1 (Build 39) '''' By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team Copyright (C) 1998-2010 Sourcefire, Inc., et al. Using PCRE version: 7.8 2008-09-05 |
4. Crear los archivos y los directorios necesarios.
Debes crear el archivo de configuración, el archivo de reglas y el directorio de registro.
Tienes que crear los siguientes directorios:
1 2 3 4 5 |
# mkdir /etc/snort # mkdir /etc/snort/rules # mkdir /var/log/snort |
Luego se debe crear los siguientes archivos snort.conf e icmp.rules:
1 2 3 4 5 |
# cat /etc/snort/snort.conf include /etc/snort/rules/icmp.rules # cat /etc/snort/rules/icmp.rules alert icmp any any -> any any (msg:"ICMP Packet"; sid:477; rev:3;) |
La regla básica anterior alerta cuando hay un paquete ICMP (ping).
La siguiente es la estructura de la alerta:
1 2 |
<Rule Actions> <Protocol> <Source IP Address> <Source Port> <Direction Operator> <Destination IP Address> <Destination > (rule options) |
Tabla: estructura de reglas y ejemplo
Estructura | Ejemplo |
Rule Actions | alert |
Protocol | icmp |
Source IP Address | any |
Source Port | any |
Direction Operator | -> |
Destination IP Address | any |
Destination Port | any |
(rule options) | (msg:”ICMP Packet”; sid:477; rev:3;) |
5. Ejecutar Snort
Ejecuta snort desde la línea de comandos, como se ve a continuación.
1 |
# snort -c /etc/snort/snort.conf -l /var/log/snort/ |
Ahora intenta hacer ping a alguna IP de tu máquina, para verificar nuestra regla de ping. El siguiente es el ejemplo de una alerta de Snort para esta regla ICMP.
1 2 3 4 5 6 7 |
# head /var/log/snort/alert [**] [1:477:3] ICMP Packet [**] [Priority: 0] 07/27-20:41:57.230345 > l/l len: 0 l/l type: 0x200 0:0:0:0:0:0 pkt type:0x4 proto: 0x800 len:0x64 209.85.231.102 -> 209.85.231.104 ICMP TTL:64 TOS:0x0 ID:0 IpLen:20 DgmLen:84 DF Type:8 Code:0 ID:24905 Seq:1 ECHO |
Explicación de alertas
Se agregan un par de líneas para cada alerta, que incluye lo siguiente:
- El mensaje se imprime en la primera línea.
- IP de origen
- IP de destino
- Tipo de paquete e información del encabezado.
Si tienes una interfaz diferente para la conexión de red, usa la opción -dev -i. En este ejemplo, mi interfaz de red es ppp0.
1 |
# snort -dev -i ppp0 -c /etc/snort/snort.conf -l /var/log/snort/ |
Ejecutar Snort como Demonio
Agrega la opción -D para ejecutar snort como demonio.
1 |
# snort -D -c /etc/snort/snort.conf -l /var/log/snort/ |
Información adicional de Snort
- El archivo de configuración predeterminado estará disponible en snort-2.8.6.1/etc/snort.conf
- Las reglas predeterminadas se pueden descargar desde: http://www.snort.org/snort-rules