Background
Wazuh Inteligencia Artificial Ciberseguridad Threat Hunting

IA para Threat Hunting en Wazuh: Guía de Instalación con Ollama

La integración de inteligencia artificial en Wazuh permite analizar eventos de seguridad de forma conversacional, identificar amenazas complejas y acelerar la respuesta a incidentes. En esta guía práctica veremos cómo instalar y configurar esta funcionalidad usando Ollama con modelos LLM locales.

AI Security
8 min lectura
Background

¿Qué conseguimos con esta integración?

  • Análisis conversacional: Consulta logs de seguridad en lenguaje natural ("¿Ha habido intentos de SSH fallidos hoy?")
  • Detección inteligente: La IA identifica patrones sospechosos que podrían pasar desapercibidos
  • Respuesta rápida: Reduce el tiempo de investigación de horas a minutos
  • Privacidad total: Todo se ejecuta localmente, sin enviar datos a terceros

Paso 1: Habilitar archivo de eventos

Wazuh necesita almacenar todos los eventos en formato JSON para que la IA pueda analizarlos. Edita la configuración del servidor:

# Editar configuración de Wazuh
sudo nano /var/ossec/etc/ossec.conf

# Busca la sección <global> y asegúrate de que esté configurada:
<global>
  <jsonout_output>yes</jsonout_output>
  <alerts_log>yes</alerts_log>
  <logall>yes</logall>
  <logall_json>yes</logall_json>
</global>

# Reiniciar Wazuh
sudo systemctl restart wazuh-manager

Esto creará el archivo /var/ossec/logs/archives/archives.json con todos los logs de seguridad.

Paso 2: Instalar Ollama y modelo LLM

Ollama es una herramienta que permite ejecutar modelos de lenguaje (LLMs) localmente de forma sencilla. Vamos a instalar Ollama y descargar el modelo Llama 3:

# Instalar Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Descargar modelo Llama 3 (8B parámetros, ~4.7GB)
ollama pull llama3

# Verificar que funciona
ollama run llama3

Nota: El primer ollama pull descargará varios GB. Si tu servidor tiene poca RAM, puedes usar modelos más ligeros como llama3:7b o phi3:mini.

Paso 3: Instalar dependencias de Python

El chatbot de threat hunting está escrito en Python y usa varias librerías para procesamiento de lenguaje natural:

# Actualizar sistema e instalar Python
sudo apt update && sudo apt install python3 python3-pip -y

# Instalar dependencias necesarias
pip3 install paramiko python-daemon langchain langchain-community \
  langchain-ollama langchain-huggingface faiss-cpu sentence-transformers \
  transformers pytz fastapi uvicorn

Esto instalará:

  • LangChain: Framework para construir aplicaciones con LLMs
  • FAISS: Motor de búsqueda vectorial para embeddings
  • FastAPI: Framework web para el chatbot
  • Transformers: Modelos de NLP de HuggingFace

Paso 4: Descargar e instalar el script de threat hunting

El script threat_hunter.py es el corazón de la integración. Lo descargaremos desde el repositorio oficial de Wazuh:

# Descargar el script
cd /var/ossec/integrations/
sudo wget https://raw.githubusercontent.com/wazuh/wazuh-tools/master/ai-threat-hunting/threat_hunter.py

# Dar permisos de ejecución
sudo chmod +x threat_hunter.py
sudo chown root:wazuh threat_hunter.py

Paso 5: Configurar credenciales

Antes de ejecutar el chatbot, necesitas configurar las credenciales de acceso. Abre el script y busca las siguientes líneas para modificarlas:

# Editar el script
sudo nano /var/ossec/integrations/threat_hunter.py

# Buscar y reemplazar:
USERNAME = "admin"  # Usuario para acceder al chatbot
PASSWORD = "TuContraseñaSegura123"  # Contraseña del chatbot

# Si Wazuh está en otro servidor (opcional):
SSH_HOST = "192.168.1.100"  # IP del servidor Wazuh
SSH_USERNAME = "wazuh"
SSH_PASSWORD = "password_ssh"

Importante: Usa una contraseña fuerte para el chatbot, ya que tendrá acceso a todos los logs de seguridad.

Paso 6: Iniciar el chatbot de threat hunting

¡Ya está todo listo! Ahora vamos a iniciar el chatbot:

# Ejecutar el chatbot (en primer plano para pruebas)
sudo python3 /var/ossec/integrations/threat_hunter.py

# Verás un mensaje como:
# INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

Abre tu navegador y accede a: http://<IP_SERVIDOR>:8000

Uso del chatbot

Una vez dentro del chatbot, puedes hacer preguntas en lenguaje natural. Algunos comandos útiles:

  • /help - Muestra el menú de ayuda
  • /set days 7 - Analiza eventos de los últimos 7 días (rango: 1-365)
  • /reload - Recarga la base de datos vectorial con nuevos eventos

Ejemplos de preguntas:

  • "¿Ha habido intentos de acceso SSH fallidos en las últimas 24 horas?"
  • "Muéstrame alertas críticas de nivel 12 o superior"
  • "¿Qué usuarios han modificado archivos del sistema recientemente?"
  • "Analiza actividad sospechosa en el servidor web-prod-01"

Ejecutar como servicio (opcional)

Para que el chatbot se ejecute permanentemente en segundo plano, créalo como un servicio de systemd:

# Crear archivo de servicio
sudo nano /etc/systemd/system/wazuh-threat-hunter.service

# Contenido:
[Unit]
Description=Wazuh AI Threat Hunter Chatbot
After=network.target wazuh-manager.service

[Service]
Type=simple
User=root
WorkingDirectory=/var/ossec/integrations
ExecStart=/usr/bin/python3 /var/ossec/integrations/threat_hunter.py
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

# Activar e iniciar el servicio
sudo systemctl daemon-reload
sudo systemctl enable wazuh-threat-hunter.service
sudo systemctl start wazuh-threat-hunter.service

# Verificar estado
sudo systemctl status wazuh-threat-hunter.service

Próximos pasos

En próximos artículos publicaré capturas de pantalla reales mostrando:

  • Ejemplos de consultas y respuestas del chatbot
  • Casos de uso prácticos para detección de amenazas
  • Configuraciones avanzadas y optimización de rendimiento
  • Integración con dashboards personalizados de Wazuh

Conclusión

La integración de IA en Wazuh transforma la manera de hacer threat hunting: de buscar manualmente en logs durante horas, a hacer preguntas en lenguaje natural y recibir análisis contextualizados en segundos.

Lo mejor: Todo se ejecuta localmente con modelos open source, sin depender de servicios externos ni comprometer la privacidad de tus datos de seguridad.

Si necesitas ayuda con la implementación profesional de Wazuh o esta integración de IA en tu empresa, solicita una consulta gratuita aquí.


Fuente original: Wazuh Blog - Leveraging Artificial Intelligence for Threat Hunting

Background