Suricata es una poderosa herramienta de seguridad de red de código abierto que actúa como sistema de detección y prevención de intrusos (IDS/IPS), además de ofrecer monitoreo profundo del tráfico. En esta guía te muestro cómo instalarlo y configurarlo en Debian 12 paso a paso.
✅ Requisitos previos
- Debian 12 actualizado
- Usuario con privilegios de
sudo
- Acceso a internet
📦 Paso 1: Habilitar los backports
Suricata se encuentra en los repositorios bookworm-backports. Para habilitarlos:
echo "deb http://deb.debian.org/debian/ bookworm-backports main" | sudo tee /etc/apt/sources.list.d/bookworm-backports.sources.list
sudo apt update
🧰 Paso 2: Instalar Suricata
sudo apt install suricata
Verificamos el estado del servicio:
sudo systemctl status suricata
Y su versión:
sudo suricata --build-info
🌐 Paso 3: Configurar Suricata para monitorear tu red
Identificamos nuestra interfaz de red:
ip -p -j route show default
Supongamos que devuelve eth0
. Editamos el archivo de configuración:
sudo nano /etc/suricata/suricata.yaml
Modificamos las siguientes secciones:
- Habilitar Community ID:
- Configurar red interna (HOME_NET):
- Definir interfaz de red:
- Habilitar recarga de reglas:
Guardamos y reiniciamos Suricata:
sudo systemctl restart suricata
📥 Paso 4: Descargar y administrar reglas con suricata-update
sudo suricata-update
Verificamos que el default-rule-path
apunte a:
default-rule-path: /var/lib/suricata/rules
Reiniciamos:
sudo systemctl restart suricata
🛠️ Paso 5: Habilitar fuentes de reglas adicionales
suricata-update list-sources
sudo suricata-update enable-source oisf/trafficid
sudo suricata-update update-sources
sudo suricata-update
sudo systemctl restart suricata
🧪 Paso 6: Probar Suricata como IDS
Verificamos que la regla de prueba esté activa:
grep 2100498 /var/lib/suricata/rules/suricata.rules
Monitoreamos alertas:
tail -f /var/log/suricata/fast.log
Y generamos tráfico de prueba:
curl http://testmynids.org/uid/index.html
Para verlo en formato JSON:
sudo apt install jq -y
sudo tail -f /var/log/suricata/eve.json | jq 'select(.event_type=="alert")'
🧠 ¿Suricata está basado en Snort?
Una duda común es si Suricata está basado en Snort, ya que ambos funcionan como IDS/IPS y usan reglas similares. La respuesta es:
No, Suricata no está basado en Snort, pero es compatible con sus reglas.
Suricata fue desarrollado desde cero por la Open Information Security Foundation (OISF) como una alternativa moderna, de alto rendimiento y con características avanzadas.
🔍 Principales diferencias entre Suricata y Snort:
Característica | Snort | Suricata |
---|---|---|
Compatibilidad de reglas | Propias de Snort | Compatible con reglas Snort |
Soporte multihilo | ❌ (hasta Snort 2.x) | ✅ Desde el diseño inicial |
Decodificación profunda | Básica | Avanzada (HTTP, TLS, SMB, etc.) |
Inspección de archivos | Limitada o nula | ✅ Soporta extracción y análisis |
Modo IPS | ✅ | ✅ |
Desarrollado por | Cisco (antes Sourcefire) | OISF |
Licencia | GPL | GPL |
✅ Conclusión
Suricata no es un “Snort mejorado”, sino una solución independiente, moderna, escalable y con mejor soporte para arquitecturas multicore. Y lo mejor: puede usar muchas de las reglas de Snort sin necesidad de convertirlas.
🎉 Conclusión final
Ya tenés Suricata funcionando como IDS en Debian 12, con reglas comunitarias actualizadas y monitoreo en tiempo real. En siguientes publicaciones podríamos avanzar hacia el modo IPS, integración con Wazuh o visualización con Kibana.