Snort es un sistema de detección de intrusos (IDS) ampliamente utilizado en entornos profesionales y educativos por su capacidad para analizar tráfico de red en tiempo real y detectar comportamientos sospechosos. En esta guía se detalla el proceso completo para la instalación de Snort 2.9.20 en Debian 12, incluyendo la preparación del sistema, resolución de errores comunes y configuración inicial.
Requisitos previos
Antes de comenzar, es recomendable tener privilegios administrativos en el sistema y acceso a una terminal con conexión a Internet. Todos los pasos están validados en una instalación limpia de Debian 12.
1. Revisión inicial del repositorio
El primer paso fue intentar la instalación mediante el comando:
sudo apt-get install snort
Sin embargo, el paquete no estaba disponible.
2. Configuración de repositorios de Ubuntu
La solución adoptada fue añadir los repositorios de Ubuntu Focal (20.04) al archivo de fuentes del sistema, permitiendo el acceso a versiones de Snort más actualizadas compatibles.
Edición del archivo de repositorios
sudo nano /etc/apt/sources.list
Se añadieron las siguientes líneas:
deb http://us.archive.ubuntu.com/ubuntu/ focal main restricted
deb http://us.archive.ubuntu.com/ubuntu/ focal-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ focal universe
deb http://us.archive.ubuntu.com/ubuntu/ focal-updates universe
deb http://us.archive.ubuntu.com/ubuntu/ focal multiverse
deb http://us.archive.ubuntu.com/ubuntu/ focal-updates multiverse
deb http://security.ubuntu.com/ubuntu focal-security main restricted
deb http://security.ubuntu.com/ubuntu focal-security universe
deb http://security.ubuntu.com/ubuntu focal-security multiverse
Añadir claves GPG
Para validar los paquetes procedentes de estos repositorios, se importaron las claves GPG correspondientes:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
sudo apt-key export 3B4FE6ACC0B21F32 | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/ubuntu-keyring-3B4FE6ACC0B21F32.gpg
sudo apt-key export 871920D1991BC93C | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/ubuntu-keyring-871920D1991BC93C.gpg
Establecer prioridades de repositorio
Para evitar que los paquetes de Ubuntu sobrescriban los propios de Debian durante futuras actualizaciones, se creó el archivo de preferencias:
sudo nano /etc/apt/preferences.d/ubuntu.pref
Con el siguiente contenido:
Package: *
Pin: release o=Ubuntu
Pin-Priority: 50
3. Instalación Snort en Debian paso a paso
Con el sistema ya configurado, se ejecutó:
sudo apt-get update
sudo apt-get install snort
Durante el proceso de instalación, se solicita la interfaz de red. En este caso, aunque la interfaz activa era ens33
, fue necesario ingresar primero eth0
y luego ens33
para que la instalación continuara sin errores.
Para facilitar el uso del comando snort
, se añadió su ruta al entorno:
export PATH=$PATH:/usr/sbin
source ~/.bashrc
4. Verificación de la instalación
Para comprobar la instalación, se utilizó el siguiente comando:
sudo find / -type f -name snort 2>/dev/null
Esto permitió confirmar la ubicación del ejecutable: /usr/sbin/snort
.
5. Configuración del archivo snort.conf
Se editó el archivo de configuración principal:
sudo nano /etc/snort/snort.conf
Verificando que las siguientes variables estuvieran correctamente definidas antes del paso 2:
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
Y añadiendo al final del paso 7:
include $RULE_PATH/local.rules
Esto permite incluir reglas personalizadas definidas por el usuario.
6. Creación y prueba de reglas
Se editó el archivo local.rules
:
sudo nano /etc/snort/rules/local.rules
Con las siguientes reglas de prueba (una de ellas contiene un error intencionado para verificar la validación):
alert icmp any any -> $HOME_NET any (msg:"Tráfico ICMP detectado"; sid: 100001; rev:1;)
alert tcp any any -> $HOME_NET 21 (msg:"Tráfico FTP detectado"; sd: 100002; rev:1;) # Error sintáctico
alert tcp any any -> $HOME_NET 22 (msg:"Tráfico SSH detectado"; sid: 100003; rev:1;)
Se probó la configuración con:
snort -T -i ens33 -c /etc/snort/snort.conf
El sistema detectó correctamente el error en la segunda regla (sd:
en lugar de sid:
), lo que confirma que el archivo de reglas fue cargado correctamente. Una vez corregido, la prueba se repitió con éxito.
Conclusión
La instalación de Snort en Debian 12 requiere una preparación específica cuando los repositorios estándar no ofrecen compatibilidad directa. Añadir repositorios de Ubuntu de forma controlada, importar sus claves GPG y gestionar correctamente las prioridades del sistema permite instalar y ejecutar Snort sin problemas. Finalmente, la validación de la configuración mediante pruebas básicas asegura que el sistema IDS está listo para ser utilizado.
Fuente consultada para la instalación:
Laboratorio 3: Instalación y configuración de IDS Snort en Debian – YouTube
https://www.youtube.com/watch?v=2JROdnUmRCw