🛡️ NVD Vulnerability Monitor

📋 Descripción

NVD Vulnerability Monitor es un sistema de monitoreo automatizado de vulnerabilidades críticas y de alto riesgo desde la National Vulnerability Database (NVD). El sistema está diseñado para Ubuntu 24.04+ LTS y proporciona detección en tiempo real de vulnerabilidades, almacenamiento persistente en base de datos, y notificaciones automáticas por correo electrónico.

🎯 Características Principales

  • ✅ Monitoreo Automático 24/7: Consulta NVD API cada 4 horas (configurable)
  • ✅ Descarga Real de Vulnerabilidades: Integración completa con NVD API v2.0
  • ✅ Filtrado Inteligente: Solo vulnerabilidades CRITICAL y HIGH
  • ✅ Base de Datos Persistente: Almacenamiento en MySQL/MariaDB
  • ✅ Notificaciones HTML/Texto: Alertas por email con formato profesional
  • ✅ Soporte Multi-SMTP: Compatible con Gmail, Outlook, Office365 y servidores personalizados
  • ✅ Administración Completa: Suite completa de comandos CLI
  • ✅ Sistema de Permisos: Gestión segura con usuario dedicado
  • ✅ Docker Ready: Contenedores disponibles para despliegue rápido
  • ✅ Instalación/Desinstalación: Scripts automatizados completos

🏗️ Arquitectura del Sistema


📁 Estructura del Sistema


🚀 Instalación

Requisitos del Sistema

ComponenteVersión MínimaNotas
Sistema OperativoUbuntu 20.04+ LTSProbado en 20.04, 22.04, 24.04
Python3.8+Python 3.10+ recomendado
MySQL/MariaDBMySQL 8.0+ / MariaDB 10.3+Se instala automáticamente si no existe
RAM1GB mínimo2GB recomendado
Espacio en Disco500MBPara aplicación y logs
Conexión InternetRequeridaPara NVD API y notificaciones

Recomendaciones

# Validar que la fecha del sistema este correcta y en la zona horaria adecuada
date
# Si fuese necesario configurar zona horaria
sudo timedatectl set-timezone "America/Mexico_City"

Instalación Rápida

# 1. Clonar el repositorio
git clone https://github.com/juanpadiaz/nvd-monitor.git
cd nvd-monitor

# 2. Ejecutar instalación (interactiva)
sudo bash install.sh

# 3. Verificar instalación
sudo /var/lib/nvd-monitor/scripts/test_installation.sh

Instalación con Docker

# 1. Construir imagen
cd docker
docker build -t nvd-monitor:latest .

# 2. Ejecutar contenedor
docker run -d \
  --name nvd-monitor \
  -e NVD_API_KEY="tu-api-key" \
  -e SMTP_SERVER="smtp.gmail.com" \
  -e SMTP_PORT="587" \
  -e SENDER_EMAIL="tu-email@gmail.com" \
  -e SENDER_PASSWORD="tu-contraseña-app" \
  -e RECIPIENT_EMAIL="destino@example.com" \
  -v nvd-monitor-data:/var/lib/mysql \
  -v nvd-monitor-logs:/var/log/nvd-monitor \
  --restart unless-stopped \
  nvd-monitor:latest

# 3. Ver logs
docker logs -f nvd-monitor

Post-Instalación

# 1. Cargar vulnerabilidades iniciales (últimos 7 días)
sudo nvd-monitor --check-recent 7

# 2. Ver vulnerabilidades cargadas
sudo nvd-admin show-vulns --severity HIGH --limit 20

# 3. Probar notificaciones
sudo nvd-admin test-email

# 4. Ver estado del servicio
sudo systemctl status nvd-monitor

⚙️ Configuración

Configuración durante la Instalación

El instalador solicita interactivamente:

  1. API Key de NVD (Opcional pero recomendado)
  2. Servidor SMTP (Ejemplos proporcionados)
    • Gmail: smtp.gmail.com:587
    • Outlook: smtp-mail.outlook.com:587
    • Office 365: smtp.office365.com:587
  3. Credenciales de Email
    • Email remitente
    • Habilitar la verificación de dos pasos (para Gmail)
    • Contraseña (usar contraseña de aplicación para Gmail/Outlook)
    • Emails destinatarios (soporta múltiples separados por comas)

