Instalación de Snort paso a paso en Debian 12

Terminal de Linux con Snort IDS ejecutándose en Debian 12, mostrando el logo de Snort en pantalla junto a un entorno de trabajo técnico con libros de ciberseguridad.
Instalación de Snort en Debian 12 – Snort IDS activo con logo visible

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

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *