Skip to content

Events / SIEM

Events / SIEM

Buffer local de eventos de seguridad y operativos. Ingiere del sensor local, integraciones configuradas y syslog. No es un SIEM centralizado; es visibilidad inmediata en la estación del operador.

Arquitectura del buffer

┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Sensor │ │ Integraciones│ │ Syslog │
│ (procesos, │ │ (FortiGate, │ │ (UDP/TCP │
│ puertos, │────▶│ Palo Alto, │────▶│ TLS 514/ │
│ auth) │ │ Wazuh, etc) │ │ 6514) │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
└───────────────────┼───────────────────┘
┌─────────────────────────┐
│ Normalizador (Main) │
│ - Validar esquema │
│ - Enriquecer (asset ID,│
│ geoIP privado, OUI) │
│ - Severidad normalizada│
└───────────┬─────────────┘
┌─────────────────────────┐
│ SQLite: events table │
│ - Índices: ts, sev, │
│ src_ip, dst_ip, src │
└───────────┬─────────────┘
┌─────────────────────────┐
│ Renderer (UI) │
│ - Búsqueda full-text │
│ - Filtros columna │
│ - Export CSV/JSON │
└─────────────────────────┘

Tabla events (SQLite)

CREATE TABLE events (
id TEXT PRIMARY KEY, -- UUID
timestamp INTEGER NOT NULL, -- epoch ms
severity TEXT NOT NULL, -- critical, high, medium, low, info
type TEXT NOT NULL, -- firewall, ids, auth, network, system
src_ip TEXT, dst_ip TEXT,
src_port INTEGER, dst_port INTEGER,
protocol TEXT, -- tcp, udp, icmp, ...
action TEXT, -- allow, block, drop, alert, login, logout
message TEXT, -- mensaje legible
raw_json TEXT, -- evento original completo
source TEXT NOT NULL, -- sensor, fortigate, wazuh, zabbix, snmp, syslog
asset_id TEXT REFERENCES assets(id), -- enriquecido si match IP/MAC
ingestion_ts INTEGER DEFAULT (strftime('%s','now')*1000)
);
CREATE INDEX idx_events_ts ON events(timestamp);
CREATE INDEX idx_events_sev ON events(severity);
CREATE INDEX idx_events_src ON events(src_ip);
CREATE INDEX idx_events_srcport ON events(src_port);
CREATE INDEX idx_events_asset ON events(asset_id);

Fuentes de eventos

FuenteTipos típicosSeveridad por defectoConfiguración
Sensor localProceso nuevo, puerto abierto, auth fallido, servicio detenidoinfo / lowSettings → Sensor → Módulos activos
FortiGateFirewall block/allow, IPS, AV, Web filter, SSL VPNSegún log FortiGateSettings → Integraciones → FortiGate → Categorías
Palo AltoTraffic, Threat, URL, Data, WildFire, AuthSegún log PAN-OSSettings → Integraciones → Palo Alto → Log types
WazuhAlertas reglas, FIM, Rootcheck, Auth, SyscollectorSegún regla WazuhSettings → Integraciones → Wazuh → Rule IDs
ZabbixTriggers problem/ok, Discovery, Auto-regSegún trigger severitySettings → Integraciones → Zabbix → Host groups
SNMPTraps (linkDown, authFail, coldStart)medium / highSettings → Integraciones → SNMP → Trap handlers
SyslogRFC5424/3164 parseado; facility + severity mapeadosMapeo syslog→internoSettings → Integraciones → Syslog → Parsers

UI: Vista de eventos

Barra de herramientas

ControlFunción
Búsqueda full-textmessage:firewall AND severity:critical (Lucene-style)
Filtro severidadMulti-select: 🔴🟠🟡🟢⚪
Filtro tipofirewall, ids, auth, network, system
Filtro fuentesensor, fortigate, wazuh, …
Rango temporalÚltima hora / 24h / 7d / 30d / Custom
ColumnasToggle: src/dst IP, puertos, protocolo, acción, asset, raw
Auto-refresh10s / 30s / 60s / Manual
ExportarCSV / JSON (vista actual o selección)

Tabla de eventos (columnas por defecto)

ColumnaDatoOrdenableFiltrable
⏰ Tiempotimestamp relativo + absoluto✅ (rango)
🔴 Severidadbadge color✅ multi
🏷 Tipotype
📡 Fuentesource badge
➡️ Origensrc_ip:src_port✅ IP/CIDR
⬅️ Destinodst_ip:dst_port✅ IP/CIDR
📦 Protocoloprotocol
⚡ Acciónaction (allow/block/alert)
💬 Mensajemessage (truncado 120 chars)✅ full-text
🔗 Assetenlace a asset si asset_id

Detalle de evento (clic fila → panel lateral)

┌────────────────────────────────────────────────────────────┐
│ 2025-01-15 14:32:17 🔴 critical firewall fortigate │
├────────────────────────────────────────────────────────────┤
│ Source: fortigate-fw-01 (10.0.1.1) │
│ Action: block │
│ Proto: tcp │
│ 10.10.20.5:54321 → 203.0.113.50:443 │
│ Rule: "Block Malicious IPs" (ID 104) │
│ Message: "Blocked connection to known C2 IP" │
├────────────────────────────────────────────────────────────┤
│ RAW JSON (expandible) │
│ { │
│ "logid": "1000000001", │
│ "srcip": "10.10.20.5", "dstip": "203.0.113.50", │
│ "srcport": 54321, "dstport": 443, │
│ "action": "deny", "policyid": 104, │
│ "sentbyte": 0, "rcvdbyte": 0, │
│ "level": "alert", "msg": "Blocked connection..." │
│ } │
├────────────────────────────────────────────────────────────┤
│ ASSET ENRIQUECIDO: │
│ 10.10.20.5 → web-02.example.local (server, Conf 0.92) │
│ [Ver en Inventario] [Ver en Topología] │
├────────────────────────────────────────────────────────────┤
│ ACCIONES: [Crear Incidente] [Consultar ARGUS] [Ack] │
└────────────────────────────────────────────────────────────┘

Búsqueda avanzada (Lucene-style)

# Ejemplos
severity:critical AND source:fortigate
src_ip:10.10.20.5 AND dst_port:443
type:auth AND action:fail AND message:"invalid password"
timestamp:[now-1h TO now] AND severity:(critical OR high)
asset_id:abc-123-def
NOT severity:info

Retención y límites

ParámetroDefectoConfigurableAcción al límite
Retención temporal30 días1–365 díasDELETE WHERE timestamp < cutoff
Máx. eventos100,00010k – 1MPurga más antiguos (FIFO)
Tamaño DB events~500 MBVacuum automático semanal

Limpieza: Ejecuta al inicio + cada 24h. Marca stale → purga en siguiente ciclo.

Exportación

FormatoColumnasUso
CSVTodas visibles + raw_json (opcional)Excel, Splunk import
JSONArray de objetos completosAPI, automatización
STIX 2.1Observed-Data, IndicatorTIP, MISP, SOAR

Limitaciones

LímiteDetalleImplicación
No SIEM centralizadoBuffer local single-hostNo agrega multi-agente
Sin correlación multi-eventoReglas simples (severidad, tipo)No detecta patrones complejos
Retención finita30d / 100k por defectoHistórico largo → exportar periódico
Ingesta secuencialPolling integraciones → gaps posiblesRate limits dispositivo destino
Sin parsing custom avanzadoSyslog parsers fijosLogs no estándar → raw_json only
Índices limitados5 índices SQLiteQueries complejas lentas en >500k

Páginas relacionadas