Actualizar Configuración

# Método interactivo
sudo nvd-admin update-config

# Editar directamente
sudo nano /etc/nvd-monitor/config.ini
sudo systemctl restart nvd-monitor

Archivo de Configuración (config.ini)

[database]
host = localhost
port = 3306
database = nvd_monitor
user = nvd_user
password = [auto-generada]

[nvd]
api_key = [tu-api-key]
base_url = https://services.nvd.nist.gov/rest/json/cves/2.0

[email]
smtp_server = smtp.gmail.com
smtp_port = 587
sender_email = alertas@tudominio.com
sender_password = [contraseña-aplicación]
recipient_email = admin@tudominio.com,security@tudominio.com

[monitoring]
check_interval_hours = 4
results_per_page = 200
days_back = 7

[logging]
level = INFO
file = /var/log/nvd-monitor/nvd-monitor.log

🔧 Comandos de Administración

Comandos Principales

# === ESTADO Y VERIFICACIÓN ===
nvd-status                         # Estado rápido del servicio
nvd-admin status                   # Estado detallado con estadísticas
nvd-admin test-db                  # Probar conexión a base de datos
nvd-admin test-nvd-api             # Probar API de NVD
nvd-admin test-email [email]       # Enviar email de prueba

# === MONITOREO MANUAL ===
nvd-monitor --run-once             # Ejecutar ciclo de monitoreo
nvd-monitor --check-recent 7       # Cargar vulnerabilidades de últimos N días
nvd-monitor --test-api             # Solo probar conectividad API

# === CONSULTA DE VULNERABILIDADES ===
nvd-admin show-vulns --limit 10              # Últimas 10 vulnerabilidades
nvd-admin show-vulns --limit 20              # Últimas 20 vulnerabilidades
nvd-admin show-vulns --severity CRITICAL     # Solo críticas
nvd-admin show-vulns --severity HIGH         # Solo altas

# === CONFIGURACIÓN ===
nvd-admin update-config            # Actualizar configuración interactiva

Gestión del Servicio

# Control del servicio
sudo systemctl start nvd-monitor      # Iniciar
sudo systemctl stop nvd-monitor       # Detener
sudo systemctl restart nvd-monitor    # Reiniciar
sudo systemctl status nvd-monitor     # Estado

# Logs del sistema
sudo journalctl -u nvd-monitor -f     # Tiempo real
sudo journalctl -u nvd-monitor -n 100 # Últimas 100 líneas
sudo journalctl -u nvd-monitor --since "1 hour ago"

# Logs de aplicación
tail -f /var/log/nvd-monitor/nvd-monitor.log

📧 Sistema de Notificaciones

Características del Email

  • Formato Dual: HTML y texto plano
  • Clasificación Visual: Críticas en rojo, altas en naranja
  • Información Completa: CVE ID, CVSS score, descripción, fecha
  • Enlaces Directos: A la página de NVD para cada CVE
  • Límite Inteligente: Muestra las 5 más críticas de cada tipo
  • Soporte Multi-destinatario: Envío a múltiples correos

Ejemplo de Notificación

🚨 ALERTA DE VULNERABILIDADES NVD
==================================
Se han detectado 5 vulnerabilidades críticas/altas

⚠️ VULNERABILIDADES CRÍTICAS (2)
- CVE-2025-0001 | CVSS: 9.8 | Publicado: 2025-01-15
- CVE-2025-0002 | CVSS: 9.1 | Publicado: 2025-01-15

⚠️ VULNERABILIDADES ALTAS (3)
- CVE-2025-0003 | CVSS: 8.8 | Publicado: 2025-01-15
- CVE-2025-0004 | CVSS: 8.1 | Publicado: 2025-01-14
- CVE-2025-0005 | CVSS: 7.5 | Publicado: 2025-01-14

