SIEM on-premise cu LLM local: AI incident analysis fără să spargi confidențialitatea
Datadog și Splunk sunt SIEM cloud — log-urile dvs. pleacă. Pentru reglementați nu se poate. Stack open-source plus LLM local livrează SIEM enterprise la o fracțiune din cost.
SIEM on-premise cu LLM local: AI incident analysis fără să spargi confidențialitatea
Datadog. Splunk Cloud. Sumo Logic. Toate sunt SIEM-uri excelente. Toate au o caracteristică pe care, dacă lucrați într-o instituție publică, o bancă, un cabinet de avocatură reglementat sau un operator critic NIS2, e prohibitivă: log-urile dvs. — toate, inclusiv credențiale leak-uite, query-uri SQL cu PII, traffic internal, headere de autentificare — pleacă fizic la furnizor, în SUA sau pe infrastructura sa cloud.
Pentru un operator NIS2, asta e o problemă de conformitate. Pentru un avocat, e un risc de secret profesional. Pentru o instituție publică, e o decizie politică.
Acest articol descrie AEGIS — platforma noastră SIEM open-source on-premise cu analiză AI prin LLM rulat local. Arătăm arhitectura, fluxul log → triaj AI → operator, și de ce costul este 1/10 față de un SIEM cloud comparabil.
TL;DR
- SIEM-urile cloud (Datadog, Splunk, Sumo) cer să trimiteți log-urile către vendor. Pentru reglementați = problemă.
- AEGIS folosește stack open-source modern (log aggregation + search engine + metrici + IDS + HIDS) plus un LLM open-source rulat local pentru triajul incidentelor.
- AI face triajul de prim nivel; operatorul ia toate deciziile ireversibile (block IP, isolate host, page on-call).
- Active Response prin Wazuh poate auto-bloca atacuri la nivelul iptables, cu audit trail complet.
Problema cu SIEM-urile cloud
Un SIEM (Security Information and Event Management) modern face trei lucruri principale:
- Aggregează log-uri din toate sursele (servere, aplicații, firewall-uri, IDS).
- Le indexează pentru căutare full-text și corelare temporală.
- Aplică reguli de detecție și alertează la pattern-uri suspecte.
Stack-urile cloud ($Brand) excelează tehnic. Au UX bun, scaling automat, și vin cu mii de reguli pre-construite. Pentru un startup tech fără date sensibile, e alegerea optimă.
Pentru un client reglementat, problema vine în două forme:
Schrems II. Dacă vendorul e american (Datadog HQ Boston, Splunk HQ San Francisco), trimiterea log-urilor către el cade sub regimul transferurilor de date personale către SUA. Log-urile conțin invariabil date personale — IP-uri, username-uri, query-uri cu PII, cookie-uri de sesiune. Vezi analiza noastră Schrems II pentru detalii pe regulile EDPB.
Cost neliniar. SIEM-urile cloud taxează pe volum de log-uri ingerate. Pentru un datacenter activ — câteva mii de servere, mii de containere — ajungeți rapid la 50.000-200.000 EUR/an. Iar dacă încercați să economisiți reducând volumul de log-uri, reduceți și capacitatea de detecție.
Arhitectura AEGIS
AEGIS este o platformă unificată de observabilitate și SecOps pentru datacenter on-premise. Toate componentele rulează pe infrastructura clientului — niciun byte de log nu pleacă din rețea fără decizie explicită.
┌──────────────────────────────────────────────────────────────────┐
│ AEGIS — STACK OVERVIEW │
│ │
│ COLLECT AGGREGATE METRICS AI TRIAGE │
│ Fluent Bit Graylog + Prometheus + FastAPI + │
│ (forward, OpenSearch + Alertmanager + LLM open │
│ syslog, HTTP) MongoDB Grafana + source local │
│ Exporters (Qwen3-class) │
│ │
│ ▼ ▼ ▼ ▼ │
│ └────────────────┴──────────────────┴──────────────┘ │
│ │
│ SECURITY ACTIVE RESPONSE │
│ Suricata (IDS) + Zeek (network) + Wazuh AR │
│ Wazuh (HIDS) + Falco (runtime) (auto-block iptables, │
│ quarantine container)│
└──────────────────────────────────────────────────────────────────┘
Fiecare componentă este open-source mature, folosită în producție de organizații mari. AEGIS ascunde complexitatea integrării — clientul primește o platformă coerentă, nu nouă produse separate de gestionat.
Layerele
Collection. Fluent Bit este agentul de pe fiecare host. Foarte ușor (~5 MB RAM), suportă forward, syslog, HTTP, parsing de log-uri JSON și plain. Trimite tot către layerul de aggregation.
Log aggregation. Graylog + OpenSearch + MongoDB. Graylog gestionează routing-ul streamurilor, definirea regulilor de extracție, dashboards. OpenSearch indexează full-text. MongoDB stochează metadatele de configurare. Stack stable, retention configurabil pe storage local.
Metrics. Prometheus pentru metrici time-series. Alertmanager pentru routing alertelor. Grafana pentru vizualizare. Exporter-e pentru noduri (CPU/RAM/disc), containere, SNMP la switch-uri.
Security detection. Suricata pe span port-uri pentru IDS network. Zeek pentru analiză adâncă a traficului (DNS queries, certificate TLS, fluxuri suspecte). Wazuh ca HIDS pe fiecare host — file integrity monitoring, log analysis, vulnerability scanning. Falco pentru runtime container security (detectare comenzi exec în containere production).
AI triage pipeline. Aici e diferențiatorul. Un FastAPI primește alertele de la Alertmanager, Suricata, Wazuh. Le agregează în context complet (cine, ce, când, log-uri relevante din ultimele N minute). Trimite contextul la un LLM open-source rulat local. LLM-ul produce un triaj: severitate estimată, ce înseamnă alerta, recomandare de acțiune. Output-ul ajunge la operator pe dashboard plus webhook (Telegram, Slack self-hosted, email).
Fluxul end-to-end al unui incident
Să urmărim un atac SSH brute-force pas cu pas, cum apare în AEGIS:
T+0s — Atacatorul testează. IP 198.51.100.42 încearcă să se logheze cu root@server-vm-50 cu parolă greșită. SSHd loghează Failed password for root from 198.51.100.42.
T+1s — Fluent Bit colectează. Agentul Fluent Bit pe host parsează log-ul, îl serializează JSON cu metadata (host, timestamp, severity), trimite forward la layerul de aggregation.
T+2s — Graylog routează. Stream-ul ssh-failures are o regulă de extracție care detectează pattern-ul “Failed password” și extrage IP-ul atacator.
T+5s — Wazuh detectează escaladarea. Wazuh-ul de pe host monitorizează auth.log. La 5 încercări eșuate de la același IP în 60 de secunde, declanșează regula 5712 (SSH brute-force) cu severity 10.
T+5s — Active Response. Wazuh AR are configurat un script firewall-drop care, la severity ≥ 10 pe regula 5712, adaugă o regulă iptables: iptables -I INPUT -s 198.51.100.42 -j DROP cu timeout 24h. Atacatorul e izolat. Audit trail în Wazuh manager.
T+5s — Alertă către AI triage. Aceeași alertă merge prin Alertmanager către pipeline-ul AI. FastAPI agregează contextul:
- Cine:
198.51.100.42, GeoIP suggested = NL. - Ce: 5 SSH brute-force în 60s.
- Anterior: Suricata a detectat acum 30 minute scan port pe același IP.
- Hosts țintă:
server-vm-50(database server). - Acțiune Wazuh: blocat iptables.
T+8s — LLM analizează. LLM-ul open-source rulat local (un model open-source modern de clasă 30-70B parametri, rulat pe GPU-ul nostru intern) primește contextul structurat și produce un raport scurt:
Severitate estimată: Medium (atac automatizat, contained)
Tip atac: SSH brute-force după port scan, pattern de scanner automat.
Stare: blocat la nivel iptables prin Wazuh AR.
Recomandare:
1. Verifică dacă IP-ul a încercat alte servicii (consultă Suricata logs).
2. Adaugă IP la lista de blocaj permanent dacă pattern-ul se repetă.
3. Revizuiește dacă root login SSH e activat — best practice = keys only.
T+10s — Operatorul vede. Pe dashboard-ul AEGIS apare o card cu alerta originală + raportul AI + acțiunea automată Wazuh + butoane pentru next actions. Operatorul citește, decide. În cazul acesta majoritar acceptă recomandarea (block permanent), dar are libertatea să escaladeze sau să marcheze fals pozitiv.
De ce LLM-ul rulează local — și de ce e suficient
Dacă AI-ul face triajul automat, de ce nu folosim un model frontier ca GPT-5 sau Claude Opus prin API?
Două motive.
Confidențialitatea log-urilor. Log-urile conțin tot ce a fost descris la început — credențiale leak-uite în mesaje de eroare, IP-uri interne, query-uri SQL cu PII, headere cu token-uri. Trimiterea lor la un API extern recreează exact problema pe care o evităm.
Costul. Un datacenter activ generează ~10K alerte semnificative/zi care merită triaj AI. La 5K tokens medie per context (alerta + log-uri relevante + răspuns), suntem la 50M tokens/zi. La tarife API frontier, asta e câteva mii EUR/lună doar pentru triaj.
Modelele open-source moderne, rulate pe un singur GPU enterprise (A100/H100/H200), produc triaj de calitate suficientă pentru această sarcină. Nu cerem LLM-ului să rezolve un atac complex — cerem să recunoască pattern-uri (brute-force vs malformed packet vs misconfig), să corelze log-uri, să producă un sumar pentru operator. Asta e exact tipul de task la care un LLM 30-70B parametri excelează.
Folosim modele open-source de clasă enterprise (multilingv română + engleză), cu fine-tuning pe corpus-ul nostru de incidente istorice. Latența medie de triaj: 2-5 secunde per alertă.
Active Response — limite intenționate
Wazuh Active Response poate auto-acționa la incidente: block IP, kill proces, izolat container, șters fișier suspect. Tentația e să automatizezi cât mai mult.
Limita pe care am tras-o: AR auto-acționează doar pe acțiuni reversibile cu impact controlat. Block iptables cu timeout 24h = reversibil. Block iptables permanent = decizie operator. Kill proces suspect = reversibil. Restart serviciu = decizie operator. Izolare container din network = reversibil. Ștergere fișier = nu, niciodată.
Auto-acțiunea trebuie să nu doboare producția dacă greșește. Dacă regula 5712 produce un fals pozitiv care taie un IP legitim 24h, e neplăcut dar reversibil. Dacă rețeaua de production se taie singură, e disaster.
În producția curentă, 29 de agenți Wazuh au Active Response activ. Au blocat în 30 zile recente ~2.400 IP-uri brute-force, cu zero incidente de fals pozitiv care să afecteze utilizatori legitimi (toți erau scannere automate).
Costul comparativ
Un cluster AEGIS complet (log aggregation cu retention 90 zile, metrici cu retention 1 an, IDS network, HIDS pe ~75 hosts, AI triage cu un GPU dedicat) cere:
- Hardware: 5 VM-uri (40 vCPU + 64 GB RAM + 800 GB storage cumulat) plus 1 GPU enterprise. Pe infrastructură on-premise existentă, cost amortizat ~6-12K EUR/an.
- Software: zero — tot stack-ul e open-source (Apache 2.0, AGPL, BSD).
- Operare: un FTE part-time pentru tuning reguli, update-uri, on-call. ~30K EUR/an.
Total: aproximativ 36-42K EUR/an inclusiv ops.
Echivalent cloud (Datadog, Splunk Cloud, Sumo Logic la volumele de log-uri ale unui datacenter de mărimea descrisă): 200-400K EUR/an.
Diferența nu e numai banii. E și suveranitate.
Articole conexe
- AI incident analysis cu LLM local: pattern de triaj de la 30 minute la 30 secunde
- Graylog vs Splunk pentru SMB de 50-500 servere: TCO 3 ani și capcanele de scaling
- TCO SIEM SaaS vs on-premise: 200 servere și 10k events/sec, cifre pe 3 ani
- Implementation NIS2 — checklist operațional pentru entități esențiale și importante
- Pillar AEGIS — SIEM on-premise cu AI local
Pași următori
Dacă administrați un datacenter on-premise sau un cluster hibrid și evaluați înlocuirea unui SIEM cloud — pe pagina AEGIS găsiți specificațiile complete, planul de instalare 30 zile, și tarifele operaționale. Sau scrieți la contact pentru o discuție tehnică inițială.
Articole adiționale: De ce nu Auth0 — Schrems II (compliance pentru autentificare) · Hardening pre-producție (cum testăm intern).