Ver detalles completos en NVD

🐳 Docker Support

Dockerfile Incluido

FROM ubuntu:22.04
MAINTAINER Juan Pablo Díaz <jpdiaz.com>

# Instalar dependencias
RUN apt-get update && apt-get install -y \
    python3 python3-pip python3-venv \
    mariadb-server supervisor \
    && rm -rf /var/lib/apt/lists/*

# Copiar aplicación
COPY . /opt/nvd-monitor/

# Instalar NVD Monitor
RUN cd /opt/nvd-monitor && \
    bash install_docker.sh

# Exponer volúmenes
VOLUME ["/var/lib/mysql", "/var/log/nvd-monitor", "/etc/nvd-monitor"]

# Iniciar servicios
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/nvd-monitor.conf"]

Docker Compose

version: '3.8'
services:
  nvd-monitor:
    build: .
    container_name: nvd-monitor
    restart: unless-stopped
    environment:
      - NVD_API_KEY=${NVD_API_KEY}
      - SMTP_SERVER=${SMTP_SERVER}
      - SENDER_EMAIL=${SENDER_EMAIL}
      - SENDER_PASSWORD=${SENDER_PASSWORD}
      - RECIPIENT_EMAIL=${RECIPIENT_EMAIL}
    volumes:
      - nvd-db:/var/lib/mysql
      - nvd-logs:/var/log/nvd-monitor
      - nvd-config:/etc/nvd-monitor
    healthcheck:
      test: ["CMD", "nvd-admin", "test-db"]
      interval: 5m
      timeout: 10s
      retries: 3

volumes:
  nvd-db:
  nvd-logs:
  nvd-config:

🗑️ Desinstalación

Desinstalación Interactiva

# Ejecutar script de desinstalación
sudo bash uninstall.sh

# El script preguntará qué componentes eliminar:
# - Base de datos (con opción de respaldo)
# - Usuario del sistema
# - Logs del sistema
# - Archivos de configuración

Desinstalación Completa (Forzada)

# Eliminar todo sin confirmación
sudo bash uninstall.sh --force

🔒 Seguridad

Medidas Implementadas

  • Usuario Dedicado: Ejecuta como nvd-monitor sin privilegios
  • Permisos Restrictivos: Configuración con permisos 640
  • HTTPS Only: Todas las conexiones externas encriptadas
  • Validación de Datos: Sanitización de entrada de APIs
  • Contraseñas Seguras: Auto-generadas de 16 caracteres
  • Sin Exposición: Contraseñas nunca en logs o salidas

Recomendaciones de Seguridad

  1. Use API Key de NVD: Mejora los límites y la confiabilidad
  2. Contraseñas de Aplicación: Para Gmail/Outlook con 2FA
  3. Firewall: Solo permitir salida HTTPS (443) y SMTP (587/465)
  4. Actualizaciones: Mantener el sistema operativo actualizado
  5. Monitoreo: Revisar logs regularmente por anomalías

🐛 Solución de Problemas

Problemas Comunes

Error: «font-family» al enviar emails

# Este error fue corregido en v1.0.9
# Si persiste, verificar versión:
grep "Versión" /opt/nvd-monitor/nvd_monitor.py

# Actualizar si es necesario:
cd nvd-monitor
git pull
sudo bash install_final.sh

No llegan las notificaciones

# 1. Verificar configuración
sudo nvd-admin test-email

# 2. Para Gmail, verificar:
# - Usar contraseña de aplicación (no la normal)
# - 2FA debe estar activo
# - Generar en: https://myaccount.google.com/apppasswords

# 3. Ver logs detallados
sudo journalctl -u nvd-monitor | grep -i email

Base de datos no conecta

# 1. Verificar servicio MySQL/MariaDB
sudo systemctl status mysql
sudo systemctl status mariadb

# 2. Probar conexión
sudo nvd-admin test-db

# 3. Ver configuración
sudo cat /etc/nvd-monitor/config.ini | grep -A5 database

📊 Métricas del Proyecto

MétricaValor
📈 Líneas de Código~4,000 líneas
🐍 Versión Python3.8+ compatible
📦 Dependencias7 packages Python
🔄 Versión Actual1.0.9
🧪 Sistemas ProbadosUbuntu 20.04, 22.04, 24.04
📝 Documentación100% completa
🐳 DockerIncluido
🛡️ Vulnerabilidades0 conocidas

👨‍💻 Autor y Licencia

  • Desarrollador: Juan Pablo Díaz Ezcurdia
  • Websitejpdiaz.com
  • Licencia: MIT License
  • Versión: 1.0.9
  • Última actualización: Julio 2025

🤝 Contribuciones

Las contribuciones son bienvenidas! Por favor:

  1. Fork el proyecto
  2. Crea tu feature branch (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la branch (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

📝 Changelog

v1.0.9 (Julio 2025)

  • ✅ Implementación completa de descarga de vulnerabilidades
  • ✅ Corrección del error «font-family» en emails
  • ✅ Soporte para múltiples servidores SMTP
  • ✅ Mejoras en permisos y seguridad
  • ✅ Script de desinstalación interactivo
  • ✅ Soporte Docker completo
  • ✅ Documentación actualizada

v1.0.1 (Mayo 2024)

  • 🎉 Release inicial
  • 📧 Sistema básico de notificaciones
  • 🗄️ Integración con base de datos
  • ⚙️ Servicio systemd

Wazuh IP Reputation Checker

📋 Descripción

Wazuh IP Reputation Checker es un sistema avanzado de análisis de reputación de IPs que se integra con Wazuh SIEM para enriquecer automáticamente los eventos de seguridad con información de inteligencia de amenazas de múltiples fuentes.


Características Principales

  • 🔍 Integración con Wazuh API: Extracción automática de IPs desde alertas de Wazuh
  • 🌐 Múltiples fuentes de inteligencia:
    • VirusTotal
    • AbuseIPDB
    • Shodan
  • 📊 Sistema de puntuación de riesgo: Clasificación automática de IPs (CRITICAL, HIGH, MEDIUM, LOW, SAFE)
  • 📧 Notificaciones inteligentes: Alertas por email con formato HTML enriquecido
  • 💾 Base de datos MariaDB/MySQL: Almacenamiento persistente con estadísticas históricas
  • 🔄 Monitoreo continuo: Análisis automático con intervalos configurables
  • 🛡️ Cache inteligente: Evita consultas repetidas a las APIs
  • 📈 Estadísticas y reportes: Métricas detalladas del sistema
  • 🔧 Herramientas de administración: CLI completa para gestión

🏗️ Diagrama Conceptual


🔓 Arquitectura del Sistema


📁 Estructura de archivos


🚀 Instalación

Requisitos del Sistema

  • Ubuntu 22.04 LTS
  • Python 3.10+
  • Acceso a Wazuh Manager API
  • Conexión a internet para APIs externas
  • Privilegios de administrador para instalación

Recomendaciones

Instalación Rápida

# Descargar el script de instalación
wget https://raw.githubusercontent.com/juanpadiaz/wazuh-ip-reputation/main/wazuh_ip_reputation_install.sh

# Dar permisos de ejecución
chmod +x wazuh_ip_reputation_install.sh

# Ejecutar instalación
sudo bash wazuh_ip_reputation_install.sh

⚙️ Configuración

Configuración durante la Instalación

El instalador solicitará interactivamente:

  1. Configuración de Wazuh:
    • Host/IP del Wazuh Manager
    • Puerto de la API (default: 55000)
    • Usuario y contraseña de la API
  2. API Keys de Reputación:
    • VirusTotal API Key
    • AbuseIPDB API Key
    • Shodan API Key (opcional)
  3. Notificaciones por Email:
    • Servidor SMTP y puerto
    • Email remitente y contraseña
    • Emails destinatarios (separados por comas)

Actualizar Configuración

# Editar configuración manualmente
sudo wazuh-reputation config

# O usar el editor directamente
sudo nano /etc/wazuh-ip-reputation/config.ini

Archivo de Configuración (config.ini)

[general]
log_level = INFO
log_file = /var/log/wazuh-ip-reputation/wazuh-ip-reputation.log
check_interval = 300        # Segundos entre análisis
cache_duration = 3600       # Segundos de cache por IP

[database]
host = localhost
port = 3306
database = wazuh_ip_reputation
user = wazuh_ip_user
password = ****************

[wazuh]
host = 192.168.1.100       # IP del Wazuh Manager
port = 55000
username = admin
password = ****************
verify_ssl = false

[apis]
virustotal_key = ********************************
abuseipdb_key = ********************************
shodan_key = ********************************

[email]
enabled = true
smtp_server = smtp.gmail.com
smtp_port = 587
sender_email = alerts@example.com
sender_password = ****************
recipient_emails = security@example.com,admin@example.com

[thresholds]
critical = 90              # Score >= 90 = CRITICAL
high = 70                  # Score >= 70 = HIGH
medium = 40                # Score >= 40 = MEDIUM
low = 20                   # Score >= 20 = LOW

Archivo de campos utilizados para la evualuación (network_fields.yml)

# Campos estándar
standard_fields:
  - field: data.srcip
    description: "IP de origen estándar"

# Campos de Suricata
suricata_fields:
  - field: data.flow.src_ip
    description: "IP origen de Suricata"

# Campos personalizados
custom_fields:
  - field: data.mi_integracion.ip_field
    description: "Mi campo personalizado"

# Estructuras anidadas a explorar
nested_structures:
  - data.flow
  - data.network

# Campos a ignorar
ignore_fields:
  - data.hostname

🛠️ Comandos de Administración

# Gestión del servicio
sudo wazuh-reputation start              # Iniciar servicio
sudo wazuh-reputation stop               # Detener servicio
sudo wazuh-reputation restart            # Reiniciar servicio
sudo wazuh-reputation status             # Ver estado y estadísticas

# Operaciones
sudo wazuh-reputation check-once         # Ejecutar análisis manual
sudo wazuh-reputation test-apis          # Probar conexión con APIs
sudo wazuh-reputation clear-cache        # Limpiar cache de IPs
sudo wazuh-reputation test-email    # Probar el envío de notificaciones por correo electrónico

# Consultas
sudo wazuh-reputation show-stats         # Mostrar estadísticas detalladas
sudo wazuh-reputation show-ips [N]       # Mostrar últimas N IPs analizadas
sudo wazuh-reputation show-alerts [N]    # Mostrar últimas N alertas enviadas

# Mantenimiento
sudo wazuh-reputation logs               # Ver logs en tiempo real
sudo wazuh-reputation backup             # Crear backup manual
sudo wazuh-reputation config             # Editar configuración
sudo wazuh-reputation test-email         # Probar configuración de email
sudo wazuh-reputation show-fields        # Ver campos de red configurados
sudo wazuh-reputation edit-fields        # Editar campos para evaluación personalizados
sudo wazuh-reputation check-once         # ejecutar la aplicación completa, útil si se habilita el modo de prueba

📊 Gestión del Servicio

Estado del Servicio

# Ver estado completo
sudo systemctl status wazuh-ip-reputation

# Ver logs del servicio
sudo journalctl -u wazuh-ip-reputation -f

# Habilitar inicio automático
sudo systemctl enable wazuh-ip-reputation

Activar/Desactivar modo de prueba

# Activar modo de prueba
sudo wazuh-reputation test-mode-on

# Desactivar modo de prueba
sudo wazuh-reputation test-mode-off

# Reiniciar para aplicar cambios
sudo wazuh-reputation restart

Editando la configuración:

# Editar configuración
sudo nano /etc/wazuh-ip-reputation/config.ini

# En la sección [general], agregar o modificar:
test_mode = true   # o false para desactivar

# Reiniciar el servicio
sudo systemctl restart wazuh-ip-reputation

Verificación:

bash
# 1. Verificar el estado del servicio
sudo wazuh-reputation status

# 2. Probar la extracción de IPs
sudo wazuh-reputation check-once

# 3. Ver los logs en tiempo real
sudo wazuh-reputation logs

# 4. Si activaste el modo de prueba, deberías ver:
# "Modo de prueba activado - generando IPs de ejemplo"
# Y 3 IPs de prueba serán procesadas

Agregar campos personalizados para su evaluación

1.- Editar el archivo:

sudo wazuh-reputation edit-fields

2.- Agregar campos en la sección apropiada:

custom_fields:
  - field: data.mi_campo.ip_origen
    description: "IP de mi sistema personalizado"

3.- Reiniciar el servicio:

sudo wazuh-reputation restart

Sistema de Notificaciones

El sistema envía notificaciones automáticas cuando detecta IPs con niveles de riesgo CRITICAL, HIGH o MEDIUM.

Características de las Notificaciones:

  • 📧 Formato HTML enriquecido con información detallada
  • 🔔 Deduplicación: No repite alertas de la misma IP en 24 horas
  • 📊 Agrupación por severidad: Organiza IPs por nivel de riesgo
  • 🌍 Información contextual: País, ISP, puertos abiertos, detecciones

Ejemplo de Notificación

🚨 Alerta de Seguridad Wazuh
IPs Maliciosas Detectadas

⚠️ CRÍTICAS (2)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IP: 192.168.1.100
Score de Riesgo: 95/100
Nivel: CRITICAL
País: CN
ISP: China Telecom
VT Detecciones: 15/87
Puertos: 22, 80, 443, 3389

⚠️ ALTAS (3)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IP: 10.0.0.50
Score de Riesgo: 75/100
Nivel: HIGH
País: RU
ISP: Petersburg Internet Network
VT Detecciones: 8/87

🗑️ Desinstalación

# Descargar script de desinstalación
wget https://raw.githubusercontent.com/juanpadiaz/wazuh-ip-reputation/main/wazuh_ip_reputation_uninstall.sh

# Ejecutar desinstalación
sudo bash wazuh_ip_reputation_uninstall.sh

# Desinstalación sin confirmaciones
sudo bash wazuh_ip_reputation_uninstall.sh --force

# Desinstalar pero mantener la base de datos
sudo bash wazuh_ip_reputation_uninstall.sh --keep-database

# Desinstalar sin crear backup
sudo wazuh_ip_reputation_uninstall.sh --no-backup

# Ver ayuda
sudo bash wazuh_ip_reputation_uninstall.sh --help

El script de desinstalación permite:

  • 🗑️ Elimina usuario del sistema
  • 🗑️ Elimina grupo del sistema
  • 📝 Verifica archivos remanentes
  • ✅ Crear backup antes de desinstalar
  • ❓ Eliminar base de datos (opcional)
  • 📝 Conservar logs (opcional)
  • 💾 Conservar datos históricos (opcional)

🔐 Seguridad

Mejores Prácticas Implementadas

  1. Permisos del Sistema:
    • Usuario dedicado sin shell (wazuh-reputation)
    • Archivos de configuración con permisos 640
    • Separación de privilegios
  2. Base de Datos:
    • Usuario dedicado con permisos mínimos
    • Contraseñas generadas aleatoriamente
    • Conexiones solo desde localhost
  3. API Keys:
    • Almacenadas en archivo protegido
    • No se muestran en logs
    • Rotación recomendada cada 90 días
  4. Comunicaciones:
    • HTTPS para todas las APIs externas
    • TLS/STARTTLS para email
    • Verificación SSL configurable

🔧 Solución de Problemas

Problemas Comunes

El servicio no inicia

# Verificar logs
sudo journalctl -u wazuh-ip-reputation -n 50

# Verificar configuración
sudo wazuh-reputation test-apis

# Verificar permisos
ls -la /etc/wazuh-ip-reputation/config.ini

No se reciben emails

# Probar configuración de email
sudo -u wazuh-reputation /opt/wazuh-ip-reputation/venv/bin/python << EOF
import smtplib
# Verificar conexión SMTP
EOF

# Para Gmail: verificar contraseña de aplicación
# Para otros: verificar puerto y autenticación

Error de API rate limit

# VirusTotal: Límite 4 requests/minuto (sin API key)
# AbuseIPDB: Límite 1000 requests/día
# Shodan: Límite según plan

# Solución: Aumentar cache_duration en config.ini

Base de datos llena

# Ver tamaño de tablas
mysql -u root -p -e "
SELECT table_name, ROUND(data_length/1024/1024, 2) AS 'Size MB'
FROM information_schema.tables
WHERE table_schema = 'wazuh_ip_reputation';"

# Limpiar datos antiguos (>90 días)
mysql -u root -p wazuh_ip_reputation -e "
DELETE FROM processed_ips WHERE processed_at < DATE_SUB(NOW(), INTERVAL 90 DAY);
DELETE FROM sent_alerts WHERE sent_at < DATE_SUB(NOW(), INTERVAL 90 DAY);"

📊 Métricas del Proyecto

  • Líneas de código: ~2,800
  • Archivos Python: 2
  • Scripts Bash: 2
  • Tablas de BD: 5
  • APIs integradas: 4 (Wazuh + 3 threat intel)
  • Tiempo promedio de análisis por IP: 3-5 segundos
  • Uso de memoria: ~100-200 MB
  • Almacenamiento requerido: ~1GB inicial + crecimiento según uso

📝 Changelog

Versión 3.0.0 (2024-07-28)

  • ✅Soporte mejorado para integraciones:
    • Suricata: data.flow.src_ip, data.flow.dest_ip
    • pfSense: Campos de firewall
    • IDS/IPS: Campos genéricos
    • Aplicaciones web: Headers y campos específicos
  • 📋Comando para probar email
  • ✨Archivo de campos personalizables
  • ✨Soporte mejorado para integraciones
  • ✨Método de extracción mejorado

Versión 2.0.2 (2024-07-12)

  • 📋Busca en múltiples endpoints de Wazuh
  • ✅Incluye vulnerabilidades y eventos de integridad
  • ✅Modo de prueba para generar IPs de ejemplo
  • ✅Mejor logging y manejo de errores

Versión 2.0.1 (2024-06-08)

  • 📋 Cambios principales en la versión 2.0.1:
  • ✅ Corrección de VirusTotal API:
  • ✨URL correcta: https://www.virustotal.com/api/v3/ip-addresses/{ip}
  • ✨Headers apropiados: ‘x-apikey’ y ‘Accept: application/json’
  • ✨Mejor manejo de respuestas 404 (IP no encontrada)
  • ✨Navegación correcta en la estructura JSON de respuesta
  • ✨Solo busca en endpoint /alerts
  • ✨Requiere alertas activas para encontrar IPs
  • ✅ Otras mejoras:
    • ✨Actualizada la versión a 2.0.1 en todo el código
    • ✨Mejor manejo de errores en todas las APIs
    • ✨Logging mejorado para diagnóstico

Versión 2.0.0 (2024-06-02)

  • 🎉 Release inicial completo
  • ✨ Integración con Wazuh API
  • ✨ Soporte para VirusTotal, AbuseIPDB y Shodan
  • ✨ Sistema de puntuación de riesgo
  • ✨ Notificaciones por email HTML
  • ✨ Base de datos MariaDB/MySQL
  • ✨ Herramientas de administración CLI
  • ✨ Sistema de cache inteligente
  • ✨ Backup automático
  • ✨ Instalador y desinstalador interactivos

Roadmap Futuro

  • 📅 v3.1.0: Integración con más APIs (AlienVault OTX, ThreatCrowd)
  • 📅 v3.2.0: Dashboard web para visualización
  • 📅 v3.3.0: Integración con Elastic Stack
  • 📅 v4.0.0: Machine Learning para detección de anomalías

👨‍💻 Autor y Licencia

  • Desarrollador: Juan Pablo Díaz Ezcurdia
  • Websitejpdiaz.com
  • Licencia: MIT License
  • Versión: 3.0.0
  • Última actualización: Julio 2025