Aegis je simbol zaštite, budnosti i kontrole. Izgrađen za stalni nadzor i brz odgovor na prijetnje, Aegis pruža povjerenje u svakom sigurnosnom trenutku.
Prijava u sustav
Unesite svoje korisničke podatke za pristup Aegis platformi.
🔒 Unesite 6-znamenkasti kod iz vaše autentikator aplikacije:
🔐 Obavezna postava 2FA autentikacije
Administrator je omogućio 2FA za sve korisnike. Skenirajte QR kod Authenticator aplikacijom (Google Authenticator, Authy...) i unesite kod za potvrdu.
Ili unesite tajni ključ ručno:
🔒 Pristup je omogućen isključivo ovlaštenim korisnicima. Sve aktivnosti unutar sustava podliježu sigurnosnom nadzoru i evidentiranju.
🔒 Obavezna promjena lozinke
👁SOC Mode:MONITOR
Aegis SOC
⚠️
🛡️ Coverage Score — MSP/NIS2 posture
Ucitavanje...
🏢
0/0
Nodovi online
0
Kontakti
-
Plan
-
Op mode
SLA (h)
C: -H: -M: -L: -
Compliance Report:
0
🔴 Kritično
0
🟠 Visoko
0
🟡 Srednje
0
🔵 Nisko
0
ℹ️ Info
0
🎯 Napadači 24h
0
🚫 Blokirano danas
0
🚨 Aktivni alarmi
0
⚠ Neriješeni K+V
0
📋 Logovi danas
0
🌐 Geo Block danas
0
🔮 Auto Block danas
0
🔎 Would-Block 24h
0
🔗 Korelirani
0
🧠 ADA 24h
0
📄 Cases
0
⚡ SOAR danas
0
⚠️ DDoS (akt / Σ)
0
🔬 Auto-Verify 24h
Sigurnost:
Top napadani node
—
Top pravilo
—
Top MITRE tehnika
—
0
Tenants
0
Nodova
0
Online
0
Offline
🚨 Aktivne prijetnje−
Ozbiljnost
IP
Node
Pravilo
MITRE
Vrijeme
Nodovi−
Nodovi
📄 PDF
📊 XLSX
➕ Dodaj novi node
📋 Prije nego dodaš: u portal.azure.com kreiraj
Microsoft Entra ID → App registrations → New registration,
generiraj Client secret, dodjeli Application permissions
(AuditLog.Read.All, SecurityEvents.Read.All,
IdentityRiskyUser.Read.All, Directory.Read.All)
i klikni Grant admin consent.
Otvori Azure portal ↗
Prazno polje = koristi agentov default. Port Scanner — detekcija skeniranja portova. Auto-Block — dozvoli automatsko blokiranje na ovom nodu. Geo Blocking izuzece — preskoči sve geo block pravila za ovaj node. Reverse Proxy — označi node kao IIS reverse proxy. Firewall ispred — odaberite router/firewall ispred ovog noda za ispravni prikaz na SIEM mapi.
WINDOWS EVENT LOG KANALI
Security se uvijek prati. Odaberite dodatne kanale iz popisa dostupnih na ovom nodu.
Kliknite "Skeniraj kanale" da vidite dostupne kanale na ovom nodu.
📂 Prilagođeni log putovi
NAZIV (label)
PUTANJA DO LOGA
SERVICE NAME (u logovima)
Agent prati ove datoteke uz standardne servise. Service name se koristi kao oznaka u log zapisima. Promjene su aktivne na sljedećem heartbeatu.
📈 Telemetrija
Vrijeme
CPU%
RAM%
Disk%
💾 Sent
🖥️ Recv
🛠 Servisi
📄 PDF
📊 XLSX
✓ Uključi Prati logove kako bi se logovi servisa spremali na disk za analizu i alerting.
Servis
Status
Prati logove
Node putanja loga
24h
Greske
📝 Logovi ovog noda (zadnjih 100)
Učitavam...
📦 Inventar opreme (Asset Inventory)
KERNEL
—
CPU
—
RAM
—
ZADNJI BOOT
—
Diskovi
—
🔐 Licence / Pretplate
Naziv
Status
Istječe
Tip
—
Mrežna sučelja
—
Otvoreni portovi (listening)
Port
Proto
Adresa
Proces
—
Port Audit (Windows Firewall)
Port
Servis
Status
FW pravila
Rizik
—
Instalirani paketi
Paket
Verzija
—
📝 Ručni unos
ASSET TAG / INVENTARNI BR.
MODEL HARDVERA
LOKACIJA / RACK
ODGOVORNA OSOBA
DATUM NABAVE
GARANCIJA DO
NAPOMENE
💽 Disk & RAID
Volume-i
—
RAID stanje
—
SMART (disk health)
Device
Health
Temp (°C)
Power On (h)
Pending
Realocated
—
📋 Primjenjiva pravila
Sev
Pravilo
MITRE
Servis match
Zadnje okidanje
Enabled
—
🐛 Ranjivosti (CVE)
📄 PDF
📊 XLSX
📦 Instalirani paketi (0)
🔒 File Integrity Monitoring
📄 Praticeni fajlovi (0)⚙ Custom FIM putanje (globalno)
💡 FIM iznimke dodajte u Iznimke tab (scope: FIM) — isti sustav kao za SDS/API exclusione.
Akcije dostupne za sve tipove (Linux/Windows agent, Mikrotik/FortiGate/Barracuda appliance).
🛠 Upravljanje agentom
AegisUpdate:nepoznato
Upravljanje servisom (preko AegisUpdate)
Ostalo
Povijest komandi
ID
Komanda
Status
Rezultat
Poslano
Ažurirano
Logovi
Alarmi
IP
Pravilo
Status
Broj
Prvi put
Učitavam...
🌐 IIS logovi:
Klikni Pretraži za učitavanje logova.
Čita logove s diska: /opt/kolektor/logs/nodes/{ID-noda}/{servis}/YYYY-MM-DD.log
— dostupno samo za servise s uključenim praćenjem (checkbox u detalju noda).
Odaberi node, servis i datum za prikaz history logova.
🌏 Djeca SOC-ovi (Central Control)
soc.aegis.hr je majka. Ovdje registriras podredene SOC-ove i upravljas tko smije raditi. SHUTDOWN → dijete ugasi web sucelje (detekcija/agenti/blokiranje rade dalje). Dijete povlaci svoj flag svakih par minuta.
✚ Registriraj novi SOC
NAZIV
BASE URL (info)
BILJESKA
Naziv
Status
Online
Verzija
Zadnje videno
IP
Biljeska
Akcije
Tenants
📄 PDF
📊 XLSX
ID
Naziv
Kontakti za alerting
Block trajanje
Kreiran
🏠 Podaci subjekta
⏱ SLA po severity-ju (sati)
🖼 Logotip subjekta
Nije učitan logotip
PNG, JPG, SVG · maks. 512 KB
➕ Kontakti za alerting
Tip
Vrijednost
Oznaka
Dodano
Korisnici
📄 PDF
📊 XLSX
➕ Novi korisnik
ID
Email
Role
Tenant
Status
2FA
📞 Telefon/SMS
📊 Telemetrija
Zadnji login
Fail
Kreiran
📄 Aktivnost korisnika:
Vrijeme
Akcija
Metoda
Endpoint
IP adresa
Browser
🔒 Upravljanje ovlastenjima
Odaberite tenant i korisnika za konfiguraciju pristupa tabovima i funkcijama.
📋 Kopiraj ovlastenja s drugog korisnika
📦 Install Script Generator
Prikazani su samo nodovi bez aktivnog agenta (offline ili nikad spojeni).
🚀 Mass Deploy
Generiraj univerzalni URL za mass instalaciju agenta. Jedan URL za Linux i Windows — skripta automatski prepoznaje platformu.
✅ Deploy URL generiran! Kopiraj komandu i zalijepi na ciljni server:
🌐 Isti URL za oba OS-a — skripta automatski prepoznaje platformu. Token istice za 7 dana.
Upad se dokazuje LANCEM signala, ne pojedinačnim alarmom. Pravilo spaja
korake (stages) po entitetu (IP / nod / račun) u prozoru; ako se poklopi
≥ min koraka → incident. Ako nema niti jednog upaljenog pravila →
korelacija ne radi. Izvori koraka: alert_events (postojeći alarmi),
compromise_findings (webshell), outbound_flows (C2/TI).
Odaberi node i klikni "Osvježi s noda" za prikaz pravila.
🛡 Governed Block / Unblock (s razlogom i audit trailom)
📜 Audit Trail
📄 PDF
📊 XLSX
Node
Akcija
IP
Razlog
Tko
Kada
Status
Istječe
Nema komandi.
🌍 Karta prijetnji
Node (aktivan)
Node (offline)
Blokirana IP
Prijetnja (nije blokirana)
🗺 cPanel AtlasHosting karta — cphost › cpuser › domene/stranice/maili/SSL/cron. Pretraživo po svim faktorima.
Klikni "Učitaj" da prikažeš cPanel hosting kartu.
📊 Izvještaji
🛡
Security Report
Sigurnosni izvještaj po nodu, tenantu ili kompletnoj infrastrukturi
📊 Sažetak sigurnosnih događaja
🎯 Top napadači
IP
Alarmi
Pokušaji
Država
ISP
Abuse
Blokiran
Zadnji
🛡 MITRE ATT&CK analiza
MITRE ID
Naziv
Taktika
Događaji
Jedinstveni IP
🚨 Alarmi
Pravilo
IP
Korisnik
Ozbiljnost
Status
Pokušaji
Zadnji
🚫 Blokirane IP adrese
IP
Blokirano
Status
Ističe
📋 Distribucija logova po servisu
Servis
Broj zapisa
📅 Dnevna aktivnost napada
Datum
Događaji
Jedinstveni IP
Pokušaji
📈 Telemetrija
Vrijeme
CPU %
RAM %
Disk %
📤 Sent
📥 Recv
🌎 Karta napada
🔴 Top IP adrese napadača
Učitavam...
#
IP adresa
Alarmi
Nodovi
Maks. ozbiljnost
Zadnji put viđen
Pravila
🔍 Detalji IP adrese:
💻 Alarmi po nodu
Node
Status
Ukupno
Aktivni
Kritično
Visoko
Srednje
Nisko
🛡 MITRE ATT&CK tehnik pregled
MITRE ID
Naziv
Taktika
Pravilo
Ukupno
Aktivni
Jedinstveni IP-evi
🔎 Port Scanner Nadzor
⚙ Kreator izvještaja
VRSTA IZVJEŠTAJA
OD
DO
NODE (prazno = svi)
LIMIT
🔒 OS / Firmware End-of-Life
Tablica podrzanih OS-ova i firmware-a s datumima prestanka podrske. Nodovi s EOL sustavom automatski se oznacavaju kao RANJIVI.
➕ Dodaj novi zapis
⏱️ Trajanje toast obavijesti
Globalna postavka koliko dugo se prikazuju toast obavijesti u GUI-u (svi tipovi: alarmi, auto-import, info, greške). Min 1 s, max 60 s.
ms (1000 = 1 s)
📡 CVE Watch (auto-pull NVD/CISA)
Master switch za automatski CVE feed. Kad je isključeno: cron pull staje, daily email staje, GUI drafts sekcija u Pravila se sakriva.
Postojeća pravila (aktivna i drafted) ostaju kao što jesu.
Učitavam...
v2026-05-09: Ovaj toggle kontrolira i novi auto-activate worker — svaki ciklus provjerava nove KEV/critical/high CVE-ove, match-a fleet packages (samo ono što imamo na nodovima — ne lupa sve iz NVD-a redom), validira regex pa aktivira pravilo. Ako pattern nije validan (re.compile fail), pravilo ostaje u draft-u za rucni pregled.
Microsoft Security Response — NVD pokriva sve Windows CVE-ove. MSRC api zahtijeva Bearer token + CVRF parsing (Patch Tuesday). Trenutno se ne fetcha direktno — oslanjamo se na NVD enrichment.
v2026-05-09: aktivni worker — svaki 6h POST per-package query za fleet packages. Coverage: Debian, Ubuntu, AlmaLinux, Rocky, Red Hat, PyPI, npm, RubyGems. Auto-insert u cve_watch kao status='new', auto-activate worker preuzme.
Worker periodicno fetcha + populjava cve_watch tablicu. Auto-activate filter aktivira CVE pravilo samo ako CPE/title match-a barem 1 paket u node_packages (fleet-only).
v2026-05-09 fix: CISA KEV sad fetcha iz GitHub mirror-a (cisagov/kev-data) — isti JSON, primary host www.cisa.gov nas je rate-limit-banned ("mozda smo precesto povlacili"). Fallback: GitHub → www.cisa.gov → cache.
minuta (min 5, max 1440 = 24h, default 30)
⚙️ Background Workers (master switches)
Periodicni server-side workers koji obavljaju automatsko monitoring/akcije. Default svi UKLJUČENI. Iskljucivanje je trenutno (worker u sljedecem ciklusu vidi promjenu).
5min poll, Linux nodovi (skipa CSF hostove)
90s poll, auto-resolve rule 294/295/296 bez evidence
🔗 CVE Hub Client (kaci se na upstream Aegis)
Konfiguriraj kao downstream instalacija (npr. soc.ogma.hr ili klijent install) koja periodicno povlaci CVE pravila s upstream Aegis-a (npr. kolektor.bu.hr). Master upstream izdaje API key kroz "CVE Hub Clients" sekciju ispod (vidi se samo na upstream-u, ne ovdje).
—
📡 CVE Hub Clients (downstream Aegis instalacije)
Distribuiraj curirana CVE pravila prema drugim Aegis instancama. Svaki klijent dobiva svoj API key (prikazan SAMO JEDNOM pri stvaranju ili regeneriranju).
Endpoints: GET /api/cve-feed/manifest, GET /api/cve-feed/rules?since=..., POST /api/cve-feed/heartbeat.
Učitavam klijente...
✉ SMTP Postavke (e-mail obavijesti)
Konfiguracija SMTP servera za slanje e-mail obavijesti. Postavke se čuvaju u bazi podataka i vrijede odmah.
SMTP SERVER (host)
PORT
KORISNIČKO IME
LOZINKA
FROM ADRESA
NOC E-MAIL (uvijek prima kopiju)
Trenutne postavke: Klikni "Učitaj trenutne" za prikaz.
🔧 Test veze (test e-mail)
Šalje probni e-mail putem trenutno aktivnih SMTP postavki iz baze. Spremi postavke prije testiranja.
🔔 Upravljanje Obavijestima (NMS)
Konfigurirajte koje obavijesti se salju i kojim kanalom. Prvo ukljucite zeljene kanale, zatim u matrici odaberite koje dogadjaje svaki kanal prima.
🛡 cPanel sigurnosne obavijesti (dnevni digest)
Jednom na dan šalje sažetak cPanel sigurnosnih nalaza (SSL istek, malware, SPF/DKIM/DMARC, inode) kroz NMS matricu (event: cpanel_security). Šalje samo ako ima nalaza.
👥 Primatelji obavijesti (po tenantu)
+ Dodaj kontakt
⚙ SMS / Poziv Gateway Konfiguracija
Za SMS i telefonske pozive potreban je gateway servis (Infobip, Twilio, ili slicno). Unesite API kljuc i broj posiljatelja.
💡 Primatelji se citaju iz Kontakata tenanta (kind=phone) + users s ukljucenim SMS opt-inom.
🏡 LAN/privatne IP adrese
Default OFF — LAN alerti idu samo emailom (manje sum u SMS/pozivima).
📣 Eskalacija i podsjetnici (reminder/escalate)
Ako alarm ostane new (nije ack-nut) dulje od reminder ili escalate praga, worker ponovno salje SMS / pokrece poziv.
Worker radi svakih 5 min, skenira unacked alerte > 15 min.
Događaj
Kanal
On
Cooldown
Reminder (min)
Max
Escalate (min)
Eskaliraj u
Akcije
✈ Telegram / WhatsApp / Signal Konfiguracija
✈ Telegram
1. @BotFather → /newbot 2. Dodaj bota u grupu 3. Chat ID: grupa ID ili user ID
💬 WhatsApp
Meta Business → WhatsApp API → Cloud API
🔒 Signal
Koristite signal-cli-rest-api Docker container
✉ Email predlozak po tenantu
Prilagodite boju zaglavlja, prefiks subjekta i tekst podnozja za email obavijesti po tenantu.
📅 Zakazani izvjestaji
Automatsko slanje sigurnosnih izvjestaja po rasporedu. Dnevni, tjedni ili mjesecni.
➕ Dodaj novi raspored
⏰ Eskalacija nerijesenih alarma
Automatski salje email obavijest NOC-u kada alarmi ostanu nerijeseni duze od zadanog broja dana.
Prag:dana
Nerijeseni >24h: -Nerijeseni >7d: -
🔗 Webhook obavijesti
Webhook šalje HTTP POST na navedeni URL pri svakom novom alarmu i blokiranoj/odblokiranoj IP adresi.
Kompatibilno sa Slackom, MS Teamsom, Zapierom, Make i sličnim servisima.
WEBHOOK URL
📦 Konsolidacije blokiranih adresa
Worker koji jednom tjedno grupira pojedinačne block_ip u CIDR (/16-/30) ako je dovoljan udio adresa subneta blokirano. Whitelist + IP-ovi nodova + privatni rasponi (RFC1918, CG-NAT) se uvijek izuzimaju.
Učitavam...
50%
/ — /
Trenutno pilot: norbert (26). Dodati hosting (27) tek nakon 7d testa.
🛰 AegisEDR — Access Control
Globalna kontrola za cijelu EDR/XDR flotu i per-tenant gating. Gasenjem global switcha odmah se zaustavlja ingest sa svih nodova (neovisno o marker fajlu na nodu). Per-tenant toggle pali/gasi EDR samo za nodove odredjenog klijenta — koristi se za paid gating (klijent plati licencu → ukljuci njegov tenant).
Učitavam...
⏱ Snapshot interval:sec (5-120)Primjenjuje se na agenta pri sljedecem heartbeatu
Per-tenant pristup:
Učitavam...
Kako to radi:
• Global OFF → svi /api/agent/netflow POST-ovi odmah ignorirani, no flows/alerts se upisuju. Agent nastavlja kucati, samo server ne upisuje.
• Tenant OFF → nodovi tog tenant-a su ignorirani, ostali tenant-i i dalje rade.
• Aktivacija za nov tenant → 1. ukljuci tenant ovdje, 2. bumpni agent na edrS2 verziju preko updater_update_agent, 3. kreiraj marker /opt/kolektor-agent/edr.enabled preko edr_toggle action=on.
🤖 AegisVerify Auto-Pilot
Automatski forenzicki provjerava nove critical/high alarme svakih 20 sekundi. Za svaki alert radi live HTTP/SSH/FIM/DB provjeru i klasificira kao false_positive, suspicious ili compromised. Kad je verdict compromised, automatski queue-a block_ip komandu na node i flagira alert. Kad je ugasen, worker stoji u idle-u i ne radi nista — rucno Verify gumb na alert detalju i dalje radi.
Učitavam...
Kategorije koje se auto-verificiraju: http_web, ssh_auth, ransomware, malware, credential_theft, command_exec, db_auth. Audit: svaki on/off toggle zapisuje se u audit_events (actor = admin email).
🛡 Kompromitacije modul (naplatni add-on)
Automatski proaktivni scan web-serving nodova u floti za pronalazak webshellova, backdoor-a i anomalija u filesystemu. Kad je aktivan, SDS worker automatski queue-a scan_webroot komande na sve online Linux nodove koji imaju web servise (iz asset inventory-a ili node_web_accounts tablice). Rezultati idu u Kompromitacije tab.
Kako detekcija radi — 3 sloja:
• Layer 1 (Content): regex match na ~40 signature-a shellova — eval($_POST[]), WSO/c99/r57/b374k, HTTP header backdoors, obfuscated eval+base64, China Chopper ASPX, itd. Weak patterni (preg_replace /e, create_function) zahtijevaju user-input izvor unutar 1KB window-a da se izbjegnu FP na legit libraries (LessParser, templating engines).
• Layer 2 (Path): svaki .php u wp-content/uploads/, /cache/, /tmp/, /images/ je inherentno sumnjiv — osim fajlova imena index.php (WP "Silence is golden" direktorij-protection obrazac, generiran od wp-defender, forminator, backupbuddy plugin-a).
• Layer 3 (MTIME): bilo koja .php izmjena u /wp-admin/ ili /wp-includes/ mladje od N dana (default 30) = red flag (WP core se ne mijenja osim pri upgrade-u). Whitelist: Nextend, Forminator, Wordfence, Elementor, WooCommerce, Jetpack, Yoast i ostale poznate legit biblioteke preskacu Layer 1.
Učitavam...
minuta (5–1440, default 30)
Pokriveno: Linux (Apache, nginx, LiteSpeed, cPanel, Plesk, DirectAdmin) — PHP webshell detekcija, path & mtime heuristika, auto-scan svakih N min. NIJE u scope-u: Windows/IIS ASPX i ASP fajlovi. Ako IIS node ima PHP stack (npr. WordPress), scan se moze portirati naknadno. ASPX/ASP detekcija je u planu za buducu verziju. Audit: svaki on/off toggle i promjena intervala zapisuje se u audit_events tablicu (actor = admin email).
🛡 Operation Mode — master + per-tenant/node
👁
Master SOC mod: MONITOR
Učitavam...
Per-tenant i per-node override-i vrijede samo kad je master PROTECT. Inherit = prati viši nivo (tenant prati master, node prati tenant ili master). Monitor = iskljuci blokiranje na ovom obuhvatu. Protect = dopusti blokiranje.
👤 Tenanti
Učitavam...
🖥 Nodovi
Učitavam...
🛡 Progresivno blokiranje (fail2ban-style)
Svaki ponovljeni napad iz iste IP adrese produžava trajanje bloka. Nakon N-tog bloka unutar prozora (default 30 dana), IP ide u trajni blok (bez auto-unblock-a). Default koraci: 1. block = 1h, 2. block = 4h, 3. block = 24h, 4. block = TRAJAN.
Učitavam...
1. blok, 2. blok, 3. blok...
4 = 4. blok postaje trajan
Broje se blokovi u N zadnjih dana
🔐 Dvofaktorska autentikacija (2FA / TOTP)
Kada je uključena, korisnici s postavljenim autentikatorom moraju upisati 6-znamenkasti kod pri prijavi. Korisnici bez 2FA mogu se prijaviti bez koda.
👤 Moj 2FA
Učitavam...
📷 Skeniraj QR kod ili ručno unesi tajni ključ
Tajni ključ (klikni za kopiranje):
Unesite kod iz aplikacije za potvrdu:
🔒 Secure Login (e-mail verifikacija)
Kada je ukljuceno, korisnici prvo unose email, primaju sigurnosni link na email i tek nakon klika na link mogu unijeti lozinku. Zahtijeva konfiguriran SMTP.
⚠ SMTP nije konfiguriran. Konfigurirajte SMTP prije aktiviranja.
🔓 Secure Login iskljucen
TTL tokena:min. (min. 5)
🔒 Blokiranje LAN (privatnih) IP adresa
Privatne IP adrese (10.x, 172.16-31.x, 192.168.x) su interne mrežne adrese. Blokiranje ovih adresa zahtijeva interni firewall na nodu. Iskljuceno = Block gumb se ne prikazuje za LAN adrese (preporuka). Ukljuceno = Moguce blokirati i LAN adrese (za napredne korisnike s internim firewallom).
🔒 IP Whitelist (izuzeci od pravila)
IP adrese ili CIDR mreže koje neće okidati Alert pravila. Jedna adresa po retku. Podržava CIDR notaciju (npr. 192.168.1.0/24). Redci koji počinju s # su komentari.
🚫 Masovno blokiranje prijetnji
Blokira sve trenutno otvorene alarme (status: novi / acknowledged) za odabranu razinu koji još nisu blokirani i nisu na whitelisti.
Komande se šalju na odgovarajuće nodove i izvršavaju pri sljedećem heartbeatu (~30 s).
🔒 Pristupna zaštita (HTTP Basic Auth)
Kada je uključena, svaki posjetitelj mora unijeti korisničko ime i lozinku prije nego vidi stranicu za prijavu. Štiti od skenera i botova.
KORISNIČKO IME
LOZINKA (prazno = ne mijenjaj)
👤 Upravljanje sesijama
Timeout:minuta
Korisnici koji su neaktivni dulje od postavljenog vremena bit će automatski odjavljeni. Aktivnost se mjeri pokretima miša, tipkovnicom ili klicima.
👤 Aktivne sesije (—)
🛡 Auto-usporedba firewalla
Kada je uključena, kolektor-agent svakih 30 sekundi provjerava firewall pravila na svakom nodu:
IP-ovi na nodu ali ne u Kolektoru → automatski se importiraju (tiho)
IP-ovi u Kolektoru ali ne na nodu → prikazuju se kao upozorenje, korisnik odlučuje
🔎 AbuseIPDB reputacija IP adresa
AbuseIPDB provjerava reputaciju IP adresa u globalnoj bazi zlonamjernih adresa.
Besplatan API ključ dostupan na abuseipdb.com (1000 provjera/dan).
API KLJUČ
CACHE TTL (dani) — pohrana u bazu, 0 = bez cachea
🔎 Ručna provjera IP adrese
🛡 VirusTotal — provjera FIM hasheva
Kad FIM detektira promjenu fajla, VirusTotal provjerava hash protiv 70+ antivirusnih engine-a. Rezultat se prikazuje uz FIM event (VT badge).
Free API: 4 upita/min, 500/dan. Dovoljno za FIM use case.
Ucitavanje statistike...
🤖 Legitimni botovi / crawleri
User-Agent uzorci koji se smatraju legitimnima i ne pokreću scanner detekciju u Investigate analizi.
Ucitavanje...
➕ Dodaj novi
Naziv
UA pattern (substring)
🔍 Investigate iznimke
Uzorci koji se koriste u Investigate analizi za prepoznavanje skenera i admin URL-ova.
Deaktivirajte stavku da biste ju iskljucili iz detekcije.
Ucitavanje...
➕ Dodaj novi
Tip
Pattern
Opis
🏫 Branding — Logo i podaci o firmi
Globalni logotip i podaci. Koriste se u obavijestima, izvještajima i GUI-u. Tenant može imati vlastiti logo koji ima prednost.
Nema logotipa
× Ukloni
Boja
🦉 AegisAI Connector — sigurnosni AI suradnik
Sova je naš AI suradnik — lokalni AI koji 0-24 prati sustav, uči, i postaje sloj drugog mišljenja za odluke administratora (novo pravilo, zatvaranje slučaja, promjena postavki). Nije napadački bot (🐝), nego ravnopravni analitičar. Sazrijevanje kroz faze: shadow (uči tiše) → advisor (odgovara na pitanja) → operator (ograničeno auto-odobravanje). Promocija po točnosti odluka, ne po vremenu. Potvrde čitanja: svaki zapis koji pročita bilježi se u tablicu user_activity — uvijek se može dokazati što je vidio i kada. Izolacija: AegisAI radi kao zasebni proces (port 8081) — njegov live tok događaja (SSE firehose) ne blokira glavni SOC API.
Učitavam...
Glavni prekidač — gasi F2 razgovor, sve 🦉 gumbe i nadzor cjelovitosti
Korisnici s "Ovo je AI korisnik" oznakom. Označi u Korisnici tabu.
Ako AegisAI sam povlači podatke, ovo ostavi prazno.
🧠 Proaktivna zapažanja
Bot prati live tok događaja i sam šalje poruku u F2 razgovor kad otkrije: istu IP adresu na više nodova, nagli skok AegisGOD ocjene, novi potvrđeni kompromis ili napad kroz više tenanata. Razmak 4h po istom obrascu sprječava spam. Štedi analitičare rutinskog pregledavanja.
📖 AegisAI — faze sazrijevanja
🎭 SHADOW (učenje)
AI uči tiše. Bilježi vlastita predviđanja bez prava odlučivanja. Administrator potvrđuje ili odbija. Ocjena povjerenja raste. Prag: točnost ≥ 85% na ≥ 100 odluka.
🧸 ADVISOR (savjetnik)
AI odgovara na pitanja i pruža drugi sud. Još ne smije mijenjati stanje sustava. Dopušteni gumbi za drugo mišljenje. Prag: točnost ≥ 92% na ≥ 500 odluka.
⚔ OPERATOR (operater)
Ograničeno auto-odobravanje (poznati FP-ovi, izuzimanje legitimnih crawlera). Vraćanje akcije unutar 24h bez pitanja. Samo nakon dokazane prakse.
🔄
Sigurnostan restart SOC-a
Postavi nginx maintenance mod (agenti dobivaju 503+Retry-After), restartira API+sidecar, čeka pravu spremnost (DB-backed endpoint), pa makne maintenance. Sprjecava agent flood + pool exhaustion.
Što se događa:
1. Nginx vraca 503 + Retry-After: 60 samo za /api/agent/*, /api/v1/ext/*, /api/bot/*
2. Admin GUI i login nastavljaju raditi (samo backend pozivi mogu kratko biti 502)
3. systemctl restart kolektor-api kolektor-aegismind
4. Čekanje DB-backed readiness endpoint-a (max 240s, tipično 15s) + 10s cooldown
5. Maintenance se makne, nginx reload
🔎
Log Forensics Sweep SUPERADMIN
Pun sken node_logs-a u potrazi za stvarima koje su prosle ispod radara — coverage gapovi, miscategorization, silent IPs, LOLBIN patterni, ingest lag, nepokriveni Windows Event ID-evi. Ne oslanja se na alert_events.
Nije pokrenuto. Klik gumba za pocetak.
?issues
?
⚙
System Tuner
Automatska analiza i optimizacija sustava
🗃
Rotacija baze podataka
Kad baza dosegne limit, kreirajte novu i staru zadrzite kao read-only arhiv za forenziku
⏳Rotacija u tijeku...
0%
Rotation Log
⚡ Performance — API Worker Scaling
Broj API workera određuje koliko paralelnih zahtjeva sustav može obraditi. Više workera = više CPU, ali bolja responsivnost s više korisnika/nodova.
Ucitavanje...
📊 Preporuke za skaliranje
Nodovi
Workeri
Opis
🗃 Database Connection Pool
Pool određuje koliko istovremenih DB konekcija API može koristiti. Premali pool = QueuePool timeout errori kod velikog broja agenata.
Ucitavanje...
📊 Preporuke za pool
Nodovi
Pool
Opis
1-10
10
Mali SOC, jedan korisnik
10-25
15
Standardni SOC
25-50
20
Vise tenanta, vise korisnika
50-100
30
Enterprise, masovni agent update
100+
50
Veliki enterprise (max)
🗃 Forenzika logova — Disk Storage
Kada je uključeno, svi primljeni logovi od agenata (journald, web server, baze podataka) se
dodatno zapisuju na disk u JSONL formatu za potrebe forenzike i naknaine analize.
Logovi se spremaju u /opt/kolektor/logs/nodes/{node_id}/{servis}/YYYY-MM-DD.log.
⚠ Logovi u bazi podataka se uvijek čuvaju neovisno o ovoj postavci — detekcija, alarmi i GUI pregled rade normalno.
Disk logovi su korisni za:
• Forenziku — detaljni JSONL zapisi za post-incident analizu
• Dugoroku arhivu — čuvanje logova izvan baze (npr. SIEM export, compliance)
• Offline analizu — direktan pristup log fajlovima bez GUI-ja
Ako vam to ne treba, isključite da uštedite prostor na disku.
🔎 Detekcijski servis (SDS)
Standalone Detection Service — nezavisni servis za real-time analizu logova i otkrivanje prijetnji.
Radi neovisno od API-ja tako da detekcija nikad ne staje prilikom restarta ili deploya.
Alert korelacija — automatski spaja alarme od različitih pravila za isti IP+node u jedan alarm (30min prozor)
Self-IP exclusion — preskače alarme kad je IP adresa napadča zapravo sam node (javna, privatna, IPv6)
Nevalidne IP — loopback, link-local i multicast IP adrese se automatski preskaču
Detaljni log svakog regex match-a i threshold provjere
🔄 Retroaktivna obrada logova
Ponovno procesiraj logove kroz detekcijska pravila. Korisno nakon dodavanja novog pravila, bug-a ili propustene detekcije.
OD
DO
Obrada...0%
🛡 WAF — Web Application Firewall
Agent-based WAF za zastitu web aplikacija. Dok je globalno iskljuceno, WAF ne radi ni na jednom nodu. Pojedinacni nodovi se konfiguriraju u detaljima noda (OFF/MONITOR/PROTECT).
SDS (server): SDS analizira logove na serveru koristeci WAF pravila. Detekcija svakih ~30s. IP se blokira kroz auto-block sustav. Radi odmah bez agenta update. Agent (lokalno): Agent analizira logove real-time na nodu. Blokira IP odmah na lokalnom FW. Brze ali zahtijeva agent v1.5.44+.
🛡 Block Delegate — delegirano blokiranje
Nodovi koji ne mogu sami blokirati IP adrese (npr. Windows s Bitdefenderom) mogu delegirati blokiranje na parent firewall (MikroTik, Barracuda, FortiGate). Blokiranja su destination-specific — odnose se samo na promet prema tom nodu.
Kad je globalno ukljuceno, svaki node moze individualno upaliti delegaciju u svojim postavkama. Kad je globalno iskljuceno, delegacija ne radi ni za jedan node.
📈 Adaptivni pragovi detekcije
Automatski prilagodava pragove detekcije prema baznom prometu po nodu. Na mirnim nodovima threshold ostaje nizak (hvata napade), na prometnim se automatski podize (manje false positive). Bazira se na 7-dnevnoj statistici.
🧠 ADA — Analiza Digitalnih Anomalija
Automatska detekcija anomalija: spikeovi alarma, novi izvori napada iz nepoznatih zemalja, neuobicajeni obrasci. Worker gradi baseline svakih 4 sata na temelju 7-dnevne statistike.
🤖 Bot Recognition
Retroaktivna analiza postojecih alarma za prepoznavanje botova. SDS prolazi kroz sve IP adrese i kreira bot aktere.
Priprema...0%
🗑 Retencija podataka
Automatsko brisanje starih podataka. Smanjuje veličinu baze. Provjera se radi jednom na sat u SDS-u.
Komande (node_commands)
starije oddana
IIS logovi (node_logs)
IIS pristupni logovi (W3C format) s reverse proxy i Exchange servera. Veliki volumen — preporučeno 7-14 dana.
starije oddana
Svi logovi (node_logs)
Briše stare logove, ali čuva one vezane uz otvorene alarme (forenzika). Najveća tablica u bazi.
starije oddana
💾 DAM logovi (MySQL / MSSQL / PostgreSQL)
MySQL general_log, MSSQL event logovi i PostgreSQL logovi. Detaljni MySQL logging može generirati velik volumen.
starije oddana
Mrežne konekcije (network_connections)
Agregirani podaci za mrežnu mapu. Mali volumen, preporučeno čuvati 90+ dana.
Čuvaj zadnjihdana
📈 Period grafova sustava (Status)
Koliko dana unazad prikazuju grafovi CPU, RAM i Disk na kartici Status sustava.
Prikazi zadnjih
🔒 File Integrity Monitoring
Agenti svakih 5 min provjeravaju SHA256 hash kriticnih sistemskih fajlova. Promjene generiraju alarm i email obavijest.
🐛 Vulnerability Scanning
Agenti periodicki (svakih 30 min) prikupljaju popis instaliranih paketa i šalju na API.
API provjerava svaki paket protiv OSV.dev CVE baze i prikazuje ranjivosti u node detailu.
🛡 Registry Security Provjere
Definicije provjera koje Windows agent koristi za Registry Security Audit. Dodajte, uredite ili iskljucite provjere. Agent dohvaca definicije sa servera pri svakom auditu.
+ Dodaj novu provjeru
🔗 API za vanjske sustave
Omogućava trecim sustavima (SIEM, Grafana, ticketing) da se spoje na Aegis SOC i citaju podatke putem API-ja. Readonly pristup s API kljucem.
🔓 External API iskljucen
Upravljanje kljucevima i webhookovima dostupno u Admin → API Integracije
🔔 Globalne obavijesti
Kada su obavijesti uključene, sustav automatski šalje e-mail:
Agenti mogu primati syslog poruke od mreznih uredaja (switchevi, routeri, printeri) na lokalnom UDP portu. Uredaji salju syslog na IP agenta, agent prosljeduje na server kao logove.
Cisti posjeti HTML stranica bez bota, bez scanera i bez admin sessiona. Agregator azurira svakih 15 minuta. Drzava dolazi iz ip-api.com geolokacije (cache 30 dana).
Vremenska serija
Po drzavama
Drzava
Unique IP
Posjeti
% IP
⚙ Status kolektora
CPU
—
Load: — / — / —
RAM
—
— / —
Disk /
—
— / —
Uptime servera
—
od pokretanja
CPU % — zadnjih 7 dana
RAM % — zadnjih 7 dana
Disk % — zadnjih 7 dana
Baza (MB) — zadnjih 7 dana
✅ Servisi & sustav
🔸 API (FastAPI)
—
🌐 Web (nginx)
—
🗃 Baza (mysql)
—
🔄 Systemska ažuriranja
—
🔄 Restart servera
—
🔎 Detekcija (SDS)
—
🔎 Detekcijski servis (SDS)
Nepoznato
Nezavisni servis koji u realnom vremenu (svakih 3s) analizira logove sa svih nodova, traži prijetnje prema definiranim pravilima i kreira alarme.
Radi potpuno odvojeno od API-ja — ako se API restarta, detekcija ne staje. Podržava IPv4 i IPv6 adrese.
ⓘ Izvjestaj obuhvaca aktivnu + sve arhivske baze iz DB rotacije. Za velike flote (15+ nodova) i dulji period generiranje moze trajati 10-30 minuta. Prati napredak u statusnoj traci ispod.
Pokretanje...00:00
0%
Ovaj prozor mozes zatvoriti — izvjestaj se generira u pozadini. Poll svakih 3s.
ⓘ Security Report Uprava je kracki, management-fokusiran dokument (12 sekcija, cca 10-15 stranica). Ne prikazuje svaki alarm — samo ono sto uprava treba za donosenje odluka. Za tehnicki detalj koristi Security Report+ tab. Generiranje obuhvaca aktivnu + arhivske baze.
Pokretanje...00:00
0%
Management izvjestaj obicno treba 2-5 min, ovisno o velicini scope-a.
🔍
GAP Analiza
Konsolidirana sigurnosna delta: 11 dimenzija (MITRE, NIS2, asset coverage, auto-block, public exposure, 2FA, EOL, KEV, hardening, geoblock, FIM). Identificira sistemske propuste u kontrolama i generira prioritizirani remediation plan.
ⓘ GAP Analiza je operativni dokument za remediation - pokazuje SIJENI u kontrolama, ne listu alarama. Tipicno 6-10 stranica. Koristi isti data pipeline kao Security Report+, ali prikazuje sto NEDOSTAJE umjesto sto se detektira.
Pokretanje...00:00
0%
GAP analiza tipicno traje 1-3 min.
📋
Izvještaji po pravilima
Filtriraj alarme po tenantu, nodu, datumu i pravilu. U dropdownu se prikazuju samo pravila koja stvarno imaju alarme u odabranom scope-u.
🗑
Incident Case Register
Formalni slučajevi — alarmi grupirani u investigable unite s lifecycle-om (Detection → Triage → Investigation → Containment → Resolved → Closed). Status i outcome su razdvojeni.
🛡 Threat Insights
📈 Trendovi napada
📅 Napadači po danima (30 dana)
Učitavam...
🕐 Heatmap: sati × dani tjedna
Učitavam...
👤 Top korisnička imena
Učitavam...
🌎 Top napadačke države
Učitavam...
📊 Ovaj tjedan vs prošli tjedan
Učitavam...
🚫 Repeat Offenders
🔁 Recidivisti (2+ blokade)
Učitavam...
💻 Najnapadaniji nodovi
Učitavam...
🎯 Persistent Attackers — IP na 2+ nodova s 3+ alarma
Učitavam...
🚑 Block Hygiene
🔒 Trajno blokirane IP (najstarije)
Učitavam...
🩹 Stale blokovi — 30+ dana bez aktivnosti
Učitavam...
💡 Preporuke
Učitavam...
🔗 API za vanjske sustave
Read-only REST + SSE API za integraciju s chat-botovima, dashboardima i SOAR platformama. Svaki kljuc ima vlastite scope-ove, rate-limit i IP whitelist.
…Base URL: …Auth: X-Api-Key
📦 Content PacksPreddefinirani paketi pravila i provjera za brzi onboarding
Ucitavanje...
💰 Komercijala — Planovi i koristenje
-
Aktivni tenanti
-
Mjesecno (EUR)
-
Godisnje (EUR)
-
Ugovor istice <60d
💳 Dostupni planovi
📎 Matrica znacajki po planu
Znacajka
Starter
Growth
Business
Enterprise / MSSP
🧩 Moduli — a-la-carte katalog
Svaki modul je samostalno prodavan dodatak. Cijene su indikativne, konacno ugovarljivo.
Optimizacija cisti stare firewall rezultate, istekle komande, stare audit zapise i korisnicku aktivnost.
Nakon brisanja, tablice se reorganiziraju kako bi se oslobodio disk prostor.
Auto-retention se automatski ukljucuje (3 dana).
Ucitavanje statistike...
Pokretanje...0%
Velicina baze
Prije
—
Poslije
—
Ustedeno
—
Koraci
Tablice po velicini
Tablica
Podaci (MB)
Indeksi (MB)
Ukupno (MB)
Redova
UKUPNO
—
—
—
—
Sto se cisti pri optimizaciji
🔑 Demo licence
📄 Aktivne licence
ID
Instance ID
Naziv
Dana
Variant
Max Nodes
Verzija
Status
Odobreno
Zadnji check
IP
Odobreni IP
Lock
Akcije
Ucitavam...
🔗 Download linkovi
ID
Naziv
Link
Kreiran
Status
Skinuto
IP
Ucitavam...
🔄 Demo update paket
Trenutna verzija:|
🛡 MITRE ATT&CK Šifarnik
Katalog MITRE ATT&CK tehnika. Kod kreiranja pravila, odaberite tehniku iz šifarnika i polja se automatski popunjavaju.
MITRE ID
NAZIV
TAKTIKA
Aktivan
MITRE ID ↕
Naziv ↕
Taktika ↕
Akcije
📖
Aegis SOC — Korisničke upute
Kompletni vodič za korištenje Aegis SOC platforme
Upute
🛡
Aegis SOC as a Service
24/7 nadzor infrastrukture, detekcija prijetnji u realnom vremenu i automatizirani odgovor.
Aegis SOC prikuplja logove sa servera i mreznih uredaja, analizira dogadaje kroz autonomni SDS detekcijski sloj, generira sigurnosne alarme i automatski pokrece blokade na definiranim scenarijima. Platforma je namijenjena tvrtkama koje zele 24/7 sigurnosni nadzor, brzu reakciju na incidente i jasne izvjestaje — bez potrebe za internim SOC timom.
<60s
do reakcije
285+
pravila detekcije
24/7
nadzor
Linux, Windows MikroTik, Barracuda Synology
podrzane platforme
Za tvrtke koje trebaju sigurnosni nadzor bez internog SOC-a
Aegis je namijenjen organizacijama koje zele kontinuirano pratiti sigurnosne dogadaje, brze otkrivati napade, automatizirati blokiranje napadaca i dobivati jasne alarme i izvjestaje za IT, management i compliance.
Koordinirani napadi iz vise IP adresa, automatska eskalacija
⚙
Neovlastene promjene
Novi servisi, brisanje logova, gasenje firewalla, promjene konfiguracije
🔍
🔍
SDS: autonomni detekcijski servis koji radi i kad nitko ne gleda dashboard
SDS (Standalone Detection Service) je glavni diferencijator Aegis platforme. Radi kao potpuno nezavisan servis koji ne ovisi o korisnickom sucelju ni o ljudskoj intervenciji. Analizira logove, detektira prijetnje, salje obavijesti i izvrsava blokade — 24/7, bez prestanka.
⚡ Real-time analiza
Svaki log se analizira unutar 3 sekunde od prijema. Nema batching-a, nema cekanja — prijetnja se detektira cim se dogodi.
🔧 18 autonomnih modula
Detekcija prijetnji, whitelist kontrola, istek blokada, ciscenje sesija, email obavijesti, bot prepoznavanje, firewall usporedba, AegisGOD orkestracija, ADA anomaly detection, baseline worker, alert aging, network map, command retention, session cleanup, block expiry, mail queue, self-watchdog i blocked-alert cleanup — svi rade paralelno.
🛡 Self-healing
Ugradeni watchdog nadzire rad sustava. Ako se glavni proces zaglavi — automatski se restarta u roku 2 minute. Nema scenarija u kojem SDS tiho prestane raditi.
🤖 Inteligentna detekcija
Cross-batch analiza — SDS pamti prethodne pokusaje i kumulativno broji unutar definiranog vremenskog prozora. 3 pokusaja u 10:00 + 2 u 10:05 = alarm pri pragu 5.
💬 Pametne obavijesti
Rate-limited email sustav — nece vam spamati inbox sa 100 mailova u minuti. Grupira obavijesti i postuje cooldown periode, ali nikad ne gubi nijednu kriticnu obavijest.
🌐 Automatsko blokiranje
Kad pravilo ima ukljucen auto-block, SDS automatski salje komandu na server da blokira napadaca na firewallu — iptables, nftables, CSF ili Windows Firewall.
🔧 Prilagodljiva pravila detekcije
285+ ugradenih pravila (121 MITRE tehnika) potpuno prilagodljivih vasim potrebama:
• Ukljucite/iskljucite bilo koje pravilo
• Podesite osjetljivost (pragovi i vremenski prozori)
• Kreirajte vlastita pravila s regex patternima
• Auto-block ili samo obavijest — po pravilu
• Exclusioni za smanjenje laznih alarma
Svako pravilo klasificirano prema MITRE ATT&CK standardu.
🌐 Geo Blocking + AbuseIPDB
Geo Blocking omogucuje blokiranje cijelih zemalja (npr. blokirajte sve pristupe iz Kine ili Rusije). Koristi besplatni ip-api.com servis za geolokaciju i radi odmah bez dodatne konfiguracije.
AbuseIPDB je opcijska integracija koja uz svaki alarm prikazuje reputaciju napadacke IP adrese — koliko je puta prijavljena, iz koje zemlje, je li poznati napadac. Za koristenje je potreban besplatni API kljuc s abuseipdb.com.
Pametno koristenje API-ja: Aegis cuva svaku provjerenu IP adresu u vlastitoj bazi (reputacija, zemlja, broj prijava). Ponovna provjera prema AbuseIPDB servisu se radi tek nakon isteka cache perioda (konfigurabilan, default 7 dana). Time se drasticno smanjuje broj API poziva — ista IP adresa se ne provjerava iznova svaki put kad se pojavi u alarmu, vec se koristi spremljeni rezultat. Ako se pri revalidaciji podaci razlikuju, baza se automatski azurira.
Kako Aegis reagira na napad
🖥
Vas server
Napadac pokusava pristupiti
➔
📋
Log (30s)
Agent salje na SOC
➔
🔍
Analiza (3s)
Prepoznaje tip napada
➔
🚨
Reakcija
Alarm + blokada
Kljucne mogucnosti
🔗
Webhook integracije
SDS automatski salje HTTP POST pri svakoj detekciji — integrirajte s Cloudflare, Slack, Teams, PagerDuty, vlastiti SIEM ili bilo koji sustav koji prima webhookove
🔌
REST API
Kompletni REST API za upravljanje pravilima, nodovima, alarmima i blokadama — automatizacija i integracija s vasim postojecim alatima kroz standardne HTTP pozive
📊
PDF Security Report
Profesionalni sigurnosni izvjestaj s MITRE ATT&CK analizom, kartom napada, reputacijom napadaca i akcijskim planom — za management, compliance ili audit
🚀
Mass Deploy
Masovna instalacija agenta na stotine servera s jednim URL-om — generirajte deploy link, pokrenite jednu komandu na svakom serveru i pratite napredak u realnom vremenu
🌐
Geo Blocking
Blokirajte cijele zemlje jednim klikom — globalno ili per-server. Kombinacija s AbuseIPDB reputacijom za potpunu sliku odakle dolaze prijetnje
🤖
Bot & DDoS detekcija
Automatsko prepoznavanje botneta po ponasanju (fingerprinting), eskalacija u DDoS pri 500+ IP adresa, IOC export za vanjski WAF, webhook za mitigaciju
Napredno i u razvoju
🛡
WAF — Web Application Firewall U RAZVOJU
OWASP Top 10 ruleset, rate limiting po URL-u, virtual patching poznatih CVE ranjivosti. Prevencija umjesto samo detekcije.
🔥
Firewall konektori U RAZVOJU
FortiGate, Palo Alto, Sophos, Check Point, pfSense — prikupljanje logova, telemetrija i centralizirano upravljanje blokadama.
🛠
Custom integracije po mjeri
Sustav ili uredaj koji nije na popisu? Razvijamo konektore i pravila prilagodena vasoj infrastrukturi, procesima i compliance zahtjevima.
Pocnite koristiti Aegis
1Otvorite Dashboard — provjerite jesu li svi serveri online (zelene kartice)
2Pogledajte Alarme — vidjet cete tko je pokusao napasti vase servere
3Kliknite na alarm — vidjet cete odakle dolazi napad, koliko puta i MITRE klasifikaciju
4Blokirajte napadaca jednim klikom ili ga ostavite — sustav ce to uciniti automatski za kriticne prijetnje
5Generirajte Security Report — profesionalni PDF izvjestaj za management ili compliance
🐧 Linux
🪟 Windows Server
🛡 Barracuda Firewall
📡 MikroTik
📦 Synology NAS
🚀 Prvi dan u sustavu — odaberite svoju ulogu
Upute su prilagođene prema vašoj ulozi u sustavu. Odaberite ulogu koja opisuje vaš pristup:
Klikni ulogu iznad.
👑 GLOBAL ADMIN — puni pristup cijelom SOC-u
Global admin (Buba / Ogma operator) upravlja cijelim SOC-om. Vidi sve tenant-e, sve nodove, sve alarme. Može upravljati licencama, organizacijskim postavkama, deploy token-ima, ukljucivati naplatne module i pristupati sustavskim alatima (DB rotacija, backup, server update). Tko je global admin: korisnik s DB oznakom is_superadmin=true. Listu trenutnih global admina vidite u Korisnici tabu (filter po roli "superadmin").
Korak 1 — Onboarding nove instalacije (prvi put)
✓ Prije svega:
1. Login s lokalnim admin korisnikom ili svojim global-admin (superadmin) mail-om.
2. Postavke → Sigurnost — provjerite da je 2FA uključen (Dvofaktorska autentikacija toggle ON).
3. Postavke → Branding — unesite Naziv organizacije (npr. «Buba usluge d.o.o.»), adresu, OIB, logo. Sve se pojavljuje u PDF izvještajima.
4. Postavke → Obavijesti → SMTP — host, port (587), user, pass, from_email. Obavezno za notifikacije.
5. Postavke → Sigurnost → VirusTotal — unesite VT API key (free tier OK za male flote).
6. Postavke → Sustav — postavite Home Country Code (HR/SI/DE...) — definira što je strani pristup.
Korak 2 — Licencing i demo verzija (naplatni moduli)
Licence tab je samo na kolektor.bu.hr (ne na demo/ogma instalacijama).
Tabele:
• Licence — popis svih izdanih licenci (klijent, tip, valid_until, node count)
• Download linkovi — per-klijent linkovi za agent install ZIP
• Demo verzija — current demo build (1.0.0.D) + rebuild demo ZIP
Naplatni moduli: WAF, Kompromitacije, VirusTotal, DAM (Database Activity Monitor), EDR — uključuju se toggle-om u Postavke → Sigurnost. Po defaultu su isključeni dok se ne aktivira licenca.
Korak 3 — Kreiranje tenant-a i admin korisnika
Kreirati novog tenant-a (klijent):
1. Administracija → Tenanti → Novi tenant
2. Unos: Naziv, adresa, OIB, kontakt email, kontakt phone, block_duration_hours (default blok trajanja)
3. Logo + email header color (per-tenant branding za PDF-e i mailove)
4. Save — generira tenant_id
Kreirati tenant_admin korisnika:
1. Administracija → Korisnici → Novi korisnik
2. Email, lozinka (privremena), role = tenant_admin, tenant_id = novi tenant
3. Must_change_password = true (korisnik mijenja pri prvom loginu)
4. Pošaljite login detalje korisniku (neće biti auto-email)
Kreirati tenant_user (obicni operator):
Isto kao gore, ali role = tenant_user. Permisije se zasebno podesavaju — vidi Korak 5.
Deploy token omogućuje instalaciju agenta bez pisanja node_key-a rukom.
Generiranje:
1. Administracija → Deploy tokeni → Novi token
2. Platforma: linux / windows / macos / synology / qnap (ili universal za sve)
3. Tenant_id, max_uses (npr. 10 za batch deploy), expires (opcionalno)
4. Kopiraj one-liner za cilj OS: 🐧 Linux (kao root): curl -sL https://kolektor.bu.hr/deploy/TOKEN | bash🪟 Windows (PowerShell kao Administrator): irm https://kolektor.bu.hr/deploy/TOKEN | iex🍏 macOS (Terminal s sudo): curl -sL https://kolektor.bu.hr/aegis-agent/macos/TOKEN | sudo bash💾 QNAP (admin shell): sudo sh -c "curl -fsSLk https://kolektor.bu.hr/agent/install-qnap.sh -o /tmp/install-qnap.sh && sh /tmp/install-qnap.sh --url https://kolektor.bu.hr --key NODE_KEY"
5. Paste-aj u terminal/SSH na klijentovom serveru. Agent se instalira, registrira i počinje slati telemetriju unutar ~60s. macOS: ako nema Xcode Command Line Tools, installer automatski povlači Python-Build-Standalone 3.12 tarball (zero-prep).
Korak 5 — Permission sustav (tab + fn kontrole)
Permisije su dvoslojne: tab permissions (koje tab-ove korisnik vidi) + fn permissions (koje akcije može izvršiti).
Tenant-level (primjenjuje se na SVE usere tog tenanta):
1. Administracija → Permisije tenanta
2. Odaberite tenant → check/uncheck tab-ove i funkcije
3. Spremi
User-level override (specificni user dobiva nesto vise/manje od default-a):
1. Administracija → Korisnici → klik na user-a → Permisije
2. Override-aj individualne permisije
3. Ovo ima prednost nad tenant-level postavkama
• Administracija → Server status — CPU, RAM, disk server-a, uptime API-ja, zadnji restart
• Administracija → Audit — svaki toggle, block, delete, user akcija — vidljivo
• Administracija → DB Rotation — arhiviranje starih logova (mjesečno), oslobadjanje diska
• Administracija → Server update — Ubuntu apt updates za SOC server
• Administracija → Sesije — prekid tudje sesije (revoke token)
• Administracija → SMTP testiranje — send test email
• Administracija → EOL — koji OS-i su izvan podrške (ranjivi sistemi)
• Administracija → Content packs — kreiranje custom alert rule pack-ova
Korak 7 — Što MORATE raditi svakodnevno
☑ Provjerite Dashboard — crvene brojke su panic, žute su warning
☑ Kritične alarme obradite prvo (Nula neriješenih do kraja dana)
☑ Pregledajte Kompromitacije tab — da li se pojavio novi webshell negdje u floti?
☑ Nodovi offline > 15 min — kontaktirajte klijenta
☑ EOL nodovi — planirati upgrade (vidi Administracija → EOL)
☑ Tjedno: Security Report za sve tenante (Scheduled Reports)
☑ Mjesečno: Compliance Report, Fleet Inventory, DB Rotation
⚙ ADMIN — puni pristup SOC instanci
Admin upravlja jednom SOC instalacijom. Dodaje nodove, kreira tenant-e, konfigurira pravila, upravlja alarmima, generira izvještaje. Nema pristup global-admin sustavskim alatima (licencing, DB rotation).
Korak 1 — Prvi login i orijentacija
1. Primite login kredencijale od global admina → login
2. Promijenite lozinku (Korisničke postavke) → postavite jaku lozinku
3. Uključite 2FA (Korisničke postavke → Omogući 2FA → skeniraj QR)
4. Provjerite Dashboard — postoje li crvene/žute brojke?
Prečice:F1 kontekst help | Ctrl+F5 hard refresh | Esc zatvori modal.
Korak 2 — Dodati prvi node (detaljno)
🖥 Linux server (Ubuntu/CentOS/Debian/AlmaLinux):
1. Nodovi → Dodaj node → Generiraj install skriptu
2. Odaberite tenant, node name, platform=linux
3. Kopiraj one-liner: curl -sL https://kolektor.bu.hr/agent/install-linux.sh | bash -s -- --deploy-token TOKEN
4. SSH na klijent server, paste-aj — agent se instalira pod /opt/kolektor-agent/, kreira systemd unit kolektor-agent.service i kolektor-updater.service (AegisUpdate)
5. Za 30-60 sekundi vidjet ćete node online u Nodovi tab-u
🪟 Windows Server (2012+/10+):
1. Nodovi → Dodaj node → Windows → kopiraj PowerShell skriptu
2. Otvorite PowerShell kao administrator
3. Paste-aj skriptu — agent se instalira pod C:\kolektor-agent\ kao Windows servis
4. Agent podržava event log, IIS logove, PowerShell script block, WMI eventing
📦 Synology / QNAP NAS:
1. Nodovi → Dodaj node → Synology/QNAP → generiraj token
2. SSH na NAS, paste-aj script (instalira se pod /volume1/kolektor-agent/)
3. Agent čita SYNOCONNDB + SYNOSYSDB (Synology) / BTPanel DB (QNAP)
📡 Network appliance (MikroTik/Barracuda/FortiGate):
1. Nodovi → Dodaj node → Appliance
2. Odaberite tip, unesite IP i kredencijale (samo čitanje)
3. SOC se spaja po rasporedu (nema agent-a na samom uredjaju)
4. Povlači firewall pravila, vidi blokade, može dodati deny rule kroz API (Barracuda v1+v2, FortiGate FG-API, MikroTik RouterOS API)
⚠ EOL OS-ovi (CentOS 7, Ubuntu 16/18): instalacija će auto-detect-ati EOL i povući bundled PBS Python 3.11 (agent ne radi na default python-u starijeg OS-a).
Korak 3 — Konfiguracija noda nakon dodavanja
Klik na node u Nodovi tab-u → otvara detalj stranicu s 7 kartica:
2. Servisi (monitoring):
Agent auto-detect-a pokrenute servise (nginx, apache, mysql, mssql, postgres, redis, mongo...). Servisi tab → Toggle monitoring za svaki servis. Monitorirani servisi alarmiraju kad padnu.
3. Log izvori:
Agent čita system logove (journald, syslog, auth.log). Dodatne logove (npr. custom aplikacija) dodajete ručno: Log izvori → Dodaj → path + service_name + label. Parser auto-detect-a format (Apache/nginx/IIS W3C/JSON/generic).
4. Firewall (samo Linux):
Agent upravlja iptables/CSF pravilima. Firewall tab pokazuje trenutne deny/allow pravila. Admin može dodati block/unblock direktno.
5. Komande:
Povijest svih komandi poslanih agentu (restart_agent, updater_update_agent, scan_webroot, block_ip, net_discover...) + njihov rezultat.
Korak 4 — Monitor Mode vs Protect Mode (važno!)
Sustav ima dva fundamentalna moda rada. Svaki node / modul može biti u svom modu.
👁 MONITOR MODE
Samo detektira i logira. NE blokira, NE mijenja firewall, NE šalje actions.
Kada koristiti:
• Novi node — prvih 7-14 dana, da vidite što se normalno događa (baseline)
• Staging okruženje — samo dokaz-koncept
• Klijent koji još nije odobrio aktivne akcije
• Tuning faza — ima previše false positive-a
Konfiguracija:
• WAF mode = monitor
• Auto-block enabled = OFF
• Geo blocking = OFF (ili samo country alert)
🛡 PROTECT MODE
Aktivno štiti — blokira IP-jeve, updejta firewall, prekida napade.
Kada koristiti:
• Produkcijski nod — normalan slučaj
• Baseline je kompletan (vidimo false positive < 5% tjedno)
• Klijent je potpisao SLA
Konfiguracija:
• WAF mode = protect (agent drop-a HTTP requeste koji matchaju WAF pravila)
• Auto-block enabled = ON (SDS detection blocker-a postavlja iptables/CSF)
• Geo blocking = ON s regijama (blok CN/RU/KP prema potrebi)
• EDR outbound block = ON (blokira C2 kanałe)
Prelazak monitor → protect:
1. Pregledajte Alarmi s tog noda u zadnjih 7 dana — jesu li stvarni napadi ili FP?
2. Rjesavajte FP pravila — dodajte Iznimke ili tune-ajte alert_rules.
3. Kad FP rate < 5%, prebacite u protect (Nodovi → node → Postavke → Auto-block ON).
4. Pratite prvih 48h — ima li legit saobraćaja blokiranog? Ako DA, vratite monitor.
WAF Events → pokazuje sve WAF hitove (source_ip, rule, action, host, request_uri). Filter po tenant-u, node-u, vremenu.
Korak 6 — ADA (Advanced Detection Analytics / UEBA)
ADA uči «normalno» ponašanje svakog noda i javlja kad se odstupi. Baseline se gradi u prvih 14 dana.
Uključivanje:Postavke → Sigurnost → UEBA/ADA toggle ON.
6 detektora anomalija:
• Alert Spike — broj alarma > 3σ od tjednog baseline-a
• New Country — IP iz zemlje koja nikad nije pristupila nodu
• Off-hours Access — pristup van radnog vremena (poslije 20h za HR biz)
• Rare Service — request na servis koji se rijetko koristi (npr. phpMyAdmin)
• User Agent Anomaly — UA koji je neuobičajen za taj node
• Request Volume — «flooding» pattern na 1 endpoint
Gdje vidjeti:
• Analitika → ADA — lista anomalija, per-node/per-tenant filter
• Analitika → ADA → Baselines — što je ADA naučila kao «normalno»
• ADA signali doprinose AegisGOD score-u (max 35 od 100 bodova)
Tuning: ako je previše FP, podesite ueba_anomaly_threshold u Postavke → Sustav (default 3.0, sigma).
Korak 7 — EDR (Endpoint Detection & Response)
EDR prati mrežne outbound veze sa svakog noda i detektira sumnjive C2 kanale.
Uključivanje:Postavke → Sigurnost → EDR toggle ON. Po defaultu OFF (opt-in).
5 EDR stagea:
• S1 Baseline — agent snima sve izlazne IP-jeve (7 dana) → «normalne» destinacije
• S2 Delta/Spamhaus — nova destinacija → provjera protiv Spamhaus DROP listi
• S3 Sweep — periodični sweep + threat intel lookup za sve outbound IP-jeve
• S4 Windows Events — Windows EDR cita Security eventlog (4688, 4624, 5156...)
• S5 Drill-down — klik na IP → povijest vezom, geoloc, WHOIS, VT reputation
• S6 IOC — per-tenant IOC lista (poznati bad IP/domene)
Actions (u protect mode):
• Block outbound — iptables DROP na destinaciju (agent-side)
• Alert — generira alarm u SIEM
• Case — otvara Hunt Case za analyst-a
Gdje vidjeti:Sigurnost → EDR (Flows, Alerts, IOCs) + klik na alarm koji ima edr_flow_id → vezani outbound flowovi.
Korak 8 — AegisGOD (master threat scoring)
AegisGOD je orkestracijski mozak koji spaja sve module u jedan score po IP-u.
Komponente score-a (0-100):
• Behavior (0-30) — broj alarma, intenzitet, chain rule hits
• Geo (0-15) — strana zemlja + country risk tier (CN/RU/KP = +15)
• ADA (0-35) — anomalije koje su pridonijele
• VT (0-20) — VirusTotal positives na hash-ovima koje je IP donio
• IOC (0-20) — podudaranje s poznatim lošim IP/domain listama Ukupno se cap-a na 100.
Auto-playbook (po threshold-u):
• Score ≥ 60 — alert (email SOC team)
• Score ≥ 75 — auto-block IP na svim nodovima
• Score ≥ 90 — auto-case (Hunt Case s timeline-om)
Gdje vidjeti:AegisGOD tab (gore desno) — live list IP-jeva sa score-om, komponente, povijest playbook akcija. Klik na IP → drill-down modal.
Što je AegisAI: on-prem AI koji 0-24 prati sustav, uči, i postaje sloj drugog mišljenja za odluke. Nije napadački bot (🐝), nego ravnopravni analitičar (sova 🦉).
Postavke → AegisAI Connector — sve glavne kontrole na jednom mjestu:
• Glavni prekidač (uvijek dostupan, gasi sve 🦉 gumbe i F2 razgovor)
• AI korisnik — biraj iz liste korisnika oznakom "Ovo je AI korisnik" (Korisnici tab)
• URL bota — opcionalno, za push način (ostavi prazno za pull)
• Test veze — prikazuje stvarni status (online, zadnja sesija, IP, klijent)
• Audit gumb — revizija svega što je bot radio
• Proaktivna zapažanja toggle — bot sam šalje poruku kad otkrije obrazac
Faze sazrijevanja:
• SHADOW (učenje) — AI uči tiše, bilježi predviđanja bez prava odluke. Prag promocije: točnost ≥ 85% na ≥ 100 odluka.
• ADVISOR (savjetnik) — AI odgovara na pitanja, pruža drugi sud. Prag: ≥ 92% na ≥ 500 odluka.
• OPERATOR (operater) — ograničeno auto-odobravanje, vraćanje akcije unutar 24h.
F2 razgovor (chat):
• F2 — otvara/zatvara plutajući prozor (donji desni kut)
• ESC — zatvara
• Povuci header — pomak po ekranu (pozicija pamti)
• Dupli klik header — reset pozicije
• Minimize (“_” gumb) — sažima u 48px kuglu donji desni
• 🗑 Obriši povijest ili upiši /cls — čisti razgovor (audit i lekcije ostaju)
• Status indikator u headeru — 🔴 bot spojen / 🦉 razmišlja / ⚫ nije spojen
Desni klik — pitaj o entitetu:
Bilo gdje u sučelju (alarmi, slučajevi, nodovi, IP adrese, pravila, dashboard kartice) — desni klik otvara 🦉 menu s 5 specifičnih pitanja generiranih server-side ovisno o tipu i stanju entiteta. Klik na pitanje → chat se otvori s pitanjem pred-popunjenim, samo Enter za poslati.
Source citation (izvori):
Svaki bot odgovor s izvorima ima 📎 N izvora gumb. Klik → modal s klikabilnim referencama (alarm/IP/node/case). Tako se može vidjeti je li bot stvarno čitao ili halucinirao. Ako bot nema izvore: ⚠ bez izvora — oprez upozorenje.
🔍 Dokaži (proof gumb):
Pored svake bot poruke. Otvara modal koji pokazuje 5 minuta API poziva oko vremena odgovora — je li bot stvarno fetch-ao kontekst za izvore koje navodi. Ako ne — halucinacija je vidljiva odmah.
👎 Disagree (neslaganje):
Ako bot da krivi odgovor, pritisni 👎 pored njegove poruke. Otvara mali dijalog: razlog (krivi odgovor / nedostaje kontekst / halucinacija / zastarjelo) + komentar + točan odgovor. Bot kasnije vidi ova neslaganja kao lekcije pri sličnim pitanjima — uči se kalibrirati bez retraining-a.
🎭 Faze: kako bot uči (Lessons fed to bot):
U Audit panelu klik na 🎭 Lekcije koje bot dobiva — vidiš sve neslaganja koja se sada šalju botu kao kontekst pri sličnim pitanjima.
🧠 Proaktivna zapažanja (kad ih upališ):
Bot prati live tok i sam šalje poruku u F2 kad otkrije:
• Cross-node spread (ista IP na 3+ noda u 30 min)
• AegisGOD spike (score ≥ 70 na novo viđenoj IP-u)
• Verified compromise (potvrđena kompromitacija)
• Cross-tenant kampanja (3+ tvoja tenanta pogođena u sat) Razmak 4h po istom obrascu sprječava spam.
Sigurnost — što bot NE smije:
• Nema 2FA (i ne smije ga imati — servisni račun)
• Read-only na sve admin endpointe — alarmi, blokovi, pravila — sve 403
• Smije pisati samo u svoje ‘/api/bot/’ kanale (chat respond, typing) i ‘/api/auth/‘ (login, password change)
• Audit trail — svaka akcija u audit_events + user_activity. Ako bot kaže "nisam to napravio" — uvijek se može dokazati što jest.
Node offline > 10 min:
1. Nodovi → node → Last heartbeat — kad je zadnji put javio?
2. Komande tab — pošaljite updater_restart_agent (uvijek preko updater-a, ne agenta!)
3. Ako ne odgovori — SSH na server, sudo systemctl restart kolektor-agent kolektor-updater
4. Provjerite /opt/kolektor-agent/agent.log za greške
Agent update na svu flotu:
1. Administracija → Server update → Agents — pokazuje koja verzija radi na kojem nodu
2. Klik Update sve linux / Update sve Windows — queue-a updater_update_agent na sve nodove
3. Rollout traje 1-3 min per node (sekvencijalno)
4. Ako neki node crash-ira 3x u 5 min, AegisUpdate auto-rollback-a na .bak verziju
Stuck komanda («acked» zauvijek): — agent dobio komandu ali backend ingest pukao. Provjerite api-error.log (Admin). Cesto rješenje: novi scan / restart agenta.
🏢 TENANT ADMIN — admin unutar vašeg tenant-a
Vi ste odgovorni za svoj dio SOC-a: svoje nodove, svoje korisnike, svoj branding, svoje izvještaje. Ne vidite druge tenant-e. Ne možete mijenjati sustavske postavke (SMTP, VT, pravila).
Korak 1 — Prvi login i postavke tenanta
1. Primite login kredencijale od SOC provider-a → login
2. Promijenite lozinku + uključite 2FA (Korisničke postavke)
3. Administracija → Moj tenant profil — provjerite i dopunite:
• Naziv firme (subject_name) — ovaj se pojavljuje u PDF izvještajima
• Adresa, OIB, kontakt email, telefon
• Logo (PNG, max 200KB) — za per-tenant PDF header
• Email header color (hex) — za tenant brand u notifikacijama
Korak 2 — Pregled vaših nodova
Nodovi tab pokazuje SAMO vaše nodove (auto-filter po tenant_id).
Klik na node → 7 kartica:
• Telemetrija — CPU, RAM, disk, mreža graf 24h
• Alarmi — svi alarmi s tog noda
• Logovi — live tail
• Servisi — running services + monitoring status
• Ranjivosti — CVE po installed packages
• FIM — izmjene kritičnih fajlova
• Komande — povijest + queue nove (ako imate fn_nodes_commands)
Ako trebate dodati novi node — kontaktirajte SOC provider-a (tenant admin po defaultu nema fn_nodes_config permisiju).
Korak 3 — Upravljanje korisnicima u vašem tenant-u
Administracija → Korisnici — vidite samo userove svog tenant-a.
Dodati novog operatera (tenant_user):
1. Novi korisnik → email, privremena lozinka, role = tenant_user
2. Save — korisnik dobija login
3. Permisije → odaberite što može vidjeti (alarmi, dashboard, nodovi, izvještaji)
4. Pošaljite credentials privatnim kanalom (ne mail)
Uklanjanje usera: disable (is_active=false) ili delete. Preporuka: disable da se audit trail sačuva.
Korak 4 — Alarmi, Kompromitacije, Izvještaji
Sve 3 tab-a rade identično kao za admina, samo scope-irano na vaš tenant.
Alarmi: resolve / block / iznimka. Markirajte sve kritično do kraja smjene.
Kompromitacije (ako modul aktivan):
• Vidite samo webshell-ove na svojim nodovima
• PDF izvještaj možete generirati (fn_compromises_download_pdf)
• Ack dugme «Ovo je OK update» (fn_compromises_acknowledge_modification)
Izvještaji:
• Security Report — tjedni/mjesečni, auto-scoped na vaš tenant
• Scheduled Reports — auto-email na klijentove kontakt email-ove
• Compliance Report (GDPR, NIS2, ISO27001) — ako je klijent obvezan
Korak 5 — Što NE možete (ograničenja)
• Dodati node — kontaktirajte SOC provider-a
• Mijenjati alert pravila — globalna su, admin-only
• Vidjeti druge tenant-e — scope zaključan
• SMTP / VT / System postavke — admin-only
• Licence / Demo — global admin-only
• DB rotation / server update — infrastructure-level
👤 TENANT USER — operater
Vi ste na prvoj liniji — obrada alarma, praćenje nodova, eskalacija incidenata. Vidite samo svoj tenant. Točno koje funkcije možete, ovisi o permissijama koje je dodijelio admin.
Korak 1 — Prvi login
1. Primite kredencijale od svog tenant-admina
2. Promijenite lozinku — jaka, ne dijelite ju
3. Uključite 2FA — obvezno (Korisničke postavke → Omogući 2FA)
4. Provjerite koje tab-ove vidite u lijevoj navigaciji — to je vaš dopušteni scope
Korak 2 — Dashboard (svako jutro)
Gornje kartice: broj alarma po razini (Kritično/Visoko/Srednje/Nisko), napadači 24h, blokirano danas, neriješeni K+V.
Klik na bilo koju karticu → otvara filtrirani popis u Alarmi tab-u.
Top indikatori: napadani node, aktivno pravilo, MITRE tehnika — svi klikabilni za drill-down.
Crveni brojevi = sad. Žuti = do kraja dana.
Korak 3 — Rad s alarmima (srce posla)
Ciklus obrade svakog kritičnog:
1Klik red → detalj modal s trigger logom
2Klik na IP → Threat Insights (geoloc, povijest, reputation)
3Odluka: • Pravi napad → Blokiraj IP (fn_alerts_block) • Legit → Iznimka (fn_exclusions_manage) • FP → prijavi adminu
4Markiraj Riješen (fn_alerts_resolve)
Zlatno pravilo: Nula neriješenih Kritično na kraju smjene.
Korak 4 — Nodovi pregled (monitoring)
Prati status svojih nodova — online (🟩), offline <5min (🟠), offline >5min (🔴).
Klik na node → telemetrija, alarmi, logovi, servisi, ranjivosti.
Ako node offline >10 min — obavezno prijavi tenant adminu.
Korak 5 — Kompromitacije (ako imate perm)
Ako tenant-admin ti je dao fn_compromises_view, vidiš tab Sigurnost → Kompromitacije.
• Lista kompromitiranih računa (webshell fajlovi po account-u)
• Filter pills: score≥8, score≥5, Vendor Mismatch, Phishing Kit, Fake WP
• Klik na red → puna lista fajlova
• PDF izvještaj — samo ako imaš fn_compromises_download_pdf
• Ack «OK update» — samo ako imaš fn_compromises_acknowledge_modification
Ako se pojavi novi webshell:
1. Obavijestite tenant admina / vlasnika sajta
2. Dogovorite uklanjanje fajla + rotaciju cPanel lozinke
3. Pokrenite ponovni scan nakon cleanup-a
Korak 6 — Svakodnevna rutina
Početak smjene:
☑ Dashboard pregled
☑ Neriješeni Kritično alarmi
☑ Status nodova (sve online?)
☑ Kompromitacije (ako vidite) — novi webshells?
Tokom dana:
• Realtime alarmi — kritične odmah
• Bilješite što ste radili (Cases)
Kraj smjene:
☑ Nula Kritično neriješenih
☑ Srednje/Nisko može ostati za jutro
Korak 7 — Što NE možete (ograničenja)
Ovisno o tome koje perm-e je tenant-admin dodijelio, možda ne vidite:
• Upravljanje pravilima (admin-only)
• Kreiranje izvještaja (treba fn_reports_create)
• Blokiranje IP-jeva (treba fn_alerts_block + fn_blocks_manage)
• Agent komande (treba fn_nodes_commands)
• Iznimke i geo blocking (treba per-fn)
Ako vam neka akcija treba a nemate pristup — obratite se tenant-adminu.
💬 Kontakt i podrška: Za tehnička pitanja — info@bu.hr (Buba usluge d.o.o.). Za business pitanja — vaš SOC provider / account manager. 📄 PDF: Gore desno u Upute tab-u — «Upute PDF» — generira cijeli priručnik za offline čitanje.
Brzi pregled funkcija
📊 Dashboard
Pocetna stranica — na jednom mjestu vidite stanje cijele infrastrukture.
Gornji red — statisticke kartice:
• Kriticno / Visoko / Srednje / Nisko — broj aktivnih alarma po razini. Kliknite na karticu da otvorite Alarme filtrirane na tu razinu
• Napadaci 24h — koliko razlicitih IP adresa je pokusalo napasti u zadnja 24 sata
• Blokirano danas — koliko IP adresa je danas blokirano na firewallima. Klik otvara listu
• K+V nerijeseni — kriticni + visoki alarmi koji cekaju reakciju. Klik otvara filtrirane alarme
• Logovi danas — ukupan broj primljenih logova danas. Klik otvara Logovi tab
• Geo Block danas — koliko IP adresa je blokirano geo pravilima (prikazuje se samo kad je Geo Blocking ukljucen)
Top indikatori:
Ispod kartica vidite 3 najaktivnija elementa. Svaki je klikabilan:
• Top napadani node — klik otvara detalje tog noda
• Top pravilo — klik otvara Alarme filtrirane na to pravilo
• Top MITRE tehnika — klik otvara Alarme filtrirane na tu MITRE tehniku
💡 Kad kliknete na Top pravilo/MITRE, Alarmi tab se otvori s filterom. Za povratak na sve alarme kliknite ✕ Reset u filter traci.
Node kartice:
Svaki node ima svoju karticu sa statusom (online / offline), CPU/RAM/Disk grafom i verzijom agenta. Kartice se automatski osvjezavaju svakih 30 sekundi. Kliknite na karticu za otvaranje detalja noda.
Zadnji alarmi:
Na dnu Dashboarda vidite 10 najnovijih alarma s brzim pristupom detaljima. Kliknite na alarm za otvaranje kompletnih detalja.
🖥 Nodovi
Nodovi su serveri, racunala ili mrezni uredaji koje Aegis prati. Svaki node ima instaliranog agenta (Linux/Windows) ili se povezuje putem API-ja (Barracuda/MikroTik).
Kako dodati novi node:
Korak po korak
Otvorite Nodovi tab
Kliknite + Dodaj node
Odaberite tip noda (Linux Agent, Windows Agent, Barracuda Firewall ili MikroTik)
Upisite naziv (npr. "web-server-1") i API kljuc (min 12 znakova, zapamtite ga!)
Kliknite Dodaj node
Na serveru pokrenite install skriptu s URL-om i API kljucem (prikazano nakon kreiranja)
Kad se agent pokrene, node prelazi u online status
Sto vidite na kartici noda:
• ● / ●Status — online (agent javlja se svakih 30s) ili offline (nije se javio 3+ min)
• 💻 OS — Linux ili Windows (automatski detektirano)
• Verzija agenta — ako postoji novija, pojavi se narancasti badge "Azuriraj"
• CPU / RAM / Disk — trenutno opterecenje u postocima
• 🛡 AV badge (Windows) — koji antivirus je instaliran; ako nema AV-a prikazuje crveno upozorenje
Konfiguracija noda (kliknite na node za detalje):
• Naziv i lokacija — mozete promijeniti naziv i upisati lokaciju (grad/adresa) za prikaz na karti
• Heartbeat / Inventory / Log interval — koliko cesto agent javlja status, skenira servise i salje logove (default: 30s / 600s / 30s)
• Port Scanner — ukljucite ako zelite detektirati skeniranje portova na ovom serveru
• Auto-Block — ukljucite da SDS automatski blokira napadace na firewallu ovog noda
• Geo Block izuzece — iskljucite geo blocking za ovaj node (npr. ako ima legitimne korisnike iz blokiranih zemalja)
Windows Event Log kanali:
Samo za Windows nodove. Agent moze pratiti razlicite Windows Event Log kanale.
Kliknite Osvjezi kanale — agent skenira sve dostupne kanale na serveru
Oznacite kanale koje zelite pratiti (npr. Application, System, PowerShell)
Kliknite Spremi kanale
⚠ Napomena:Security kanal se uvijek prati automatski (login pokusaji, pristup datotekama). Ne morate ga rucno ukljucivati.
IP adrese i Copy gumb:
• Svaki node prikazuje javnu i LAN (lokalnu) IP adresu u tablici i u detaljima noda
• Uz svaku IP adresu nalazi se mali 📋 copy gumb koji kopira adresu u clipboard
• Ako node ima vise IP adresa, prikazuje se "+N vise..." link koji otvara popup sa svim adresama
• Windows i Linux agenti automatski salju sve mrezne interface u inventory
Dekomisioniranje noda:
• Kliknite 💀 Dekomisioniraj u detaljima noda ili 🔧 gumb u tablici
• Odaberite sto zelite obrisati: alarme, logove, mrezne podatke
• FIM podaci, paketi, ranjivosti i security checkovi se uvijek brisu
• Za online nodove: agent se prvo deinstalira, zatim se podaci brisu
• Za offline nodove: brisanje se pokrece odmah u pozadini s progress barom
🏰 FortiGate Firewall Integracija
Aegis SOC podrzava prikupljanje logova, inventara i licenci s FortiGate firewalla putem REST API-ja. Kolektor se spaja na FortiGate svakih 60 sekundi i automatski dohvaca sve podatke.
Korak po korak: Priprema na FortiGate uredaju
Ulogirajte se na FortiGate web sucelje (https://<IP>)
Idite na System → Administrators
Kliknite Create New → REST API Admin
Postavite:
Username: npr. api-user
Administrator Profile: super_admin_readonly (ili custom read-only profil)
Trusted Hosts: IP adresa Aegis SOC servera (npr. 193.200.114.45/32)
Kliknite OK — sustav ce prikazati API token (Bearer key)
ODMAH KOPIRAJTE TOKEN — nakon zatvaranja dijaloga ga vise ne mozete vidjeti!
Mrezna priprema: Osigurajte pristup s Aegis servera
FortiGate admin sucelje mora biti dostupno s Aegis servera (HTTPS, port 443 ili custom)
Ako je FortiGate iza NAT-a, napravite dst-nat pravilo na routeru koje preusmjerava vanjski port na FortiGate:443
Na FortiGate WAN interfejsu mora biti ukljucen HTTPS admin pristup:
config system interface
edit "wan1"
append allowaccess https
next
end
Dodajte IP Aegis servera u Trusted Hosts API korisnika:
config system api-user
edit "api-user"
config trusthost
edit 1
set ipv4-trusthost <AEGIS_SERVER_IP>/32
next
end
next
end
IP adresa: javna IP ili hostname FortiGatea (npr. vpn.firma.hr)
Port: admin port (443, ili custom ako je NAT)
Protokol: HTTPS (automatski odabran)
API Bearer Token: token koji ste kopirali pri kreiranju API admina
Kliknite Dodaj — sustav ce testirati konekciju i kreirati node
Kolektor automatski pocinje skupljati podatke unutar 60 sekundi
Sto Aegis automatski prikuplja s FortiGatea?
• Logovi: event/system, event/user, event/router, event/vpn, traffic/forward, traffic/local
• Heartbeat: CPU opterecenje, RAM koristenje, hostname, OS verzija, uptime
• Inventar: model, serijski broj, firmware verzija, CPU jezgre, RAM, mrezni interfejsi
• Licence: sve aktivne i istekle licence s datumom isteka (vidljive u Asset Inventory)
• ARP tablica: za otkrivanje uredaja na mrezi (Device Discovery)
• Zadnji boot: detektiran iz system logova ("FortiGate started" poruka)
⚠ Napomena:
• FortiGate 120G i slicni modeli nemaju disk za logove — logovi se citaju iz memorije (brise se pri rebootu)
• Preporuceni profil za API korisnika je read-only — Aegis ne mijenja konfiguraciju FortiGatea
• FortiOS v7.x je testiran i podrzan; starije verzije mogu imati drugacije API putanje
🚀 Mass Deploy (instalacija agenta na vise masina)
Mass Deploy omogucuje instalaciju Aegis agenta na veliki broj Linux i Windows masina putem jednog univerzalnog URL-a. Skripta automatski prepoznaje operativni sustav.
Korak po korak
Otvorite Mass Deploy tab u admin meniju
Unesite broj instalacija (koliko masina ce koristiti ovaj URL, max 500)
Kopirajte odgovarajucu komandu i zalijepite na ciljni server
Agent se automatski instalira, registrira i pocinje slati podatke
Kako radi detekcija platforme?
• curl (Linux) salje User-Agent curl/X.X — backend vraca bash skriptu
• irm (PowerShell/Windows) salje User-Agent PowerShell/X.X — backend vraca PS1 skriptu
• Browser — ne skida skriptu, prikazuje HTML stranicu s obje komande i copy gumbima
Progress pracenje:
• U tablici tokena kliknite 👁 gumb za prikaz progresa
• Progress bar prikazuje koliko je masina instalirano od ukupnog broja
• Tablica nodova prikazuje status (online/offline), OS, hostname i zadnje vidjeno vrijeme
• Auto-refresh svakih 5 sekundi dok deploy traje
⚠ Napomene:
• Token istice nakon 7 dana — nakon toga URL prestaje raditi
• Svaki poziv URL-a iz terminala trosi jednu instalaciju i kreira novi node
• Otvaranje URL-a u browseru ne trosi instalaciju
• Linux: pokrenite kao root — Windows: pokrenite PowerShell kao Administrator
• Token se moze zatvoriti ili opozvati u bilo kojem trenutku
🗃 MSSQL Server monitoring
Za praćenje Microsoft SQL Server logova potrebno je uključiti odgovarajuće Windows Event Log kanale na nodu.
Potrebni kanali:
• Application — obavezan; MSSQL Server piše sve ključne događaje ovdje (login greške, backup status, errori, shutdown)
• Security — preporučen; sadrži audit događaje prijave/odjave i promjene dozvola
• System — preporučen; sadrži događaje pokretanja/zaustavljanja SQL servisa
Kako uključiti:
1. Otvori detalje Windows noda na kojem je MSSQL instaliran
2. U sekciji Windows Event Log kanali klikni Osvježi kanale
3. Uključi kanale: Application, Security, System
4. Klikni Spremi kanale
Detekcijska pravila (automatski aktivna):
• MSSQL Login Failed — detekcija brute force napada na SQL login (5+ u 10min)
• MSSQL SA Login Attempt — svaki pokušaj prijave sa 'sa' accountom (kritično)
• MSSQL Permission / Access Denied — pokušaji pristupa bez dozvola
• MSSQL Database Error / Corruption — DBCC greške, korupcija baze, I/O errori
• MSSQL Backup Failure — neuspjeli backup operacije
• MSSQL SQL Injection Pattern — detekcija xp_cmdshell, sp_OACreate, openrowset i sličnih opasnih poziva
• MSSQL Service Stopped — neočekivano gašenje SQL servisa
📧 Microsoft Exchange monitoring
Za praćenje Microsoft Exchange Server logova (on-premise) potrebno je uključiti odgovarajuće Windows Event Log kanale na nodu.
Korak 1 — Osvježi kanale:
Otvori detalje Exchange noda, u sekciji Windows Event Log kanali klikni Osvježi kanale da agent skenira sve dostupne kanale na serveru.
Korak 2 — Uključi kanale:
• Application — obavezan; Exchange errori, auth eventi, transport logovi
• Security — preporučen; audit prijava/odjava, promjene dozvola
• System — preporučen; pokretanje/zaustavljanje servisa
• MSExchange Management — preporučen; admin akcije (mailbox promjene, transport pravila, ConnectMailbox, Export/Import)
• Microsoft-Exchange-HighAvailability/Operational — DAG failover, database mount/dismount
• Microsoft-Exchange-ManagedAvailability/Monitoring — health monitori, proaktivna detekcija problema
• Microsoft-Exchange-ManagedAvailability/RecoveryActionResults — automatske recovery akcije (restart servisa, failover)
Korak 3 — Spremi kanale
Detekcijska pravila (automatski aktivna):
• Exchange Authentication Failure — neuspjele prijave na Exchange (brute force detekcija, 5+ u 5min)
• Exchange OWA/ECP Brute Force — napadi na Outlook Web App / Exchange Control Panel (password spraying, 8+ u 10min)
• Exchange Transport Relay Abuse — pokušaji zlouporabe mail relay-a (spam relay, 5+ u 5min)
Napomena: Agent šalje samo nove evente od trenutka uključivanja kanala — stari logovi se ne šalju retroaktivno.
🛑 Ransomware detekcija
Aegis SOC automatski detektira indikatore ransomware napada kroz cijeli kill chain — od početnog pristupa do enkripcije.
Pravila (sva CRITICAL osim gdje je navedeno drugačije):
• Volume Shadow Copy Deleted — vssadmin delete shadows, wmic shadowcopy delete (gotovo uvijek ransomware)
• Boot Recovery Disabled — bcdedit /set recoveryenabled no, reagentc /disable
• Backup Catalog Deleted — wbadmin delete catalog, diskshadow
• Mass File Access — 100+ pristupa fajlovima u 60 sekundi (indikator enkripcije)
• Ransomware Note Detected — detekcija poznatih imena ransomware obavijesti (README_TO_DECRYPT, HOW_TO_RECOVER...)
• PowerShell Download Cradle — Invoke-WebRequest, DownloadString, certutil -urlcache
• PowerShell Encoded Command — obfuscirane PowerShell komande (-EncodedCommand, FromBase64String)
• PsExec / Remote Execution — lateralno kretanje (PsExec, PAExec, RemCom)
• LSASS Memory Access — krađa kredencijala (mimikatz pattern, pristup lsass.exe memoriji)
• Suspicious Process Execution — mshta, regsvr32, certutil -decode, wmic process call
• RDP Brute Force (LogonType 10) — 3+ neuspjelih RDP prijava u 5 minuta (najčešći ulazni vektor)
• Windows Event Log Cleared — brisanje sigurnosnih logova (Event 1102/104)
• Windows Firewall Disabled — netsh advfirewall set state off
• Suspicious Scheduled Task — schtasks s cmd/powershell/mshta (HIGH)
Dodatna zaštita:
• Windows Defender RTP Disabled — alert ako je Real-Time Protection isključen, ali ne javlja ako je instaliran drugi AV (ESET, Bitdefender, Kaspersky, Sophos, CrowdStrike, SentinelOne, Trend Micro, Palo Alto, Cylance, Malwarebytes, Norton/Symantec, Webroot)
• Windows Login Failed (4625) — 5+ neuspjelih prijava u 10 minuta (brute force)
• Windows Guest Account Login — svaki pokušaj korištenja Guest accounta
• SMB Authentication Failure — lateralno kretanje preko mrežnih dijeljenja
• Kerberos Pre-Auth Failed — napad na Active Directory (password guessing)
• Windows Service Installed (7045) — nova usluga instalirana (persistence mehanizam, MEDIUM)
Centralizirani pregled logova sa svih nodova. Dva moda rada: Live logovi (iz baze) i History logovi (s diska).
Kako pregledati logove
Otvorite Logovi tab
Odaberite node iz dropdown-a (ili ostavite "svi nodovi")
Kad odaberete node, pojavi se dropdown servisa — mozete filtrirati po tocnom servisu (npr. IIS-443, Security, PowerShell)
Odaberite level ako zelite samo odredenu razinu (debug/info/warn/error/crit)
Upisite tekst u pretrazi ako trazite nesto specificno (npr. IP adresu, username)
Kliknite Pretrazi
IIS filter: Kad odaberete Windows node koji ima IIS logove, pojavi se plavi bar s opcijama:
• HTTPS (443) — samo IIS logovi s porta 443
• HTTP (80) — samo IIS logovi s porta 80
• Oba IIS — svi IIS logovi zajedno
• Svi — svi logovi (Security, PowerShell, IIS...) kao i prije
Live Tail: Kliknite ▶ Live tail za pracenje u realnom vremenu. Novi logovi se automatski pojavljuju svakih 5 sekundi. Filteri (node, servis) se postuju i u tail modu. Kliknite ⏸ Stop za zaustavljanje.
Prijetnje: Kliknite 🚨 Prijetnje za prikaz samo logova koje je SDS oznacio MITRE pravilom — samo potencijalno opasni logovi.
IP adrese u logovima: Svaka IP adresa u tekstu loga je klikabilna. Klik otvara Alarme filtrirane na tu IP. Privatne (LAN) adrese su oznacene LAN badgeom u ljubicastoj boji.
Saved Filters: Spremite cesto koristene filtere klikom na 💾 Spremi. Postavite default filter zvjezdicom ⭐. Filtri su dijeljeni s timom.
🚨 Alarmi
Alarmi su sigurnosna upozorenja koja SDS automatski generira kad detektira sumnjivo ponasanje u logovima.
Sto znace boje/razine:
🔴 Critical — odmah reagiraj! Ransomware indikatori, credential dump, uspjesan login napadaca 🟠 High — ozbiljna prijetnja. Brute force napadi, path traversal, neovlasteni pristup 🟡 Medium — sumnjiva aktivnost. Web skeneri, neuspjeli logini, konfiguracijse promjene 🔵 Low — informativno. HTTP greske, probe, manji incidenti
Sto znace statusi:
• New — novi alarm, nitko ga nije pregledao
• Acknowledged — netko ga je vidio i potvrdio da ga pregledava
• Resolved — rijeseno (napadac blokiran, problem otklonjen)
• False Positive — lazni alarm (npr. legitiman korisnik pogrijesio lozinku)
Kako obraditi alarm
Kliknite na alarm u tablici → otvara se Detalji alarma
Pregledajte: IP adresa, korisnik, broj pokusaja (fail/success), MITRE tehnika
Kliknite 🔎 Istrazi detaljno — sustav automatski analizira logove i kombinira 6 izvora podataka: Threat Intelligence: AbuseIPDB reputacija, geo/ISP podaci, MITRE ATT&CK slojevi, bot status, User-Agent analiza + analiza logova
Verdikt: POTVRDEN NAPAD / FALSE POSITIVE / SCANNER / NEODLUCENO s postotkom pouzdanosti i TI ocjenom
Ako je napad: kliknite Block za blokiranje IP adrese na firewallu
Ako je lazni alarm: kliknite 🚫 False Positive
Ako trebate vrijeme za istragu: kliknite ✅ Acknowledge
Kad je gotovo: kliknite ✔ Resolve (mozete upisati napomenu)
Bulk akcije: Oznacite vise alarma checkboxom, pa na floating baru odaberite akciju (Ack / Resolve / FP / Notify / Delete) za sve odjednom.
AbuseIPDB: Uz svaku javnu IP adresu automatski se prikazuje reputacija:
• 🔴 80%+ — poznati napadac, prijavljen vise puta
• 🟠 40%+ — sumnjiva IP, ima prijava
• 🟡 10%+ — nesto prijava, mozda scanner
• 🟢 0% — cista IP, nema prijava
Filteri: Koristite filtere iznad tablice za brzi pregled. Tenant, Node, Status, Severity, Datum od/do, IP adresa. Dashboard kartice (Kriticno, Visoko...) automatski postavljaju filter kad kliknete na njih.
Zvuk: U donjem status baru mozete ukljuciti zvucnu notifikaciju — sustav svira zvuk kad se pojavi novi alarm.
🚫 Blokirano
Pregled i upravljanje blokiranim IP adresama na firewallima svih nodova.
Aktivni blokovi: Tablica svih trenutno blokiranih IP adresa s informacijama tko je blokirao (admin, SDS auto-block, geo-block), na kojem nodu i kada.
Kako rucno blokirati IP adresu
Otvorite Blokirano tab
Kliknite + Rucno blokiranje
Upisite IP adresu napadaca
Odaberite node (na kojem serveru blokirati)
Odaberite scope: samo ovaj node, cijeli tenant ili svi nodovi
Opcionalno: postavite TTL (koliko dugo blokirati — npr. 24h, 7d, trajno)
Upisite razlog (obavezno — biljezi se u audit)
Pregledajte preview naredbe koja ce se izvrsiti na firewallu
Kliknite Blokiraj
Odblokiranje: Kliknite na blokiranu IP u tablici, zatim Odblokiraj. Morate upisati razlog.
FW usporedba: Sustav automatski usporeduje sto SOC misli da je blokirano s onim sto je stvarno na firewallu noda. Ako postoje razlike (npr. admin rucno odblokirao na serveru), prikazuje upozorenje.
Povijest: Kompletna povijest svih block/unblock komandi s vremenom, razlogom i tko je izvrsio. Tablice su sortabilne — kliknite na zaglavlje kolone.
🛡 Pravila
Detekcijska pravila definiraju sto SDS (Standalone Detection Service) trazi u logovima i kako reagira kad nadje podudaranje.
Struktura pravila:
• MITRE tehnika — svako pravilo je vezano uz MITRE ATT&CK tehniku (npr. T1110 Brute Force)
• Fail pattern — regex koji detektira neuspjeli pokusaj (npr. "Failed password")
• Success pattern — regex koji detektira uspjesni pokusaj (npr. "Accepted password")
• Fail threshold — koliko failova u vremenskom prozoru okida alarm (npr. 5 u 5 min)
• Severity — critical, high, medium, low, info
Kako kreirati novo pravilo
Otvorite Pravila tab
Kliknite Dodaj pravilo
Odaberite MITRE tehniku iz dropdowna (automatski popunjava polja)
Definirajte fail regex i opcionalno success regex
Postavite threshold (broj pokusaja) i vremenski prozor
Koristite Rule Tester — zalijepite primjer log linije i provjerite da regex radi
Upravljanje pravilima:
• Toggle ON/OFF — aktiviraj/deaktiviraj pravilo bez brisanja
• Dopusti privatne IP (LAN) — checkbox 🏠 za detekciju 10.x, 172.16-31.x, 192.168.x; LAN IP-ovi oznaceni ljubicastom bojom u alarmima
• Governance — vlasnik pravila, verzija, zadnje okidanje, trigger count 24h/7d
• Sortiranje — klikni na zaglavlje kolone za sortiranje po bilo kojem stupcu
⚠ Savjet: Uvijek testirajte pravilo s Rule Testerom prije aktivacije. Krivo napisan regex moze generirati lavinu laznih alarma ili propustiti stvarne napade.
Pravilo za bilježenje uspješnih Windows prijava s javnih IP adresa (EventID 4624).
⚙ Kako aktivirati:
• Otvori Pravila tab
• Pronađi pravilo "Windows Successful Logon" (po defaultu isključeno)
• Klikni toggle za aktivaciju
💡 Što prati:
• Sve uspješne Windows prijave (EventID 4624)
• Ako je uključen checkbox 🏠 Dopusti privatne IP na pravilu, detektira i interne (LAN) prijave — označene ljubičastom bojom s LAN badgeom
• Severity: info — ne šalje email notifikacije, samo bilježi u alarme
• Threshold: 1 — svaka uspješna prijava s javnog IP-a kreira zapis
🔎 Gdje vidjeti rezultate:
• Alarmi tab — alarmi s pravilom "Windows Successful Logon" prikazuju tko se prijavio, odakle (IP) i kada
• Detalji alarma — klikni na alarm za puni pregled: IP info, AbuseIPDB, geo-lokacija, karta
• Logovi tab — filtriraj po servisu "Windows-Security-Logon" za sirove logove prijava
• Karta prijetnji — uspješne prijave s javnih IP-ova vidljive na globalnoj karti
⚠ Napomena: Pravilo možete uključiti i isključiti u bilo kojem trenutku. Kad je isključeno, SDS ga potpuno ignorira i ne troši resurse.
🛡 MITRE Šifarnik
Katalog MITRE ATT&CK tehnika korištenih u detekcijskim pravilima. MITRE ATT&CK je industrijski standard za klasifikaciju napada.
Sto sadrzi:
• MITRE ID — jedinstveni identifikator tehnike (npr. T1110 = Brute Force, T1078 = Valid Accounts)
• Naziv — opisni naziv tehnike na engleskom
• Taktika — faza napada (Initial Access, Credential Access, Lateral Movement...)
Kako koristiti
Otvorite MITRE Sifarnik tab
Pregledajte postojece tehnike — tablica je sortabilna po svim stupcima
Za dodavanje: unesite MITRE ID, naziv i taktiku, kliknite Dodaj
Kad kreirate novo pravilo u Pravila tabu, odaberite MITRE tehniku iz dropdowna — polja se automatski popune
Zasto je vazno:
• Svaki alarm u sustavu je klasificiran po MITRE tehnici — omogucuje standardizirano izvjestavanje
• Threat Insights koristi MITRE podatke za analizu distribucije napada
• Security Report prikazuje MITRE pregled po tehnikama
🌎 Karta prijetnji
Interaktivna globalna karta koja prikazuje odakle dolaze napadi na vasu infrastrukturu u realnom vremenu.
Sto prikazuje:
• Markeri — svaki alarm koji ima geo-lokaciju prikazan je kao marker na karti (Leaflet/OpenStreetMap)
• Boja markera — ovisi o severity: crvena (critical/high), narancasta (medium), plava (low/info)
• Linije — vizualna poveznica od napadaceve lokacije do ciljanog noda
• Clusteri — kad je puno napada iz iste regije, markeri se grupiraju (klikni za rasirivanje)
Kako koristiti
Otvorite Karta tab
Karta se automatski ucitava s zadnjih N alarma koji imaju geo podatke
Klikni na marker za detalje: IP adresa, drzava, ISP, pravilo koje je okrenuto, vrijeme
Zoom misu koticem ili +/- gumbima za priblizavanje
Klikni na IP u info kartici za otvaranje SIEM trace-a tog IP-a
Napomena: Geo-lokacija se dobiva iz AbuseIPDB ili IP geolokacijske baze. Privatne (LAN) IP adrese nemaju geo-lokaciju i ne prikazuju se na karti.
📊 Izvještaji
Pregled i generiranje sigurnosnih izvjestaja za odabrani tenant i vremenski period.
Dostupne sekcije:
• Top IP adrese — sortabilna tablica najaktivnijih napadaca s AbuseIPDB scorom; klikni IP za SIEM drill-down
• Alarmi po nodu — sortabilna tablica sa stupcima: ukupno, aktivni, kriticno, visoko, srednje, nisko
• MITRE pregled — sortabilna tablica MITRE tehnika po broju alarma
• Port Scanner nadzor — TreeView prikaz aktivnog skeniranja portova
• Kreator izvjestaja — potpuni sigurnosni izvjestaj: top IP-ovi, drzave, satni/dnevni trendovi, MITRE distribucija
• PDF ispis — formatirani Aegis izvjestaj za print/PDF s logotipom i brandingom tenanta
Kako generirati Security Report
Otvorite Izvjestaji tab
Odaberite tenant (ili "Svi tenanti" za globalni pregled)
Odaberite vremenski period (7d, 30d, 90d, custom)
Kliknite Security Report za potpuni izvjestaj
Za ispis: kliknite Print / PDF — otvara se formatirani dokument s logotipom, tablicama i grafovima
Automatski izvjestaji: Za automatsko slanje izvjestaja emailom po rasporedu (dnevno/tjedno/mjesecno), koristite Zakazani izvjestaji u Postavkama.
🛡 Threat Insights
Napredna analitika sigurnosnih prijetnji. Tri sekcije:
📈 Trendovi napada
• Trend chart — jedinstveni napadači po danima (30 dana)
• Heatmap — intenzitet napada po satima i danima tjedna (narančasta skala)
• Ovaj tjedan vs prošli — usporedba alarma, IP-ova i pokušaja s postotkom promjene
• Top korisnici — word cloud napadnutih korisničkih imena
• Top države — zemlje porijekla napada s progress barovima
🚫 Repeat Offenders
• Recidivisti — IP adrese blokirane 2+ puta (vraćaju se)
• Persistent Attackers — IP na 2+ nodova s 3+ alarma — koordinirani napadiči
• Najnapadaniji nodovi — rangiranje po broju pokušaja
🚑 Block Hygiene
• Trajno blokirane — najstarije trajne blokade
• Stale blokovi — blokirano 30+ dana bez ikakve aktivnosti (kandidati za unblock)
• Preporuke — automatske sugestije: trajni ban za persistent, unblock stale, upozorenje na porast napada
💬 Admin poruke
Interni chat za administratore. Ikona 💬 u status baru.
• Grupne poruke — vide svi admini
• Privatne poruke — odaberi primatelja iz dropdown-a (ljubičasta boja)
• Datoteke — 📎 gumb za upload slika i dokumenata (max 10MB), Ctrl+V za paste slike
• Linkovi — URL-ovi u tekstu automatski postaju klikabilni
• Read receipts — ✓✓ i imena tko je pročitao
• Zvuk — notifikacija kad stigne nova poruka
• Drag — povuci naslovnu traku za pomicanje panela, pamti poziciju
• Minimize — ▼ gumb za smanjivanje u status bar
⚙ Postavke
• Branding — logo, naziv firme, adresa, kontakt (prikazuje se u headeru, footeru, print izvještajima i favicon-u)
• Tema — klikni 🌙 u headeru za prebacivanje tamna/svijetla tema (pamti se u browseru)
• FW Auto Compare — automatska usporedba firewall pravila
• SDS — Standalone Detection Service status i upravljanje; toggle za debug log (prikazuje svaki regex match i threshold provjeru u detector.log)
• Retroaktivna obrada — ponovna analiza starih logova kroz pravila
• SMTP — konfiguracija email obavijesti
• Obavijesti — toggle za email notifikacije
• Webhook — HTTP webhook za integracije
• AbuseIPDB — API ključ za provjeru reputacije IP adresa
• Retencija podataka — automatsko brisanje starih komandi i IIS logova (konfigurirajte dane retencije)
• Reverse Proxy — checkbox u konfiguraciji noda; automatski uključuje IIS logiranje, noise filter (MAPI/ActiveSync/EWS skip) i OWA/ECP detekciju; isključivanje gasi sve
• Whitelist — IP adrese koje se ne blokiraju
🛡 Barracuda Firewall integracija
Integracija Barracuda CloudGen Firewall uređaja kao SOC nodova putem REST API-ja.
⚙ Kako dodati Barracudu:
• Otvori Nodovi tab → Dodaj novi node
• Odaberi tip: 🛡 Barracuda Firewall
• Upiši: naziv (proizvoljno), IP adresu, API port (obično 8080), Access Token
• Klikni Dodaj node — kolektor se automatski povezuje unutar ~1 minutu
• Nakon povezivanja: servisi, telemetrija i inventar opreme se automatski popunjavaju
📋 Priprema na Barracudi:
• REST API Service mora biti uključen (Configuration → Infrastructure Services → REST API)
• Kreirati Access Token s dugim TTL-om i uključenim REST API forwarding
• Port (8080/8443) mora biti dostupan sa SOC servera
🔎 Praćenje logova:
• Otvori Barracuda node → Servisi → uključi log tipove koje želiš pratiti
• Preporučeno: box_Firewall_threat, box_Auth_access, box_SSH_sshd, box_Config_changes, box_Event_operative
• box_Firewall_Activity ima velik volumen — uključiti samo po potrebi
📊 Telemetrija i inventar:
• CPU, RAM, uptime — automatski svakih 30 sekundi
• Inventar opreme (model, S/N, firmware, mrežni interfejsi, MAC adrese) — automatski
• Heartbeat — ako Barracuda ne odgovara, node prelazi u offline nakon ~3 min
🛡 Blokiranje IP-ova kroz Barracudu (dual-list model):
Aegis blokira IP-ove kroz Barracudu putem dviju per-podnode lista na parent FW-u:
• Aegis-Blocked-<NodeName> — automatski blokovi (SDS auto-block, Geo-block, Alert-driven)
• Aegis-Manual-<NodeName> — rucni blokovi iz GUI-a (FW Governance, Firewall pravila po nodovima)
Aegis ih automatski kreira i odrzava (self-healing sync svakih 10 min). Korisnik napravi 2 rule-a po child nodu koristeci te 2 liste kao source. Unblock uklanja IP iz OBJE liste istovremeno.
1. Jednokratna postavka na Barracudi (Firewall Admin / WebUI):
• Provjeri da API token ima Manager rolu (Aegis to auto-detekcija radi non-destructively preko GET /rest/config/v1/box/admins/<name>)
• Aegis kroz self-healing sync automatski kreira obje liste Aegis-Blocked-<NodeName> i Aegis-Manual-<NodeName> za svaki child node — ne moras rucno kreirati
• U Forwarding Firewall Rules dodaj DVA pravila na vrhu rule liste za svaki child node:
Rule 1: AEGIS-AUTO-<NodeName>
Source: Aegis-Blocked-<NodeName> Dest: Any Service: Any Action: Block
Rule 2: AEGIS-MANUAL-<NodeName>
Source: Aegis-Manual-<NodeName> Dest: Any Service: Any Action: Block
• Activate pa Aegis dalje sve radi sam
• Na classic CGF (ne policy-driven CGW), Aegis pokusa auto-kreirati rule preko POST /rest/config/v1/forwarding-firewall/rules pri prvom blocku — ako uspije, ne trebas rucno. Na policy-driven CGW vf1000 API vraca 409 i moras rucno.
2. Kako Aegis koristi objekt:
• Block IP-a → doda u included listu (PUT)
• Unblock IP-a → ukloni iz included liste (PUT)
• Kad je lista prazna, drži placeholder 192.0.2.1 (RFC5737, ne-rutabilan) jer Barracuda zabranjuje empty included
• Ovaj pristup radi i na policy-driven CGW/CGF appliance-ima (vf1000, GWAY-*) gdje klasični Rules REST API ne postoji
3. Delegirani blokovi (Linux/Win iza Barracude):
• Linux/Win nodovi koji imaju parent_node_id = Barracuda i Block delegate → ON (u detaljima noda) automatski delegiraju blokove na parent firewall — manual, alert-driven, geo-block, auto-block svi prolaze isti path
• Aegis za svaki podnode kreira zasebni objekt Aegis-Blocked-<ChildName> — dakle BARICA ima više objekata, jedan po podnodu — pa znaš točno koji blok dolazi od kojeg noda
• U Firewall pravila po nodovima → Osvjezi s noda za podnode vidiš gore sekciju === Blokirano na barracuda 'BARICA-RW' za 'NODE_NAME' === sa živim popisom žto je blokirano za taj specifičan node
4. Auto-detect 4-state write_state (non-destructive):
Aegis koristi admin role lookup preko GET /rest/config/v1/box/admins + per-admin role provjere (trazi rolu "Manager"). Ne kreira testne objekte, ne triggera config lock. Svakih 5 min background probe osvjezava state:
• full (zeleni badge) — ima Manager rolu, sve block akcije rade
• readonly (crveni) — token autoriziran ali nema Manager rolu — kontaktiraj admina da grant-a ulogu
• no_access (narancasti) — 401/403 — token revokan, peer IP restrikcija, admin disabled — kontaktiraj admina
• unreachable (sivi) — timeout/connection refused — provjeri network i je li box online
Badge u listi nodova i node detail panelu. Tooltip pokazuje admin imena, role i vrijeme provjere. Sve auto-block / geo-block / manual akcije prije poziva API-ja provjeravaju write_state i vracaju jasnu poruku ako nije full.
⚠ Ograničenja:
• Nema agent update/restart/install/uninstall — Barracuda nema instaliranog agenta
• Nema port scannera ni CSF-a
• Block po portu nije podržan na CGW vf1000 (jer Rules API ne postoji); block je uvijek source-IP-based (sve sa tog IP-a se baca)
• Akcije: Blokiraj/Otblokiraj IP, Dekomisioniraj node
🛡 Management IP allowlist (dodavanje admin IP-ova):
Kada treba omoguciti novi izvor IP-a za pristup management/SSH servisima Barracude (npr. novi ured, VPN, home office), radi se preko network objekta koji je kao source u rule-u za mgmt servise. Na OGMA kutijama to je Management-OGMA (provjeri kako se zove kod vas u Firewall Admin -> Forwarding Rules -> provjera source polja u rule-u za SSH/807/REST).
Preko REST-a: GET objekta → dodaj novi entry u included → PUT puno tijelo natrag.
⚠ Vazno: promjena se upisuje u config tree ali NIJE odmah aktivna. Moras rucno otvoriti Firewall Admin GUI i kliknuti Send Changes → Activate (ili kroz ESM ako je box managed). REST /rest/config/v1/commit endpoint postoji ali trazi session token koji jos nismo uspjeli dobiti — istrazujemo.
🗑 Diagnostika — full REST config dump:
Ako treba pregledati sve sto REST dopusta (za debug pristupa, provjeru objekata, admin rola), pokreni skriptu _barica_dump.py iz C:\aegis\ prilagodjenu za konkretan box (promijeni TOKEN i BASE). Vraca box info, network IPs, sessions, admins s rolama, sve network/service/connection objekte. Output u JSON formatu u /tmp/barica_dump.txt na serveru (ili lokalno).
📡 MikroTik integracija
Integracija MikroTik RouterOS uređaja putem RouterOS API-ja (port 8728).
Radi na RouterOS v6 i v7 — koristi standardni API protokol, ne REST API.
⚙ Kako dodati MikroTik:
• Otvori Nodovi tab → Dodaj novi node
• Odaberi tip: 📡 MikroTik
• Upiši: naziv, IP adresu, API port (8728), korisničko ime, lozinku
• Klikni Dodaj node — kolektor se automatski povezuje unutar ~30 sekundi
📋 Priprema na MikroTiku (obavezno prije dodavanja noda):
RouterOS naredbe (kopiraj i zalijepi u MikroTik terminal)
# 1. Kreiraj SOC korisnika (read grupa za readonly pristup) /user add name=soc.api password="VASA_LOZINKA" group=read
# 2. Omogući API servis /ip service set api disabled=no port=8728
# 3. Ograniči API pristup samo na IP SOC servera (preporučeno) /ip service set api address=IP_SOC_SERVERA/32
# 4. Dozvoli pristup na port 8728 u firewallu (IZNAD drop pravila!) /ip firewall filter add chain=input protocol=tcp dst-port=8728 src-address=IP_SOC_SERVERA action=accept comment="SOC API access" place-before=0
# 5. Uključi firewall logging za drop pravila (za SIEM detekciju) /ip firewall filter set [find action=drop] log=yes log-prefix="FW-DROP"
# 6. Uključi NAT logging (za SIEM IP trace) /ip firewall nat set [find action=dst-nat] log=yes log-prefix="NAT-DNAT"
⚠ Zamijeni IP_SOC_SERVERA s javnom IP adresom vašeg Aegis SOC servera.
⚠ Zamijeni VASA_LOZINKA s jakom lozinkom za SOC korisnika.
⚠ Pravilo #4 (accept na 8728) MORA biti iznad svih drop pravila u filter listi!
🔎 Što se prati:
• Login pokušaji — brute force detekcija (fail + success korelacija)
• Promjene konfiguracije — tko je što promijenio, s koje IP adrese
• Firewall pravila — dodavanje, promjena, brisanje FW pravila
• Interface down/up — detekcija pada linkova
• Kreiranje/brisanje korisnika — persistence detekcija
📊 Telemetrija i inventar:
• CPU, RAM, uptime — automatski svakih 30 sekundi
• Inventar (model, firmware, interfejsi, disk) — automatski
• Ako MikroTik ne odgovara, node prelazi u offline
⚠ Napomena:
• Sva MikroTik pravila imaju allow_private_ip jer se MikroTiku često pristupa s LAN-a
• IP adresa i korisničko ime se automatski izvlače iz korisnik@IP formata u logovima
📦 Synology NAS monitoring
Detekcija brute force napada na Synology DSM login stranicu.
Kako radi:
• Agent na Synology NAS-u čita /var/log/synoplugin.log (ili /var/log/messages ako syslog prosljeduje synoplugin evente)
• SDS prepoznaje STATUS=fail i STATUS=success iz Synology DSM login logova
• Automatska ekstrakcija IP adrese iz IP=x.x.x.x polja
• Podrška za privatne IP adrese (LAN) jer se NAS-u često pristupa interno
Kako dodati log source:
• Otvori Nodovi → odaberi Synology NAS node → Log Sources
• Dodaj novi: path = /var/log/synoplugin.log, service name = synoplugin
• Ako NAS koristi syslog-ng koji piše u /var/log/messages, service name će biti synoplugind.service — pravilo ih oboje prepoznaje
Detekcijska pravila:
• Synology DSM Login Brute Force — detektira neuspjele loginove, severity HIGH
• Synology DSM Successful Login — prati uspješne loginove, severity INFO (isključeno po defaultu)
⚠ Vazna napomena:
Synology NAS ima instaliran agent koji prikuplja logove, a SDS ih analizira i detektira prijetnje u realnom vremenu jednako kao i na Linux/Windows serverima. Jedino ogranicenje: automatsko blokiranje IP adresa nije moguce na Synology uredaju jer DSM ne podrzava vanjsko upravljanje firewallom. Kad sustav detektira prijetnju, kreirat ce alarm i poslati email obavijest — blokiranje je potrebno izvrsiti rucno kroz DSM sucelje.
🌐 IIS Log Monitoring (Windows)
IIS (Internet Information Services) na Windowsu ne zapisuje pristupne logove u Event Log. Umjesto toga, IIS pise logove u tekstualne datoteke na disku. Aegis agent zna citati te datoteke i slati ih na SOC za analizu.
Gdje se nalaze IIS logovi?
IIS sprema logove u folder: C:\inetpub\logs\LogFiles\
Unutar tog foldera postoji po jedan podfolder za svaki IIS site:
C:\inetpub\logs\LogFiles\
📁 W3SVC1\ ← prvi IIS site (obicno port 80)
u_ex260328.log ← danasnji log
u_ex260327.log ← jucerasnji log
📁 W3SVC2\ ← drugi IIS site (obicno port 443 / HTTPS)
u_ex260328.log
u_ex260327.log
Agent automatski prati najnoviji fajl u folderu. Kad IIS sutra kreira novi fajl (u_ex260329.log), agent automatski prelazi na njega.
Korak po korak: kako ukljuciti IIS log pracenje
Provjerite da je Windows agent instaliran i online na serveru gdje je IIS
U Aegis GUI-ju otvorite Nodovi tab
Kliknite na ime Windows noda koji ima IIS
Skrolajte dolje do sekcije 📂 Prilagodeni log putovi
Ispunite 3 polja i kliknite Dodaj:
NAZIV:
IIS HTTPS (443)
PUTANJA:
C:\inetpub\logs\LogFiles\W3SVC2\
SERVICE NAME:
IIS-443
Za HTTP (port 80) dodajte jos jedan source: putanja C:\inetpub\logs\LogFiles\W3SVC1\, service name IIS-80
Kako saznati W3SVC broj?
Svaki IIS site ima svoj ID broj. Folder se zove W3SVC + taj broj.
• Nacin 1: Na serveru otvorite folder C:\inetpub\logs\LogFiles\ i pogledajte koji podfolderi postoje (W3SVC1, W3SVC2...)
• Nacin 2: Otvorite IIS Manager → klik na site → Advanced Settings → polje ID pokazuje broj
• W3SVC1 = site ID 1, W3SVC2 = site ID 2 itd.
Sto sustav detektira u IIS logovima:
• IIS HTTP 401/403 Brute Force — netko ponavlja pristupe s krivim podacima (npr. pokusava pogoditi lozinku za OWA/ECP)
• IIS Path Traversal / Suspicious URL — netko pokusava pristupiti sumnjivim putanjama (.env, .git, web.config, /admin, /../..)
• IIS HTTP 500 Server Error Spike — nagli porast serverskih gresaka (moze ukazivati na napad ili problem)
Sto se dogada nakon dodavanja?
• Na sljedecem heartbeatu (do 30 sekundi) agent pocinje citati IIS logove
• Logovi se pojavljuju u Logovi tabu s oznakom servisa (npr. IIS-443)
• SDS ih automatski analizira i generira alarme ako detektira sumnjivo ponasanje
• Ako je Auto-Block ukljucen na pravilu i nodu, napadac se automatski blokira na Windows Firewallu
⚠ Vazno:
• Putanja mora zavrsavati s \ (backslash) — to govori agentu da je to folder, ne pojedinacna datoteka
• Ako putanja ne postoji na serveru, sustav ce odmah javiti gresku
• Ne trebate upisivati ime datoteke (npr. u_ex260328.log) — agent sam pronalazi najnoviji fajl u folderu
🌐 Web Server Log Monitoring (Linux)
Aegis agent automatski detektira web servere na Linux nodovima i prati njihove error i access logove. Nije potrebna rucna konfiguracija.
Podržani web serveri:
Web server
Error log
Access log
nginx
/var/log/nginx/error.log
/var/log/nginx/access.log
Apache2 (Debian/Ubuntu)
/var/log/apache2/error.log
/var/log/apache2/access.log
httpd (RHEL/AlmaLinux/cPanel)
/usr/local/apache/logs/error_log
/usr/local/apache/logs/access_log
LiteSpeed / OpenLiteSpeed
/usr/local/lsws/logs/error.log
/usr/local/lsws/logs/access.log
Caddy
/var/log/caddy/error.log
/var/log/caddy/access.log
lighttpd
/var/log/lighttpd/error.log
/var/log/lighttpd/access.log
Kako radi:
• Agent skenira standardne lokacije i automatski prati sve logove koje pronade
• Ako web server koristi nestandardnu putanju, agent ce je svejedno pronaci ako je datoteka citljiva
• Na cPanel serverima agent automatski prati per-domena logove iz /usr/local/apache/domlogs/ (do 20 najaktivnijih domena)
• Sve detektirane putanje se prikazuju u Servisi panelu u detaljima noda
• Agent salje stvarne putanje logova na SOC — nista nije hardkodirano
Sto se detektira:
• HTTP brute force napadi (ponovljeni 401/403 odgovori)
• Path traversal pokusaji (/../.., .env, .git)
• SQL injection pokusaji u URL parametrima
• 500 Server Error spike (nagli porast serverskih gresaka)
• Sumnjivi User-Agent stringovi (poznati skener alati)
Servisi panel:
Otvorite bilo koji Linux node → Servisi. Za svaki servis vidite:
• Status — running/stopped
• Toggle — ukljuci/iskljuci pracenje logova
• Node putanja loga — stvarna putanja na tom serveru (ne na kolektoru)
• 24h — broj primljenih log zapisa u zadnja 24 sata
• Greske — broj error/critical zapisa
✓ Potpuno automatski: Nije potrebna nikakva konfiguracija. Agent detektira web server, pronalazi logove i salje ih na SOC. SDS ih analizira i generira alarme.
🚫 Iznimke (Exclusions)
Kad dobijete lažni alarm koji se stalno ponavlja, dodajte iznimku da sustav ubuduće preskoči te logove.
Scope opcije:
• API — log se ne sprema u bazu (najagresivnije)
• SDS — log se sprema ali SDS ga preskače u detekciji
• Oba — API + SDS zajedno
• FIM — File Integrity Monitoring preskače fajlove koji sadrže pattern (npr. GroupPolicy, CSPUpdate, desktop.ini)
Kako dodati iznimku
Otvorite Iznimke tab (u Admin meniju)
Kliknite Dodaj novu iznimku
Unesite naziv i pattern (tekst ili regex)
Odaberite scope:
API — log se ne sprema u bazu (smanjuje volumen, npr. IIS noise)
SDS — log se sprema ali SDS ga preskače u detekciji (npr. MS cert)
Oba — ni ne sprema ni ne detektira
Opcionalno: odaberite pravilo (per-rule) ili ostavite globalno (sva pravila)
Opcionalno: unesite servis filter (npr. PowerShell, IIS, Windows-Security)
Kliknite Dodaj
🔎 Regex tester
Prije dodavanja regex iznimke, obavezno testirajte regex u testeru na dnu stranice:
• Unesite regex pattern i zalijepite primjer log linije
• Kliknite Testiraj — sustav vraća match/no-match rezultat
• Neispravan regex se ne može spremiti — zaštita od rušenja SDS-a
• Regex validacija se radi dvostruko (frontend + backend)
Primjeri:
Naziv:
Microsoft Time-Stamp cert
Pattern:
Microsoft Time-Stamp (tekst)
Scope:
SDS | Servis: PowerShell
Zašto:
Windows Update timestamp certifikat u PowerShell 4104 logu — nije napad
Naziv:
Bitdefender LSASS
Pattern:
EPSecurityService (tekst)
Scope:
SDS | Pravilo: LSASS Memory Access
Zašto:
Bitdefender AV pristupa LSASS memoriji — normalno ponašanje, ne credential dump
Naziv:
Windows Scheduled Tasks
Pattern:
\Tasks\Microsoft\ (tekst)
Scope:
FIM
Zašto:
Windows automatski mijenja scheduled task definicije — noise, ne sigurnosna prijetnja
⚠ Važno:
• Neispravan regex se ne može spremiti — zaštita SDS-a od pada
• Exclusion se primjenjuje odmah — SDS ga čita iz baze svaki ciklus (3 sekunde)
• Svako dodavanje, uređivanje i brisanje se bilježi u Audit log (ISO compliance)
• Iznimke se mogu upaliti/ugasiti bez brisanja (toggle gumb)
💡 Prvih 24 sata — Checklist za novi sustav
Upravo ste dobili pristup Aegis SOC-u. Evo sto napraviti prvih 24 sata:
SAT 1 — Orijentacija
☐ Otvorite Dashboard — pregledajte stat kartice i Service Health
☐ Provjerite Nodovi tab — jesu li svi nodovi zeleni (Online)?
☐ Otvorite Alarmi — pregledajte zadnjih 10 alarma, kliknite na jedan za detalje
☐ Pritisnite F1 na bilo kojem ekranu — kontekstualna pomoc
SAT 4-8 — Upoznajte detekciju
☐ Otvorite SIEM tab — pregledajte heatmapu i top napadace
☐ Otvorite Pravila — pregledajte 285+ aktivnih detekcijskih pravila
☐ Otvorite MITRE ATT&CK — provjerite pokrice (zeleno = pokriveno)
☐ Otvorite Hunt — probajte pretraziti logove za "Failed password"
SAT 8-24 — Operativno koristenje
☐ Preuzmite jedan alarm (Acknowledge) i istrazite ga
☐ Otvorite Case Management — kreirajte testni case
☐ Provjerite Blokirano — pregledajte aktivne blokove i whitelist
☐ Provjerite Compliance — vidite koliko kontrola je zadovoljeno
☐ Generirajte prvi izvjestaj (Reports → Generiraj → PDF)
🔒 Secure Login
Secure Login dodaje dodatni sloj sigurnosti pri prijavi.
Kako radi:
• Korisnik upisuje samo email adresu na login ekranu
• Sustav šalje jednokratni sigurnosni link na email
• Korisnik klikne link → otvara se forma za lozinku
• Nakon ispravne lozinke, ako je 2FA uključen → TOTP ekran
• Token je jednokratan, hashiran (SHA-256), automatski se briše
Postavke (admin):
• Toggle ON/OFF — kada je OFF, login radi standardno (email + lozinka na istom ekranu)
• TTL tokena — koliko minuta link vrijedi (minimalno 5 minuta)
• Zahtijeva konfiguriran SMTP — bez SMTP-a se ne može aktivirati
• Rate limit — max 3 zahtjeva po email adresi u 10 minuta
🌐 Geo Blocking
Centralizirano blokiranje zemalja na svim nodovima.
Kako radi:
• Admin odabere zemlje za blokiranje (globalno ili per-node)
• SDS pri svakoj detekciji provjerava geo lokaciju IP-a (ip-api.com lookup)
• Ako je zemlja blokirana → odmah šalje block_ip komandu na node (CSF/iptables/netsh)
• Kreira alarm s oznakom GEO_BLOCK i statusom "resolved" (već blokirano)
Tab Geo Blocking (Admin → Geo Blocking):
• Toggle ON/OFF — globalno uključivanje/isključivanje
• Lijevi panel — popis nodova + "Globalno" scope
• Desni panel — pravila za odabrani scope; dodavanje/brisanje zemalja
• Globalna pravila — primjenjuju se na sve nodove
• Per-node pravila — override globalnih; Block (dodatno blokiranje) ili Allow (izuzetak od globalnog)
Prioritet:
• Per-node pravilo > globalno pravilo
• Primjer: globalno blokiraj CN → svi nodovi blokiraju Kinu
• X1-buba: Allow CN → Kina prolazi samo na X1-buba
Vidljivost:
• Dashboard — kartica "Geo Block danas" s brojem; klik otvara sve geo block alarme
• Alarmi — 🌐 GEO BLOCK badge; filter po pravilu "Geo Block"
• Blokirano — 🌐 GEO badge uz "system:geo-block" u stupcu Blokirao
Izuzece (Geo Block Exempt):
• U node detaljima (konfiguracija) → checkbox "Izuzeto" kod GEO BLOCKING
• Kad je ukljuceno, SDS preskace SVA geo block pravila za taj node
• Automatski: cancela pending geo-block komande, queue-a unblock za vec blokirane IP-ove, resolve-a Geo Block alarme
• Korisno za nodove koji trebaju pristup iz svih zemalja (web serveri, API serveri)
🤖 Bot Detection
Sustav za automatsko prepoznavanje botova i botneta iz alarma.
Kako radi:
• SDS analizira svaku IP adresu iz alarma i dodjeljuje bot score (0-100) na temelju: brzine napada, multi-node prisutnosti, AbuseIPDB scorea, recidivizma i volumena
• IP s score ≥60 postaje bot; IP-ovi iz istog /24 subneta s istim tipom napada se grupiraju u isti bot
• Svaki bot dobiva identitet: BOT-0001, BOT-0002... s praćenjem svih IP adresa, napada i nodova
Tab Botovi (Analitika → Botovi):
• Stat kartice — ukupno botova, aktivni, IP adresa, DDoS kandidati
• Tablica botova — klasifikacija (Botnet / Botnet-Large / DDoS), prijetnja, IP-ovi, napadi, status. Sve kolone sortirajuce
• Bot detail — klik na bota otvara detaljan pregled:
• Mrezne informacije — primarni ASN, zemlja, subnet, ISP, organizacija, hosting flag, AbuseIPDB score
• ASN/Zemlja distribucija — ako bot ima IP-ove iz više ASN-ova ili zemalja
• Napadnuti nodovi — lista s brojem napada po nodu
• IP tablica — sve IP adrese bota s bot score, abuse score, zemljom, ASN-om, statusom (sortirajuca)
• Alarmi — zadnjih 50 povezanih alarma (sortirajuca tablica)
• Biljeske — slobodni tekst za analiticara
• Akcije — Neutraliziraj (oznaci riješenim), Aktiviraj, Obrisi, Auto-block toggle
Klasifikacija:
• Botnet — <20 IP adresa
• Botnet-Large — 20-499 IP adresa
• DDoS — 500+ IP adresa
Status bota:
• Active — zadnji napad <7 dana
• Dormant — zadnji napad 7-30 dana
• Inactive — zadnji napad >30 dana
• Neutralized — ručno oznacen kao riješen
Retroaktivna analiza (Postavke → Bot Recognition):
• Pokrenite analizu svih postojećih alarma za kreiranje botova iz povijesnih podataka
• Odaberite date range (opcijski) ili ostavite prazno za sve podatke
• Progress bar prikazuje napredak; analiza radi u pozadini bez utjecaja na SDS detekciju
• Idempotentno — moze se pokrenuti vise puta; ne dupicira botove
Real-time detekcija:
• SDS automatski scorira nove IP adrese u svakom ciklusu (3s) i pridružuje ih botovima
• Bot badge 🤖 se prikazuje u tablici alarma za IP-ove koji pripadaju botovima
• Auto-block: ako je ukljucen na botu, svaka nova IP se automatski blokira
Fingerprinting (Faza 2):
• SDS računa fingerprint za svakog bota: prosječni interval napada, stddev, lista usernamea, ciljani nodovi, subneti
• Težinski matching: timing 30%, usernames 25%, attack type 20%, targets 15%, ASN/subnet 10%
• Nova IP koja nema isti subnet ali ima slično ponašanje (score ≥70%) se automatski pridružuje postojećem botu
• Fingerprint info vidljiv u bot detail modalu (sekcija 🔎 Fingerprint)
DDoS detekcija (Faza 3):
• Automatska eskalacija bota u DDoS kada ima 500+ IP adresa ili 100+ novih IP u 5 minuta
• 3 razine: Level 1 (WARNING: 500-2000 IP), Level 2 (CRITICAL: 2000-10000 IP), Level 3 (EMERGENCY: 10000+ IP)
• DDoS dashboard se prikazuje na vrhu Botovi taba kada postoji aktivni napad
• Geo heatmap prikazuje distribuciju napadackih IP-ova po zemljama
• Webhook za automatsku mitigaciju (Cloudflare, upstream provider) — salje se automatski ili rucno iz bot detalja
• IOC Export — download TXT fajla sa svim IP adresama bota za unos u vanjski WAF/firewall
• Kriticna notifikacija — email NOC-u pri DDoS detekciji + zvuk alarma u GUI-ju
Bot detail modal:
• 🌎 Mapa — Leaflet geografska mapa svih IP adresa bota (plavi=aktivni, crveni=blokirani)
• 📈 Timeline — bar chart novih IP-ova po satima (zadnjih 7 dana)
• 🔎 Fingerprint — detalji ponašanja bota
• ⚠ DDoS info — level, pocetak napada, webhook i IOC gumbovi (samo za DDoS botove)
⚠️ DDoS napad — kako reagirati (korak po korak)
Ovaj vodič opisuje kompletni postupak od trenutka kad sustav detektira DDoS napad do zatvaranja incidenta.
1. Kako ćete znati da je DDoS u tijeku?
Aegis vas obavještava na 5 načina istovremeno:
• Status bar (dolje) — crveni blinkajući tekst: "DDoS WARNING/CRITICAL/EMERGENCY: X napad(a), Y IP" — vidljiv na SVAKOM tabu
• Dashboard sigurnosna traka (gore) — "DDoS: X aktivnih" — klik vas vodi u Botove
• Alarmi tab — kritični alarm s ⚠ DDoS badgeom i detaljima napada
• Email — kritična email obavijest NOC timu s brojem IP-ova, nivoom prijetnje i nazivom bota
• Botovi tab — crveni DDoS dashboard na vrhu s kartom napadnih IP-ova po zemljama
2. Što znače razine (Level)?
🟡 Level 1 — WARNING — 500–2000 IP adresa ili 100+ novih u zadnjih 5 minuta. Napad je aktivan ali ograničenog opsega. 🔴 Level 2 — CRITICAL — 2000–10000 IP adresa ili 200+ novih u 5 min. Ozbiljan napad, potrebna hitna reakcija. ⚠️ Level 3 — EMERGENCY — 10000+ IP adresa ili 500+ novih u 5 min. Masivni distribuirani napad, moguće gušenje infrastrukture.
3. Korak po korak: što napraviti
Kliknite na DDoS obavijest — bilo u status baru, Dashboardu ili Alarmima. Sve vas vode u Botove tab.
Pogledajte DDoS dashboard (crveni panel na vrhu Botovi taba):
Koliko je IP adresa ukupno i koliko novih u zadnjih 5 min
Geo distribucija — iz kojih zemalja dolaze napadači
Koji bot(ovi) su eskalirali u DDoS
Kliknite "🚫 Blokiraj sve IP" (crveni gumb dolje lijevo) — sustav šalje block komandu za SVE IP adrese svih DDoS botova na sve nodove s auto-block. Ovo je prva i najvažnija akcija.
Kliknite na bota u tablici za detaljan pregled:
IP tablica — sve IP adrese, zemlje, ASN, status blokade
Mapa — geografski prikaz svih napadnih IP-ova
Napadnuti nodovi — koji serveri su pogođeni i koliko
Exportirajte IOC listu (📄 Export IOC gumb u bot detaljima) — download TXT fajla sa svim IP adresama. Predajte listu:
Vašem ISP-u / upstream provideru za upstream blokadu
Cloudflare / CDN provideru za WAF pravila
Barracuda/MikroTik administratoru za FW pravila
Ako imate konfiguriran webhook — kliknite "🔌 Webhook" za slanje IP lista na vanjski sustav (Cloudflare, Slack, PagerDuty...)
Pratite situaciju — DDoS dashboard se automatski osvježava. Gledajte:
Raste li broj novih IP-ova u 5 min? Napad se pojačava.
Pada li? Blokade djeluju, napad slabi.
Jesu li se promijenile zemlje? Napadač možda rotira infrastrukturu.
Kad je napad završen — kliknite "✔ Neutraliziraj sve". Bot dobiva status "Neutralized", nestaje iz DDoS dashboarda i status bara. Incident je zatvoren.
4. Preventivne mjere (prije napada)
• Geo Blocking — ako ne očekujete promet iz Kine, Rusije ili drugih zemalja, blokirajte ih preventivno
• Auto-block na nodovima — uključite auto-block na svim produkcijskim nodovima
• Webhook — konfigurirajte webhook za DDoS detekciju u API Integracijama — automatska mitigacija bez ručne intervencije
• Obavijesti — provjerite da su globalne obavijesti uključene i da je NOC email ispravan (Postavke)
5. Ako napad ne prestaje
• Napad razine 2+ koji traje više od 30 minuta — kontaktirajte ISP-a za upstream mitigaciju
• Razmotriti privremeno ograničenje pristupa samo na poznate IP raspone
• Ako imate CDN (Cloudflare) — prebacite DNS na Cloudflare proxy i aktivirajte "Under Attack" mode
• Za Exchange/web servere — ograničite pristup samo iz Hrvatske/EU putem Geo Blocking-a
🗏 SIEM
Jedinstveni SIEM pretraživač koji prati put svake IP adrese kroz mrežnu infrastrukturu.
Nalazi se pod Monitoring → SIEM.
Kako koristiti:
• Upišite IP adresu, ime noda ili tenant u polje za pretragu i kliknite Pretraži
• Sustav automatski prikazuje: put kroz mrežu, mapu, konekcije, alarme, logove i block historiju
• Dodatni filteri: vremenski raspon, smjer (inbound/outbound), port
Što se prikazuje:
• Summary kartice — broj konekcija, inbound/outbound, unique IP-ovi, nodovi
• IP Info panel — geo lokacija, ISP, AbuseIPDB reputacija, bot status, block historija (tko blokirao, kad, razlog)
• Chain prikaz — vizualni put prometa: 🌐 Napadac → 🛡 Firewall → 🖥 Server → ❓ Backend
• Mrežna mapa — D3.js interaktivni graf s nodovima i konekcijama
• Konekcije tablica — sortirajuća, klikabilne IP adrese za daljnju pretragu
• NAT translacije — Barracuda, MikroTik, FortiGate NAT iz FW logova
• Povezani alarmi — svi alarmi za tu IP
• Logovi — posljednjih 15 log linija sa svih nodova
• Firewall Events — IPS, block, scan zapisi + bypass detekcije
Topologija — pametno prepoznavanje puta:
• Firewall ispred — ako node ima konfiguriran FW (Barracuda, MikroTik), prikazuje: IP → FW → Server
• ❓ Nepoznati gateway — ako node nema FW u SOC-u ali je iza nekog uređaja, prikazuje žuti "?" između
• Direktna veza — serveri s javnom IP direktno na interfejsu (npr. cPanel): IP → Server
• Reverse proxy backend — ako server proslijeđuje promet dalje (IIS ARR), prikazuje backend s imenom iz logova (npr. VMP-EXCH)
Interakcija s mapom:
• Zoom/drag — scroll za zoom, drag za pomicanje
• Klik na node — highlight samo tog noda i njegovih konekcija, ostali se dim-aju
• Klik na chain red — filtrira mapu, konekcije, alarme i logove samo za taj put
• "Prikaži sve" — vraća prikaz svih putova
• Klik na vanjsku IP — odmah pokreće novu pretragu za tu IP
• Hover — tooltip s detaljima noda
Activity Dashboard (novo!):
Kad otvorite SIEM tab, automatski se prikazuje pregled aktivnosti bez potrebe za upisom IP-a:
• Stat kartice — ukupni dogadaji, critical, high, medium, unique IP-ovi
• Timeline — aktivnost po satu u obliku bar grafa, obojeno po najvisem severity-u
• Top napadaci — sortirajuća tablica, klik na IP odmah pokreće SIEM trace
• Po pravilu — koja pravila generiraju najvise detekcija
• Zadnjih 50 dogadaja — tablica s klikabilnim IP-ovima, MITRE oznakom i statusom
• Filtri — odaberite severity ili node za filtriranje dashboarda
• Kad pretrazite IP, dashboard se sakrije i prikazuje detalje. Gumb "← Pregled" vraća vas na dashboard.
🗃 Database Activity Monitoring (DAM)
Modul za pracenje aktivnosti na bazama podataka. Nalazi se pod DAM tab.
Navigacija (dva nivoa): Nivo 1 — Pregled nodova:
• DAM tab prikazuje kartice svih nodova koji imaju detektiranu bazu podataka
• Svaka kartica prikazuje: ime noda, engine badge (MSSQL/MySQL/MariaDB/PostgreSQL/MongoDB), online/offline status
• Na kartici se vidi: compliance badge (zeleno/crveno), broj alarma, broj DB logova
• Za MSSQL nodove: lista detektiranih baza podataka (master, msdb, korisnicke baze)
• Za MySQL/MariaDB nodove: Audit ON/OFF badge
• Vremenski filter: 24h / 3 dana / 7 dana
Nivo 2 — Drill-down (klik na karticu):
• Gumb "Natrag na pregled" vraca na Nivo 1
• Stat kartice: ukupno dogadaja, Login Failed, Privilege Escalation, Bulk Delete, Schema Change, Backup/Export, User Change
• Tablica po pravilu: koje DAM pravilo je koliko puta okidalo
• Za MSSQL: lista detektiranih baza na tom nodu
• DB Security Alarmi: tablica s vremenom, severity, pravilo, IP, korisnik, broj pokusaja, trigger log
• DB Logovi: raw logovi s MySQL/MSSQL/PostgreSQL servisa
• Compliance provjere: per-node backupi, CHECKDB, maintenance planovi
MySQL Detaljni Logging (toggle switch):
Na MySQL/MariaDB nodovima u drill-downu vidljiv je toggle switch "MySQL Detaljni Logging".
Switch OFF (default):
• Agent prati samo MySQL error log (mysql-error kanal)
• Detektira: crash/restart, access denied, too many connections, aborted connections
Switch ON:
• Agent aktivira MySQL general_log i taila log datoteku
• Salje SAMO opasne operacije: DROP DATABASE/TABLE, DELETE FROM, TRUNCATE TABLE, ALTER TABLE, CREATE/DROP USER, GRANT, REVOKE, mysqldump, LOAD DATA, INTO OUTFILE
• Obicni SELECT/SHOW upiti se NE salju — samo security-relevantne operacije
• Postavka je persistentna — prezivljava restart agenta
• Radi na Linux i Windows serverima s MySQL/MariaDB
Što DAM prati (18 pravila):
• DB: Login Failed (high) — neuspjesni pokusaji prijave na MSSQL, MySQL, PostgreSQL
• DB: Privilege Escalation (critical) — GRANT, REVOKE, CREATE USER, ALTER ROLE
• DB: Bulk Delete/Truncate (critical) — DROP DATABASE, DELETE FROM, TRUNCATE TABLE
• DB: Schema Changed (medium) — CREATE/ALTER/DROP TABLE, INDEX, DATABASE
• DB: Backup/Export (high) — BACKUP DATABASE, mysqldump, pg_dump, bcp
• DB: User Created/Modified (high) — CREATE/ALTER/DROP USER/LOGIN
• DB: Sensitive Data Access (high) — pristup tablicama s lozinkama, GDPR podacima
• DAM: MSSQL Login Failed (high) — Error 18456, FAILED_LOGIN_GROUP
• DAM: MSSQL Service Event (medium) — SQL Server start/stop/shutdown
• DAM: MySQL Access Denied (medium) — Access denied for user
• DAM: MySQL Connection Aborted (medium) — Aborted connection, Too many connections
• DAM: MySQL Crash/Restart (high) — Shutdown complete, ready for connections
• DAM: PostgreSQL Auth Failure (high) — FATAL password auth failed, no pg_hba
• DAM: PostgreSQL DDL Change (high) — CREATE/ALTER/DROP TABLE/DATABASE/ROLE
• DAM: PostgreSQL Fatal Error (critical) — FATAL shutdown, PANIC
• DAM: PostgreSQL Warning (low) — collation, corruption, mismatch
• DAM: phpMyAdmin Probe (medium) — skeniranje phpMyAdmin/pma putanja
• DAM: cPanel DB Auth (low) — cPanel MySQL operacije
Compliance provjere:
• Auto-detect — skenira logove zadnjih 7 dana i predlaze provjere za detektirane DB engine-e
• Rucno dodavanje — definirajte operaciju, regex pattern, service filter i interval
• Status: OK (zeleno), Warning (zuto), Critical (crveno), Unknown (sivo)
• Primjeri: MSSQL Backup (dnevno), MSSQL CHECKDB (tjedno), PostgreSQL Checkpoint (dnevno)
• SDS worker provjerava compliance svakih sat vremena i salje alarm ako operacija kasni
Primajte alarme, obavijesti o prijetnjama, DDoS detekciju i ostale dogadjaje direktno na Telegram, WhatsApp ili Signal.
✈ Telegram postavljanje:
1. Otvorite @BotFather na Telegramu
2. Posaljite /newbot i pratite upute za kreiranje bota
3. Kopirajte Bot Token (format: 123456789:ABCdefGHI...)
4. Dodajte bota u grupu ili mu posaljite poruku direktno
5. Za Chat ID grupe: dodajte @getmyid_bot u grupu ili koristite https://api.telegram.org/bot{TOKEN}/getUpdates
6. U Aegis SOC: Postavke → Telegram/WhatsApp/Signal → unesite Bot Token i Chat ID
7. Kliknite Test za provjeru
8. Ukljucite Telegram checkbox u globalnim kanalima
💬 WhatsApp postavljanje:
1. Registrirajte se na Meta Business
2. Kreirajte WhatsApp Business aplikaciju
3. U WhatsApp → API Setup: kopirajte Phone Number ID i Permanent Access Token
4. Dodajte primatelja u sandbox (za test) ili registrirajte broj (za produkciju)
5. U Aegis SOC: unesite Token, Phone Number ID i broj primatelja (+385...)
6. Kliknite Test za provjeru
🔒 Signal postavljanje:
1. Pokrenite signal-cli-rest-api Docker container: docker run -d -p 8080:8080 -v signal-data:/home/.local bbernhard/signal-cli-rest-api
2. Registrirajte broj: POST /v1/register/+385...
3. Potvrdite verifikacijski kod: POST /v1/register/+385.../verify/CODE
4. U Aegis SOC: unesite REST API URL (npr. http://localhost:8080), broj posiljatelja i primatelje
5. Kliknite Test za provjeru
Napomena: Svi kanali se mogu kombinirati — npr. kriticni alarmi idu na Telegram I email, a DDoS dodatno na WhatsApp. Konfiguracija je u Postavke → Obavijesti → NMS Matrica.
🔗 API za vanjske sustave
Omogućava trecim sustavima da se spoje na Aegis SOC i citaju podatke putem REST API-ja.
Aktivacija:
• Postavke → sekcija "API za vanjske sustave" → ukljucite toggle
• Kad je ukljuceno, pojavi se Admin → API Integracije u meniju
Kreiranje integracije:
• Kliknite + Nova integracija
• Upisite naziv (npr. "Grafana", "ITSM ticketing")
• Odaberite scopeove — koji podaci su dostupni (health, alerts, nodes, blocks, bots, firewall, network, stats, reports)
• Postavite rate limit (max zahtjeva po minuti, default 60)
• Opcionalno: IP whitelist (samo odredene IP adrese smiju pristupiti)
• Opcionalno: datum isteka (ili trajni kljuc)
• API kljuc se prikazuje samo jednom — kopirajte ga odmah!
Koristenje API-ja:
• Svaki zahtjev mora sadrzavati header X-Api-Key: <vas_kljuc>
• Svi endpointi su pod /api/v1/ext/ — npr. /api/v1/ext/health, /api/v1/ext/alerts
• Kliknite Dokumentacija za personaliziranu dokumentaciju s primjerima u cURL, Python, C#, VB.NET i PHP
Webhookovi (push):
• U detaljima integracije kliknite + Dodaj webhook
• Odaberite event tip: alert_critical, alert_high, node_offline, bot_detected, firewall_bypass, ddos_detected
• Unesite URL na koji ce se slati HTTP POST
• Opcionalno: signing secret za HMAC-SHA256 potpis
Debug mode:
• U detaljima integracije kliknite Debug ON
• Svaki API poziv se detaljno logira (metoda, path, status code, trajanje, IP)
• Logovi vidljivi u tablici na dnu detalj panela
Sigurnost:
• API kljuc se sprema kao SHA-256 hash (ne moze se procitati iz baze)
• Rate limiting po kljucu (zastita od preopterecenja)
• IP whitelist (opcionalno ogranicenje pristupa)
• Tenant izolacija (kljuc vidi samo podatke svog tenanta)
• Scope kontrola (kljuc pristupa samo dozvoljenim endpointima)
• Audit trail svakog poziva
⚙ Status
Centralni pregled zdravlja Aegis SOC servera i svih servisa u realnom vremenu.
Pristup: Status kolektora tab (admin only)
Sekcije:
1. Resursi servera
• CPU % — trenutno opterecenje procesora + load average (1/5/15 min)
• RAM — zauzetak memorije u MB/GB i postotak
• Disk — zauzetak diska po particijama
• Sparkline grafovi — vizualni trend zadnjih ~30 min za svaki resurs; crvena linija = upozorenje
2. SDS (Standalone Detection Service)
• Status — running/stopped/degraded
• Alarmi danas/sat/mjesec — brojaci s trendovima
• Histogram 24h — graficki prikaz aktivnosti detekcije po satima
• Watermark — zadnji obradjeni log ID (pracenje napretka)
3. Servisi
• API — FastAPI/Uvicorn status, uptime, broj zahtjeva
• Nginx — web server status
• MySQL — baza podataka status, konekcije
• SDS — detekcijski servis, PID, uptime
• Kolektori — MikroTik, Barracuda, FortiGate kolektor procesi
4. Baza podataka
• Tablice — naziv, broj redova, velicina na disku
• Ukupna velicina — zbirna velicina svih tablica
• Retencija — ako je ukljucena, prikazuje konfigurirane periode brisanja
5. Obavijesti (email log)
• Popis svih poslanih i neuspjelih email obavijesti
• Za svaku: timestamp, status (sent/failed), primatelj, predmet, severity, node, greska
⚠ Savjet: Status tab se automatski osvjezava svakih 10 sekundi. Ako je CPU ili RAM u crvenom, provjerite koji proces zauzima resurse. Ako je SDS "stopped", restartajte ga: sudo systemctl restart kolektor-detector
📄 Security Report
Pristup: Izvještaji tab → Security Report panel
Opcije generiranja:
• Pojedinačni node — odaberite node iz dropdowna za izvještaj tog sustava
• Tenant — odaberite tenant za izvještaj svih nodova tog tenanta (svaki node zasebno)
• Svi nodovi — ostavite prazno za kompletni izvještaj cijele infrastrukture
• Period — opcionalno definirajte datum od-do; bez datuma = kompletna povijest
• Sekcije — checkboxevi za odabir sadržaja (sažetak, alarmi, napadači, MITRE, blokade, telemetrija, servisi, timeline)
Generiranje:
• Kliknite Generiraj izvještaj — PDF se generira u pozadini
• Progress je vidljiv u globalnom status baru na dnu ekrana (npr. "Node 3/8: mikbak (38%)")
• Možete nastaviti raditi na drugim tabovima dok se generira
• Kad završi, dobivate toast obavijest i gumb "Preuzmi PDF" postaje aktivan
Sadržaj PDF-a:
• Naslovnica s podatcima tenanta/firme, periodom i uvodnim tekstom
• Sadržaj (TOC) s brojevima stranica po nodu
• Per-node: risk ocjena, napadači s AbuseIPDB, MITRE mapiranje s raw evidence, telemetrija graf, karta napada, akcijski plan
• Ukupna sigurnosna ocjena s obrazloženjem i preporukama
Email: Upišite email adresu i kliknite "Pošalji na mail" za slanje HTML sažetka izvještaja.
Napomena: PDF se čuva na serveru 24 sata nakon generiranja, zatim se automatski briše.
🔒 File Integrity Monitoring (FIM)
Pristup: Klik na node → panel "File Integrity Monitoring"
Što radi: Agent svakih 5 minuta računa SHA256 hash kritičnih sistemskih fajlova i šalje na server. Server uspoređuje s prethodnim hashom i detektira promjene.
Tipovi događaja:
• ✎ modified — sadržaj fajla je promijenjen (novi hash)
• 🗑 deleted — fajl je obrisan
• ✚ created — novi fajl detektiran
• 🔒 permissions — promijenjene dozvole (ali sadržaj isti)
Custom putanje: U FIM panelu kliknite "Custom FIM putanje" i dodajte vlastite putanje (jedna po liniji) Alarmi: Svaka promjena generira alarm u centralnom sustavu (MITRE T1565.001 — Stored Data Manipulation) + email obavijest Toggle: Postavke → File Integrity Monitoring toggle za globalno uključivanje/isključivanje Iznimke: Iznimke tab → scope: FIM — dodajte patterne za preskačenje (npr. CSPUpdate, GroupPolicy, desktop.ini). 16 preset patterna za poznati Windows/Linux noise već uključeno. Deduplikacija: Isti fajl na istom nodu generira max 1 event po satu — sprečava spam za fajlove koji se često mijenjaju.
🛡 Registry Security Audit (Windows)
Pristup: Klik na Windows node → panel "Registry Security Audit"
Sto radi: Agent svakih 6h provjerava ~30 kriticnih Windows registry kljuceva koji utjecu na sigurnost sustava. Svaka provjera ima status: PASS, FAIL ili INFO.
Gumbi:
• Skeniraj — salje registry_audit komandu agentu za instant provjeru
• Osvjezi — ponovno ucitava rezultate iz baze
🐛 Vulnerability Scanner (CVE)
Pristup: Klik na node → panel "Ranjivosti (CVE)"
Što radi:
• Linux: Agent svakih 30 min prikuplja instalirane pakete (dpkg/rpm/apk) i šalje na server. Server provjerava svaki paket protiv OSV.dev CVE baze.
• Windows (MSRC): Agent svakih 6h koristi Windows Update API (COM objekt) za detekciju nedostajucih sigurnosnih azuriranja. Automatski izvlaci CVE ID-ove i MSRC severity (Critical/Important/Moderate/Low). Rezultati se salju direktno na server.
• MSRC Enrichment: Server automatski obogacuje svaki CVE s CVSS score (iz NVD/NIST) i provjerava da li je CVE na CISA KEV (Known Exploited Vulnerabilities) listi aktivno eksploatiranih ranjivosti. KEV ranjivosti su oznacene crvenim badge-om.
Prikaz:
• Summary kartice — broj Critical / High / Medium / Low ranjivosti
• CVE tablica — CVE ID (link na MSRC za Windows, OSV za Linux), severity, KB/paket, build/verzija, fix, opis
• Instalirani paketi — kompletan popis s verzijama
Gumbi:
• 📦 Skeniraj pakete — šalje komandu agentu; za Windows automatski pokreće i WU sken (~2-5 min)
• 🔍 Rescan CVE — Linux: svjež OSV.dev lookup. Windows: pokreće novi WU sken na agentu
Flow nakon zakrpe:
1. Zakrpajte paket (apt upgrade) ili instalirajte Windows Update
2. Kliknite "Skeniraj pakete" — agent šalje novi popis
3. Za Linux: kliknite "Rescan CVE" za svjež lookup
4. Ranjivost nestaje jer je verzija/KB sad instalirana
Cache: Linux: OSV.dev rezultati se keširaju 7 dana. Windows: svjež sken svakih 6h. Toggle: Postavke → Vulnerability Scanning toggle za globalno uključivanje/isključivanje
📧 Obavijesti (Notification Log)
Pristup: Status kolektora tab → panel "Obavijesti (email log)" na dnu
Što prikazuje:
• Vrijeme — točan timestamp slanja
• Status — ✓ sent (uspješno poslano) ili ✗ failed (greška pri slanju)
• Primatelj — email adresa na koju je poslan mail
• Predmet — subject emaila (npr. "[Aegis SOC] VISOKO: SSH Brute Force na www")
• Razina — severity alarma koji je izazvao obavijest (critical/high/medium/low)
• Node — koji node je izazvao alarm
• Alert — ID alarma u sustavu
• Greška — detalj SMTP greške ako slanje nije uspjelo
Kontrole:
• Default prikazuje zadnjih 50 obavijesti
• Gumb "Prikaži sve" učitava do 500 zapisa
• Gumb "Osvježi" osvježava podatke
• Tablica je sortirajuća — klik na zaglavlje za ASC/DESC sortiranje
Vrste obavijesti koje se logiraju:
• Alarm notifikacije (detektirane prijetnje)
• Blokade/odblokade IP adresa
• DDoS detekcija
• Node offline/online promjene
• SDS crash recovery i degradacija
• Audit reporti i dnevna telemetrija
🔍 Mrezni Skener & Device Discovery
Pristup: Admin meni → Mrezni Skener
Sto je Mrezni Skener?
Alat koji prikazuje kompletnu internu mrezu odabranog tenanta: sve nodove, firewalle, nepoznate uredaje, medusobne konekcije i outbound promet.
Kako koristiti:
1. Odaberite tenant iz dropdowna
2. Odaberite vremenski raspon (1h - 7 dana)
3. Kliknite Skeniraj
Sto se prikazuje:
• Topologija mreze — D3 interaktivna mapa s drag & zoom; narancasti=FW, plavi=serveri, zuti=nepoznati, crveni=alarm
• Tablica nodova — ime, tip, OS, status, javna/LAN IP, firewall ispred, aktivni alarmi
• Nepoznati uredaji — IP adrese vidljive u prometu koje nemaju agent
• Interne veze — node-to-node komunikacija s portovima
• Top outbound — kuda nodovi salju promet van
VAZNO: Device Discovery (ARP)
Gumb "Otkrivanje: ON" aktivira automatsko skeniranje lokalne mreze. Agenti salju ARP tablicu + reverse DNS svakih 5 minuta.
• Kad je ON: agenti kontinuirano salju podatke, tablica se popunjava automatski
• Kad je OFF: agenti prestaju slati, ali podaci ostaju u bazi
• Klasifikacija: svaki uredaj automatski klasificiran po MAC vendoru, portovima i hostname patternima (VM, Server, PC, Printer, Mrezni, Telefon, IoT)
• Otkriveni uredaji prikazani zasebno po svakom nodu s badge-ovima koliko kojih tipova
📡 SNMP Auto-Discovery
Pristup: Admin meni → Mrezni Skener → SNMP panel
Sto je SNMP Discovery?
Automatsko otkrivanje mreznih uredaja (switchevi, routeri, printeri, UPS-ovi) putem SNMP protokola. Agenti skeniraju lokalnu mrezu i prikupljaju detaljne informacije o svakom uredaju.
Kako konfigurirati:
1. Otvorite Mrezni Skener tab i odaberite tenant
2. Kliknite "SNMP: OFF" da aktivirate SNMP discovery
3. U SNMP panelu dodajte community string (npr. "public" za read-only)
4. Opcijski: dodajte ciljane subnet-e (npr. 192.168.1.0/24)
5. Podesite interval skeniranja (5min - 1h)
6. Agenti ce na sljedecem heartbeatu dobiti konfiguraciju i poceti skenirati
Sto se prikuplja:
• sysName — hostname uredaja
• sysDescr — opis (OS/firmware verzija)
• sysUpTime — koliko dugo je uredaj upaljen
• sysLocation — fizicka lokacija (ako je konfigurirano na uredaju)
• Interfaces — lista mreznih sucelja sa statusom
• ARP tablica — switchevi/routeri otkrivaju dodatne uredaje
NAPOMENA: Agenti trebaju snmp alate instalirane na OS-u:
• Linux:apt install snmp ili yum install net-snmp-utils
• Windows:snmpget.exe u PATH-u (iz net-snmp paketa)
Bez SNMP alata, discovery je automatski onemogucen na tom agentu (ARP discovery nastavlja raditi normalno).
📜 Sigma Rules
Pristup: Pravila tab → Sigma Rules sekcija na dnu
Sto su Sigma Rules?
Sigma je otvoreni standard za pisanje pravila za detekciju prijetnji. AEGIS ukljucuje kurirani paket od 30+ Sigma-derived pravila koja pokrivaju napredne napade na Windows, Linux i mrezne uredaje.
Ugradjeni paket pokriva:
• Credential Access — Mimikatz, DCSync, SAM dump, AMSI bypass
• Lateral Movement — WMI, WinRM, PsExec, RDP tunneling
• Persistence — Registry Run keys, DLL side-loading, crontab, SSH keys, kernel moduli
• Defense Evasion — Tamper Protection, Sysmon tampering, Event Log clearing
• Execution — Linux reverse shell, SUID/SGID binaries
• C2 — DNS tunneling, Tor detekcija
• Web napadi — SQL injection, XSS, Log4Shell/JNDI
• Appliance — MikroTik i FortiGate login failure i config change
Uvoz custom pravila:
1. Otvorite Pravila tab → Sigma Rules sekcija
2. Kliknite "Uvezi Sigma YAML pravilo"
3. Zalijepite Sigma YAML format (iz SigmaHQ ili vlastiti)
4. Kliknite "Uvezi pravilo" — sustav automatski parsira YAML, konvertira detection u regex, mapira MITRE tag
Upravljanje:
• Svako pravilo moze se individualno upaliti/ugasiti
• Export CSV za pregled svih pravila
• Sigma pravila su oznacena s [Sigma] prefiksom
🐧 AegisUpdate (Linux)
Sto je AegisUpdate Linux?
Zaseban systemd servis (kolektor-updater.service) koji je UVIJEK aktivan — cak i kad agent padne. Identican koncept kao Windows AegisUpdate. Moze remotely restartati, updateati ili rollbackati agenta.
Crash loop zastita:
Ako agent padne 3 puta u 5 minuta, AegisUpdate automatski rollbacka na prethodnu verziju (agent.py.bak).
Auto-install:
Agent pri startupu automatski provjerava postoji li kolektor-updater.service. Ako ne postoji, skida aegis-updater.py sa servera i instalira ga kao systemd servis. Znaci: svaki novi nod automatski dobiva AegisUpdate.
Logovi:/opt/kolektor-agent/updater.log
📤 Syslog Receiver
Pristup: Postavke → Sustav → Syslog Receiver
Sto je Syslog Receiver?
Linux agent moze primati syslog poruke (UDP) od mreznih uredaja koji ne mogu imati vlastiti agent — switchevi, routeri, printeri, UPS-ovi, NAS-ovi, kamere. Uredaji salju syslog na LAN IP agenta, agent parsira poruku i prosljeduje na server kao normalni log.
Kako konfigurirati:
1. Otvorite Postavke → Sustav
2. U sekciji Syslog Receiver kliknite ON
3. Opcijski: promijenite port (default: 1514)
4. Na mreznom uredaju konfigurirati syslog destination: IP agenta, UDP, port 1514
Primjer za MikroTik: /system logging action set remote bsd-syslog=yes remote=10.8.2.50 remote-port=1514 /system logging add action=remote topics=critical,error,warning,info
Primjer za Synology:
Control Panel → Log Center → Log Sending → Enable, Server: IP agenta, Port: 1514, Protocol: UDP
NAPOMENA: Port 514 zahtijeva root pristup. Koristite port 1514 i iptables redirect: sudo iptables -t nat -A PREROUTING -p udp --dport 514 -j REDIRECT --to-port 1514
📋 Compliance Dashboard (CIS Benchmark)
Pristup: Admin meni → Compliance
Sto je Compliance Dashboard?
Centralni pregled sigurnosne uskladenosti svih nodova s CIS Benchmark standardom. Prikazuje ukupni compliance score, breakdown po kategoriji, per-node rezultate i detalje svih neuspjelih provjera.
Automatsko skeniranje:
• Windows: Pokrece se na zahtjev komandom "registry_audit" ili automatski pri inventuri
• Linux: Automatski svakih 6 sati + na zahtjev komandom "security_audit"
Dashboard prikaz:
• Ukupni Score — postotak prosjelih provjera (zeleno ≥80%, zuto 60-80%, crveno <60%)
• Po kategoriji — progress barovi za svaku kategoriju
• Po nodu — tablica s score-om, pass/fail/info po svakom nodu
• Neuspjele provjere — detaljna tablica svih fail-ova s trenutnom i ocekivanom vrijednoscu
• Export CSV — kompletni compliance izvjestaj
SAVJET: Filtrirajte po tenantu za pregled compliance-a pojedinog klijenta. Neuspjele provjere prikazuju tocnu trenutnu vrijednost i sto bi trebalo biti — koristite to za remediation.
🛡 WAF — Web Application Firewall
Sto je WAF?
Agent-based Web Application Firewall koji stiti web aplikacije od OWASP napada (SQL Injection, XSS, Path Traversal, Command Injection i dr.). Radi lokalno na agentu — analizira web logove u realnom vremenu i blokira napadace.
MONITOR — samo logira napade, NE blokira (preporuka za prvih 2 tjedna)
PROTECT — logira + blokira napadace na lokalnom firewallu
Kliknite Spremi
Agent prima WAF config u sljedećem heartbeatu (~30s)
Korak 3 — Pratite rezultate:
• Otvorite 🛡 WAF tab u Security meniju
• Kartice: blokirano 24h, monitor 24h, nodovi s WAF, aktivna pravila
• Per-node status s modom (OFF/MONITOR/PROTECT)
• Top napadaci i top pravila (24h)
• Tablica svih WAF evenata s filterima (per node, per tenant, period)
• WAF alarmi se prikazuju i u Alarmi tabu kao normalni alarmi
Rate Limiting:
• Default: 100 req/min per IP (konfigurabilan globalno i per-node)
• Login endpointi (/login, /wp-login, /admin): 10 req/min
• Burst tolerance: 20 req iznad limita
• Prekoracenje → block 15 min
Block trajanje i recidiv:
• Svaka kategorija ima definirano trajanje (SQLi 2h, XSS 1h, CmdI 4h...)
• Recidiv: 2. block = dvostruko trajanje, 3. block = 24h, 4+ = permanentno
• Konfigurabilan u WAF Block Durations
🛡 Block Delegate — delegirano blokiranje
Sto je Block Delegate?
Nodovi koji ne mogu sami blokirati IP adrese (npr. Windows serveri gdje je Windows Firewall ugasen jer Bitdefender/ESET upravlja firewallom) mogu delegirati blokiranje na parent firewall (MikroTik, FortiGate, Barracuda). Blokiranje se izvrsava odmah na firewallu putem API-ja — nema cekanja na agenta ili heartbeat.
PREDUVJETI:
• Node mora imati definiran Parent Firewall u postavkama noda
• Parent firewall mora biti online i imati appliance konfiguraciju (IP, port, API korisnik)
• API korisnik na firewallu mora imati write pristup (mogucnost dodavanja pravila)
• Za MikroTik: port 8728 (RouterOS API) mora biti dostupan s kolektora
Dok je globalno iskljuceno, delegacija ne radi ni za jedan node
Korak 2 — Konfigurirajte parent firewall na nodu:
Otvorite Nodovi tab i kliknite na node koji ne moze sam blokirati (npr. TIPKutina-www)
U konfiguraciji noda odaberite Parent Firewall iz dropdowna (npr. MT-TipKutina)
Oznacite checkbox "Blokiraj na parent FW" (Block Delegate)
Sustav ce automatski testirati write pristup na parent firewall
Ako test prodje — delegacija je ukljucena
Ako test ne prodje — dobit cete poruku greske s uputom (npr. "FW API nema write pristup")
Kliknite Spremi
Korak 3 — Blokiranje IP adrese:
Otvorite Alarmi tab i pronadite alarm za napadnutog noda
Kliknite 🚫 Block gumb na alarmu
U block dijalogu vidite informaciju: "Block Delegate aktivan — IP ce biti blokirana na [parent FW]"
Kliknite Blokiraj
Sustav ODMAH salje API poziv na firewall i dodaje IP u address-listu aegis_<NodeName>
Firewall filter pravilo (DROP za tu address-listu) se automatski kreira na poziciji #0 (vrh) ako ne postoji
Alarm prelazi u status Resolved s notom "Auto-resolved: blocked"
U Blokirano tabu vidite block pod imenom origin noda s badge-om via [FW]
Korak 4 — Odblokiranje IP adrese:
Otvorite Blokirano tab → Trenutno blokirane IP adrese
Pronadite blokiran IP pod origin nodom (npr. TIPKutina-www)
Kliknite ✓ Unblock
Potvrdite u dijalogu
Sustav ODMAH salje API poziv na firewall i brise IP iz address-liste
Alarmi za tu IP adresu se automatski vraćaju na status new s badge-om ↩ Bilo blokirano
U block povijesti u detaljima alarma vidite kompletnu historiju tko je kad blokirao/odblokirao
Automatski istek blokade (TTL):
• Ako block ima definirani TTL (iz pravila ili tenant postavki), timeout na firewallu se sinkronizira s kolektorom
• Kad TTL istekne: firewall automatski brise IP, kolektor SDS worker salje cleanup unblock
• Alarmi za tu IP se automatski vracaju na aktivan status s notom "block istekao"
• Permanentni block (bez TTL) = bez timeout-a na oba sustava, traje dok admin ne odblokira
Sto se dogada pri dekomisioniranju noda:
• Sva delegirana FW pravila za taj node se automatski brisu s parent firewalla
• Address-lista na firewallu ostaje prazna (moze se rucno obrisati)
Sinkronizacija kolektor ↔ firewall:
• SDS worker svakih 10 minuta provjerava stanje address-lista na svim appliance firewallima
• Ako je IP u kolektoru blokirana ali ne na firewallu → automatski se ponovno doda
• Ako je IP na firewallu ali ne u kolektoru (istekla) → automatski se brise
Podrzani firewalli:
• MikroTik — RouterOS API (port 8728), address-list + firewall filter pravilo
• FortiGate — REST API (port 443), firewall/address objekt
• Barracuda CloudGen — REST API, firewall rules
⚠ Upozorenje: Ako node ne moze sam blokirati (Windows FW ugasen) i nema ukljucen Block Delegate, sustav prikazuje upozorenje u block dijalogu: "Lokalni firewall ugasen — blokiranje nece biti izvrseno. Kontaktirajte osobu koja upravlja antivirusnim rjesenjem ili ukljucite Block Delegate."
📄 SOAR Case Management
Pristup: Security meni → Cases
Sto je Case Management?
Sustav za pracenje i upravljanje sigurnosnim incidentima. Svaki alarm ili sigurnosni dogadaj moze se pretvoriti u "case" koji se dodjeljuje odgovornoj osobi i prati do rezolucije.
Kako kreirati case:
• Kliknite "+ Novi case" u Cases tabu
• Upisite naziv, odaberite severity (critical/high/medium/low)
• Opcjonalno: povezite s alarmom, nodom, IP adresom ili MITRE tehnikom
Workflow:
• OPEN → novi, ceka reakciju
• IN PROGRESS → netko radi na njemu
• ESCALATED → zahtijeva hitnu paznju
• RESOLVED → rijeseno s rezolucijom
• CLOSED → zatvoreno
Timeline:
• Svaka promjena statusa, komentari i akcije se bileze u timeline
• Kliknite na case za prikaz kompletnog timeline-a
• Dodajte komentare za dokumentiranje istrage
NMS SMS eskalacija:
• Konfigurirajte SMS gateway u Postavke → Obavijesti → NMS Gateway
• Podrzani provideri: Infobip i Twilio
• Kad alarmi ostanu nerijeseni, NMS automatski salje SMS na phone kontakte tenanta
• Voice pozivi dostupni samo s Twilio (TwiML, HR glas)
🧠 ADA — Analiza Digitalnih Anomalija
Pristup: Security meni → ADA
Sto je ADA?
Modul za automatsku detekciju anomalija u ponasanju nodova. Gradi baseline normalnog ponasanja za svaki node i detektira odstupanja koja mogu ukazivati na sigurnosne prijetnje.
Sto ADA detektira:
• Spike alarma — neuobicajeno visok broj alarma na nodu u odredjenom satu (z-score > 3 sigma od prosjeka). Moze ukazivati na aktivni napad ili incident.
• Nova zemlja — napadi iz zemlje koja nije vidjena u prethodnih 30 dana. Moze ukazivati na novu kampanju ili botnet.
Kako radi baseline:
• SDS worker svakih 4 sata analizira 7 dana unatrag
• Za svaki node racuna prosjecan broj alarma po satu
• Usporeduje trenutno stanje s prosjekom
• Ako je odstupanje > 3 standardne devijacije, kreira anomaliju
ADA Dashboard:
• 4 kartice — anomalije 24h, anomalije 7d, kriticne 24h, nodovi s baseline
• Po tipu anomalije — breakdown s brojem i prosjecnim score-om
• Tablica anomalija — node, tip, severity, score, opis, baseline vs stvarna vrijednost, vrijeme
• Filter po periodu — 24h, 3 dana, 7 dana, 30 dana
Severity anomalija:
• CRITICAL — z-score > 5 (ekstremno odstupanje)
• HIGH — z-score 4-5
• MEDIUM — z-score 3-4 ili nova zemlja
SAVJET: ADA treba minimalno 3 ciklusa (12 sati) da izgradi dovoljno dobar baseline. Prvih par sati moze generirati lazne anomalije dok se baseline stabilizira.
📅 Zakazani izvjestaji (Scheduled Reports)
Pristup: Postavke → sekcija "Zakazani izvjestaji"
Sto radi?
Automatski salje sigurnosne izvjestaje po rasporedu na odabrane email adrese.
Kako dodati raspored:
1. Kliknite "+ Dodaj novi raspored"
2. Odaberite tenant, tip (dnevni/tjedni/mjesecni), dan i sat
3. Unesite email primatelje (zarezom odvojene)
4. Kliknite Dodaj
Upravljanje:
• Pause/Play — privremeno iskljuci/ukljuci raspored
• X — trajno obrisi raspored
• Tablica prikazuje zadnje slanje
VAZNO: Izvjestaj sadrzi: ukupno alarma, po severity-u, top napadace, MITRE tehnike, blokirane IP-ove. Provjerite da je SMTP konfiguriran u Postavkama.
🔒 OS / Firmware End-of-Life (EOL)
Pristup: Postavke → sub-tab "OS / FW EOL"
Sto radi?
Prati datume prestanka podrske (End-of-Life) za operativne sustave i firmware mrežne opreme. Nodovi koji koriste EOL sustav automatski se oznacavaju kao RANJIVI sa pulsajucim crvenim badge-om.
Kako dodati novi zapis:
1. Kliknite "+ Dodaj novi zapis"
2. Regex uzorak — regularni izraz koji se matchira na os_full polje noda (npr. Windows Server 2012)
3. Naziv — ljudski citljiv naziv (npr. "Windows Server 2012 R2")
4. EOL datum — datum prestanka podrske
5. Kategorija — Windows, Linux ili Firmware
Gdje se prikazuje:
• Nodovi tablica — crveni pulsajuci "RANJIV" badge u OS stupcu
• Nodovi kartice — crveni "EOL - RANJIV" badge
• Ranjivosti tab — node kartica dobiva crveni obrub + EOL badge
• EOL tab u Postavkama — upozorenje s listom pogodenih nodova
VAZNO: EOL sustav je ranjiv bez obzira ima li CVE ranjivosti ili ne. Cak i izoliran server bez internet pristupa predstavlja sigurnosni rizik ako mu je OS prestao dobivati sigurnosne zakrpe.
✉ Per-tenant email predlozak
Pristup: Postavke → sekcija "Email predlozak po tenantu"
Zasto koristiti:
Kad imate vise tenanta (klijenata), svaki moze imati vlastiti branding u email obavijestima. Umjesto generickog "[Aegis SOC]" u subjectu, klijent vidi svoju oznaku (npr. "[ACME Security]").
Sto mozete prilagoditi:
• Boja zaglavlja — boja header bara u email obavijestima (default narancasta #f97316); koristite color picker
• Prefiks subjekta — tekst ispred subjecta emaila, npr. "[ACME SOC]" umjesto "[Aegis SOC]"
• Tekst podnozja — custom footer u emailovima (npr. kontakt podatke tvrtke, telefon, adresa)
Kako konfigurirati
Otvorite Postavke tab
Skrolajte do sekcije "Email predlozak po tenantu"
Odaberite tenant iz dropdowna
Postavite boju (color picker), prefiks i/ili footer tekst
Kliknite Spremi
Primjenjuje se na: sve email obavijesti za taj tenant — alarmi, DDoS detekcija, zakazani izvjestaji, eskalacije, node status promjene.
⚠ Napomena: Ako ne postavite custom predlozak, koristi se globalni default (narancasta boja, "[Aegis SOC]" prefiks, bez custom footera).
🔒 AegisUpdate — Udaljeno upravljanje agentima
Pristup: Nodovi → klik na Windows node → panel "Upravljanje agentom"
Sto je AegisUpdate?
AegisUpdate je zaseban Windows servis koji radi uvijek — cak i kad je KolektorAgent ugasen. Polira server svakih 30 sekundi za komande i nadzire stanje agenta.
Dostupne akcije (gumbi u GUI-ju):
• Update Agent — preuzima najnoviju verziju agent.py sa servera, restarta agenta. Automatski pravi backup prije updatea.
• Restart Agent — restarta KolektorAgent servis (bez preuzimanja nove verzije)
• Start Agent — pokece ugaseni KolektorAgent servis
• Stop Agent — zaustavlja KolektorAgent (AegisUpdate ostaje aktivan). Agent nece slati logove dok je ugasen!
• Rollback — vraca prethodnu verziju agenta iz backupa (agent.py.bak). Koristite ako nova verzija uzrokuje probleme.
• Update AegisUpdate — azurira sam AegisUpdate servis na najnoviju verziju
Automatske zastite:
• Watchdog — ako agent padne, AegisUpdate ga automatski restarta
• Crash loop zastita — ako agent padne 3 puta u 5 minuta, automatski se vraca na prethodnu verziju (rollback)
• Backup — prije svakog updatea cuva se agent.py.bak
Status panel:
U vrhu "Upravljanje agentom" panela prikazuje se AegisUpdate status:
• ● Zeleno = AegisUpdate je aktivan i polira server (heartbeat < 90s)
• ● Crveno = AegisUpdate nije javio heartbeat u zadnjih 90s
• ● Sivo = AegisUpdate nije instaliran na ovom nodu
Kako deployati novu verziju agenta
Promijenite AGENT_VERSION u install-windows.ps1 i _LATEST_AGENT_VERSION_WIN u main.py
Uploadajte fajlove na server (main.py + PS1)
Restartajte API servis
U GUI-ju kliknite "Mass Update" ili per-node "Update Agent"
AegisUpdate preuzima novi kod i restarta agenta — cijeli deploy traje ~90 sekundi
Log fajl: C:\kolektor-agent\updater.log (rotacija 1MB, 3 backupa) Servis ime: AegisUpdate (NSSM managed) Konfiguracija: cita KOLEKTOR_URL i NODE_KEY iz agent.env
🔒 Ovlastenja — Upravljanje pristupom korisnika
Pristup: Administracija → Ovlastenja
Sto su ovlastenja?
Sustav za kontrolu koji tabovi i funkcije su dostupni tenant korisnicima. Admini imaju puni pristup svemu — ovlastenja se primjenjuju samo na tenant_user role.
Dvoslojni sustav:
• Tenant default — vrijedi za SVE korisnike tog tenanta. Odaberi tenant bez korisnika i postavi permisije.
• User override — individualna prava za pojedinog korisnika. Odaberi korisnika za override. Korisnici s override-om imaju oznaku [override] u dropdownu.
• Prioritet: user override > tenant default > globalni default
Funkcije — sto korisnik smije raditi:
• Alarmi: promjena statusa, blokiranje IP-a
• Blokirano: block/unblock IP-ova
• Izvjestaji: kreiranje, zakazivanje
• Pravila: kreiranje/izmjena detekcijskih pravila
• Nodovi: konfiguracija, slanje komandi
• Geo Blocking / Iznimke: upravljanje
• Pristup podacima svih tenanta (cross-tenant)
Kako konfigurirati
Otvorite Administracija → Ovlastenja
Odaberite tenant iz dropdowna — prikazuje se tenant-level matrica
Postavite kvacice na zeljene tabove i funkcije
Kliknite Spremi ovlastenja
(Opcionalno) Odaberite pojedinog korisnika za individualni override
Kopiranje ovlastenja: Otvorite "Kopiraj ovlastenja s drugog korisnika", odaberite izvornog korisnika i kliknite "Kopiraj na odabranog". Ako nije odabran cilj, kopira na SVE korisnike tenanta.
Izvjestaj ovlastenja: Gumb "Izvjestaj ovlastenja" generira PDF s pregledom svih korisnika i njihovih prava. Bez odabranog tenanta — prikazuje SVE tenante.
Ukloni override: Gumb "Ukloni override" brise individualna prava korisnika — korisnik se vraca na tenant default.
Sto radi?
Automatski salje email eskalaciju NOC-u kada alarmi ostanu nerijeseni duze od zadanog broja dana.
Konfiguracija:
• Omoguceno — checkbox za ON/OFF
• Prag — broj dana (default 7) nakon kojih se alarm eskalira
VAZNO: Eskalacija se salje jednom po alarmu (ne ponavlja se svaki sat). Email ide na NOC adresu konfiguriranu u SMTP postavkama. Eskalacija NE mijenja status alarma — samo dodaje biljesku i salje obavijest.
Statistika:
• Nerijeseni >24h — broj alarma starijih od 24 sata sa statusom "new"
• Nerijeseni >7d — broj alarma starijih od 7 dana sa statusom "new"
Problem koji rjesava:
Staticki prag (npr. "5 fail logina = alarm") generira previse laznih alarma na prometnim serverima koji imaju stotine legitimnih pokusaja dnevno. Istovremeno, na mirnim serverima 5 pokusaja je vec ozbiljan signal.
Kako funkcionira:
• SDS pokrece baseline worker svakih 2 sata
• Worker analizira zadnjih 7 dana alert eventova za svaki par (node + pravilo)
• Racuna prosjek hitova po satu za taj par
• Formula: adaptivni_prag = max(staticki_prag, staticki_prag + prosjek_po_satu * 0.5)
Primjer:
Pravilo "SSH Brute Force", staticki prag = 5
Mirni server (backup-srv): 0 hitova/sat prosjek → prag ostaje 5
→ 5 fail pokusaja = alarm + auto-block
Sto se dogodi kad se alarm okine?
Reakcija je potpuno ista kao s statickim pragom:
• Kreira se alarm u sustavu (vidljiv u Alarmi tabu)
• Ako je na pravilu ukljucen Auto-Block → SDS salje block_ip komandu agentu
• Ako su ukljucene obavijesti → salje email na NOC adresu
• Severity, MITRE klasifikacija, success tracking — sve identično
Jedina razlika: na prometnim nodovima treba vise pokusaja da se alarm okine.
Kako ukljuciti
Otvorite Postavke tab
Nadite sekciju Adaptivni pragovi detekcije
Ukljucite toggle Omoguceno
Sustav ce poceti racunati baseline za 5 minuta, zatim svakih 2 sata
U logu SDS-a vidjet cete: "Adaptive baselines: X node/rule pairs calculated"
VAZNO:
• Ova funkcija je opcionalna — iskljucite je ako zelite fiksne pragove
• Kad je iskljucena, SDS koristi samo staticke threshold-e iz pravila
• Prag se nikad ne spusta ispod staticke vrijednosti — samo se podize
• Nove nodove bez historije (manje od 7 dana) sustav tretira sa statickim pragom dok ne prikupi dovoljno podataka
🧠 ADA — Anomaly Detection Analytics
ADA je behavioral analytics engine koji detektira anomalije usporedbom trenutnog ponašanja nodova s njihovim baseline-om.
6 tipova anomalija:
• Spike alarma — neuobičajeno visok broj alarma na nodu (Z-score > 3σ)
• Spike login failova — nagli skok neuspjelih prijava (Z-score > 3σ)
• Promet anomalija — neobicno visok mrežni promet na nodu (Z-score > 4σ, iz telemetrije)
• Multi-vector napad — isti IP triggera 3+ različitih pravila na istom nodu (alert_diversity)
• Nova zemlja — napad iz zemlje koja nije viđena u prethodnih 30 dana
• Novi servis — servis koji se prvi put pojavio na nodu u zadnjih 30 dana
Kako radi: ADA svaka 4 sata gradi baseline per-node koristeći Welford algoritmom (running avg + stddev). Kad trenutni sat ima više alarma/failova od prosječnog + 3 standardne devijacije = anomalija.
Gdje vidjeti: ADA tab u navigaciji. Anomalije su sortirane po vremenu, filtrabilne po nodu, tenantu i periodu.
AegisGOD integracija: ADA signali doprinose threat score-u svake IP adrese (max 35 bodova). IP koji uzrokuje alert spike, dolazi iz nove zemlje ili je dio attack chain-a dobiva više bodove.
🔗 Attack Chain Korelacija
Chain korelacija detektira višestupanjske napadacke lance — kad isti IP na istom nodu triggera pravila iz više koraka napadackog lanca, sustav generira CRITICAL alarm.
Gdje vidjeti: Chain alarm se pojavljuje u Alarmima (pravilo "Attack Chain Detected", severity CRITICAL), u ADA tabu (crveni badge "ATTACK CHAIN"), i u AegisGOD (ADA modul s ATTACK_CHAIN signalom).
Kako reagirati: Chain detekcija je visoko-pouzdana jer zahtijeva matchiranje SVIH koraka. Odmah istraziti IP i node. Ako su svi koraci potvrđeni — izolacija noda, incident response.
🛡 AegisGOD — Threat Score + Auto-Response
AegisGOD je centralni intelligence engine koji računa threat score (0-100) za svaku IP adresu na temelju više modula.
Moduli za scoring:
• SIEM (max 40 bodova) — broj alarma + severity (critical +10, high +5)
• WAF (max 25) — broj WAF detekcija + kategorije
• ADA (max 35) — anomaly signali (new_country, alert_spike, multi_vector, attack_chain)
• Recidivist (max 25) — koliko puta je IP bio blokiran ranije
• Spread (max 15) — na koliko različitih nodova napada
• AbuseIPDB (max 15) — vanjski threat intel score
• GeoBlock (10) — IP iz blokirane zemlje
• Port Scan (max 20) — detektirani port skenovi
Auto-Response Playbook:
• Score ≥ 50 → automatski kreira Case (incident)
• Score ≥ 75 → automatski blokira IP (24h-168h ovisno o score-u)
• Score ≥ 90 → blokada 7 dana
• Sve se logira u playbook_log za audit trail
Gdje vidjeti: Intelligence tab (AegisGOD). Prikazuje threat level, top prijetnje s modulnim badge-ovima, detalje po IP-u s komponentama score-a.
🚫 Per-node FIM iznimke
Pristup: Admin meni → Iznimke
Sto su FIM iznimke?
File Integrity Monitoring (FIM) prati promjene datoteka na nodovima. Neki fajlovi se legitimno mijenjaju cesto (cache, logovi, temp) i generiraju nepotrebne alarme. FIM iznimke omogucuju iskljucivanje tih putanja iz pracenja.
Per-node vs globalne iznimke:
• (svi nodovi) = iznimka vrijedi za sve nodove u sustavu (globalna)
• Odabrani node = iznimka vrijedi samo za taj jedan node
Kako dodati FIM iznimku za specificni node
Otvorite Iznimke tab u admin meniju
Kliknite Dodaj novu iznimku
Scope: odaberite FIM
Pattern: unesite putanju ili regex (npr. /var/cache/nginx)
Node: odaberite specificni node iz dropdowna (ili "svi nodovi" za globalnu)
Kliknite Dodaj
Primjer: Web server generira FIM alarme za cache fajlove. Dodajte iznimku scope=FIM, pattern=/var/cache/nginx, node=www. Ostali nodovi ce i dalje javljati promjene u /var/cache/.
Cesti pattermi za iskljucivanje:
• /var/cache/ — cache datoteke
• desktop.ini — Windows desktop konfiguracija
• GroupPolicy — Group Policy azuriranja
• CSPUpdate — Windows CSP promjene
🌐 MikroTik — detekcija + konfiguracija logginga
1. Konfiguracija logginga na MikroTiku
Aegis kolektor cita logove iz MikroTik memorije putem RouterOS API-ja (port 8728). Da bi detekcija radila, MikroTik mora logirat prave stvari — ali ne previse, jer preagresivno logiranje moze usporiti ili srusiti router.
KRITICNO: Sto NE logirat
NIKAD ne stavljaj log=yes na:
• NAT (srcnat/dstnat) pravila — generira stotine logova u sekundi, ubije router
• Accept pravila na firewall filteru — svaki dopusteni paket generira log
• Forward chain accept — sav legitiman promet se logira, totalni flood
Ako ste ovo upalili i router je usporio — odmah ugasite u Winbox: IP → Firewall → Filter/NAT → odaberi pravilo → Action tab → Log = NO
# Zatim SAMO na drop/reject pravilima upaliti log:
/ip firewall filter
set [find action=drop] log=yes log-prefix="DROP_"
set [find action=reject] log=yes log-prefix="REJECT_"
Hvata: port scan pokusaje, blokirane pakete. NE stavljaj log=yes na accept/nat pravila!
D) Provjera da ne logiramo previse:
/log print count-only=yes
# Ako vise od 1000 logova u minuti — nesto je krivo!
# Provjeri koji topici generiraju najvise:
/system logging print
SAVJET: Ako niste sigurni — ostavite samo system i VPN logging (A + B). To je dovoljno za detekciju login napada i config promjena. Firewall logging (C) dodajte tek kad potvrdite da router ima dovoljno resursa.
2. Detekcijska pravila (10 pravila)
Osnovna (iz system logova):
• Login Brute Force — 5+ neuspjelih prijava u 10 min (high)
• Winbox/SSH/Telnet Login — 3+ pokusaja u 10 min na management portove (CRITICAL)
• Config Change — 5+ promjena konfiguracije u 5 min (medium)
• Firewall Rule Changed — bilo koja promjena FW pravila (high)
• User Created/Modified — dodavanje/promjena korisnika (high)
• Interface Down — pad mreznog sucelja (medium)
VPN napadi (iz ipsec/l2tp logova):
• IPsec Brute Force — 3+ neuspjelih VPN pokusaja u 10 min (high)
• IPsec Phase1 Failure — 2+ neuspjele negotiation u 10 min (medium)
• L2TP Scan — 3+ L2TP pokusaja u 5 min (medium)
Firewall (iz firewall logova — treba C konfiguracija):
• Port Scan — 20+ drop/reject paketa od iste IP u 1 min (high)
🔒 Fail2ban Visibility (v2026-05-09)
🧠 Što je novo: Aegis sad vidi i fail2ban-side blokove na Linux nodovima. Ranije nisi vidio bana-ove iz fail2ban-sshd, nginx-botsearch, apache-auth-phpmyadmin i sl. jer su out-of-band — Aegis-ov block_ip pipeline ih nije znao. Sad ih radnički vidiš u tabu Blokirani uz lijepi badge.
Kako prepoznati F2B blok
U tabu Blokirani potraži ljubičasti F2B <jail> badge u stupcu Razlog. Stupac Akcije ima F2B Unban button (umjesto TTL/Unblock). Klik → queue-a fail2ban-client set <jail> unbanip <ip> preko agenta v1.6.39+.
Kako radi:
• Server-side worker (_fail2ban_status_worker) svake 5 min queue-a get_fail2ban_status komandu na svakom online Linux nodu (skipa cPanel hostove — oni koriste CSF, ne fail2ban)
• Agent v1.6.38+ izvršava fail2ban-client status <jail> i vraća banlist po jail-u
• Server parser sprema u tablicu node_fail2ban_blocks + raise alarm "Fail2ban: New Ban" za svaki novi (node, jail, ip) tuple
• GUI tab Blokirani fetcha /api/admin/blocks/all — merže Aegis blokove + fail2ban
Tko ima fail2ban:
• Linux VPS bez cPanel-a (norbert.bu.hr, hosting.bu.hr, lg.bu.hr, www.opcina-kriz.hr, SOC-CLI) — DA
• cPanel hostovi (CPHost3, dbaelektro.hr, mailgw, lmail.ivaplin.hr) — NE, koriste CSF+LFD (isti efekt, drugačiji alat)
• Windows / QNAP / macOS — nema fail2ban-a, agent vraća stub
1-klik unban:
U Blokirani tabu klikni F2B Unban → queue-a se fail2ban_unban cmd na nod → agent izvršava fail2ban-client set <jail> unbanip <ip>. Audit zapis u audit_events akciji fail2ban_unban_queued.
NAPOMENA o whitelist-u: Aegis-ov alert_ip_whitelist NE kontrolira fail2ban — to je out-of-band sustav. Ako želiš trajno štititi neki admin IP od fail2ban-sshd ban-a, moraš ga dodati u /etc/fail2ban/jail.d/aegis-whitelist.local (na svakom hostu) u ignoreip liniju. Aegis sam čuva svoje 4 admin IP-a tamo (admin NAT, Ogma, kolektor self, jump).
Što je riješeno (root cause): cPanel hostovi (CPHost3, hosting.bu.hr) emitiraju 1000+ duplikata /home/virtfs/<cpuser>/... mountova (jail isolation). Result JSON-a get_system_info-a presiže 200KB → truncate u sredini disk_partitions array-a → json.loads bacaće JSONDecodeError → parser tiho fail-uje → svi inventory polji prazni ("—").
Višeslojni fix:
• Agent v1.6.38+ dedupe-ira disk_partitions po (device, mountpoint), cap 60 entries; reordera JSON — disk_partitions ide ZADNJI (truncate-safe)
• Server parser ima JSON salvage: ako pune json.loads baci, trim-a do zadnjeg } i pokušava ponovno
• Schema migration 2026_05_09_001: 6 JSON kolona u node_asset_info bumpane TEXT → MEDIUMTEXT
• Fallback izvori kad agent ne uspije popuniti polje:
— installed_packages → iz node_packages tablice (preko scan_packages cmd-a)
— open_ports → inferred iz agent_inbound_flows (last 7d, distinct dst_port + proc)
Kako provjeriti je li radi: klikni Asset Info collect ili Disk-RAID Scan u node detail-u; nakon ~30s panel pokazuje kernel/CPU/RAM/diskove/portove/pakete. Ako CPHost3 prikazuje 60 disk particija (cap), 11KB JSON, 2342 paketa preko fallback-a — to je očekivano.
⚙ Korisničke postavke
Pristup: Korisnicki meni (ikona korisnika desno u navigaciji) → Postavke
Sve postavke se spremaju per-user u bazi — iste postavke na svim uredajima i browserima.
Dostupne opcije:
• Alarmi po stranici — koliko alarma se prikazuje na jednoj stranici (min 5, max 500, default 200)
• Logovi po stranici — koliko log zapisa po stranici (min 10, max 500, default 100)
• Format datuma — HR format (dd.mm.yyyy HH:MM) ili ISO (yyyy-mm-dd HH:MM:SS)
• Pocetni tab — koji tab se otvara pri loginu, refreshu (F5) i kliku na logo
• Auto-refresh — automatsko osvjezavanje dashboarda i alarma (30s / 1min / 2min / 5min / iskljuceno)
• Kompaktne tablice — smanjen razmak u tablicama za prikaz vise podataka na ekranu
• Zvucne obavijesti — zvucni signal pri pojavi novih alarma dok je GUI otvoren
• Tema — tamna (default) ili svijetla tema
• Dashboard sekcije — odaberite koje sekcije vidite na dashboardu
• Telemetrija dani — period za telemetriju grafove (1d / 7d / 30d)
Promjena lozinke
Kliknite na ikonu korisnika (desno u navigaciji)
Odaberite Promjena lozinke
Unesite trenutnu lozinku i novu lozinku (min 10 znakova)
Kliknite Promijeni
TOTP (dvofaktorska autentikacija):
• Ako je TOTP ukljucen, pri svakom loginu trebate unijeti 6-znamenkasti kod iz autentikator aplikacije (Google Authenticator, Authy, Microsoft Authenticator)
• Enrolment: kod prvog logina skenirajte QR kod
• Admin moze resetirati TOTP za korisnika ako izgubi pristup
🚀 Install Guide (Linux)
Preduvjeti:
• Ubuntu 22.04+ ili Debian 12+ (preporuceno)
• Minimalno 4 GB RAM, 2 CPU, 50 GB disk
• Python 3.10+, MySQL 8.0+, Nginx
• Otvoren port 443 (HTTPS) i 1514 (syslog, opcionalno)
sudo mysql -e "CREATE DATABASE kolektor CHARACTER SET utf8mb4;"
sudo mysql -e "CREATE USER 'kolektor'@'127.0.0.1' IDENTIFIED BY 'VasaLozinka!';"
sudo mysql -e "GRANT ALL ON kolektor.* TO 'kolektor'@'127.0.0.1';"
Spremi kao /etc/systemd/system/kolektor-api.service, zatim: sudo systemctl enable --now kolektor-api
6. Nginx reverse proxy:
Konfiguriraj SSL certifikat (certbot --nginx -d vasadomena.hr) i proxy_pass na 127.0.0.1:8000.
📊 Sizing Guide
Profil
Nodovi
CPU
RAM
Disk
EPS kapacitet
Minimal
do 5
2 vCPU
4 GB
50 GB
~50 EPS
Preporuceno
5-30
4 vCPU
8 GB
200 GB
~200 EPS
Enterprise
30-100+
8+ vCPU
16+ GB
500+ GB SSD
~1000 EPS
Procjena diska: ~1 KB po log zapisu. 100 EPS = ~8.6 GB/dan raw logova. S retencijom od 90 dana: ~800 GB. Preporuka: Koristiti SSD za /var/lib/mysql, postaviti retenciju prema kapacitetu diska.
💾 Backup & Restore
Sto backupirati:
• MySQL baza (kolektor database)
• .env fajl (/opt/kolektor/api/.env)
• Agent install skripte (/opt/kolektor/gui/agent/)
• Nginx konfiguracija (/etc/nginx/sites-available/)
• SSL certifikati (/etc/letsencrypt/)
SDS ne detektira:
• Provjerite je li servis aktivan: systemctl status kolektor-detector
• Health fajl: cat /tmp/kolektor-detector.health
• Self-watchdog restartira ako zaglavi >120s
Agent se ne javlja:
• Provjerite mrezdnu konekciju: curl -k https://vasadomena.hr/api/nodes
• Linux: systemctl status aegis-agent
• Windows: Get-Service AegisAgent
• Logovi: /opt/aegis-agent/agent.log ili C:\AegisAgent\agent.log
SMTP ne salje:
• Postavke → SMTP → Test email
• Gmail: koristite App Password, ne obicnu lozinku
• Provjerite port (587 za TLS, 465 za SSL)
Baza prespora:
• Pokrenite DB Optimizaciju (Sustav → Optimizacija DB)
• Smanjite retenciju ako je disk pun
• Provjerite SHOW PROCESSLIST za blokirajuce upite
Ranjivosti ne skeniraju:
• Provjerite je li vuln_scanning_enabled postavka ukljucena
• Logovi: grep VULN /opt/kolektor/logs/api.log
• Svaki node mora imati instalirane pakete (agent ih salje automatski)
Content Packs ne aktiviraju:
• Provjerite postoji li content_packs tablica u bazi
• Greska "created_at" → azurirajte main.py na najnoviju verziju
• Novi packovi: Sigurnost → Content Packs → Kreiraj novi
☀ Jutarnji pregled — 5 minuta dnevno
Svako jutro napravite ovih 5 koraka za brzi pregled sigurnosnog stanja:
1.Dashboard — provjerite Critical/High kartice. Ako su > 0, odmah na Alarmi tab. 2.SIEM tab — pogledajte heatmapu (novi obrasci?) i top napadace (novi IP-ovi?). 3.Threat Insights — procitajte automatske uvide iz zadnjih 24h. 4.Nodovi — jesu li svi zeleni? Crveni = problem s agentom, reagirajte. 5.Cases — imate li otvorene caseve u statusu New/Triage? Preuzmite ih.
💡 Pro tip: Koristite F1 na bilo kojem tabu za kontekstualne upute s tocnim koracima.
🔎 Analyst Guide — Triage & Investigation
Workflow obrade alarma:
Pregled: Otvorite Alarmi tab, sortirajte po severity (critical prvo)
Triage: Za svaki alarm kliknite "Detalji" — pregledajte izvor IP, pravilo, logove
Kontekst: Koristite "Zasto ovaj alarm?" gumb za objasnjenje i preporuku
Istraga: Kliknite "Istrazi detaljno" za AbuseIPDB, MITRE mapiranje, block povijest
Akcija:
True Positive: Blokirajte IP → Acknowledge → Otvorite Case
False Positive: Kliknite "Auto-iznimka (FP)" za kreiranje iznimke
Informativno: Acknowledge → Resolve
Eskalacija: Za kriticne alarme koristite "Obavijest" gumb za email NOC timu
Case Management:
• Otvorite case iz alarma (gumb "Otvori Case")
• Dodajte komentare, mijenjajte status, dodijelite analiticaru
• Koristite timeline za pracenje aktivnosti
• Export u PDF za dokumentaciju incidenta
Report Builder (drill-down):
• Analitika → Report Builder
• Odaberite modul (Alarmi, Blokade, Logovi, WAF, Botovi, Ranjivosti, FIM, Compliance)
• Odaberite raspon datuma i filtre (tenant, node, severity)
• Grupirajte po: datum, tjedan, mjesec, node, IP, pravilo, zemlja, severity
• Drill-down: svaka grupa prikazuje detalje — kliknite na datum/IP da vidite sve napade s IP adresom, pravilom, nodom, trajanjem i severity-em
• Odaberite tip prikaza (tablica, bar, line, pie, doughnut)
• Export u PDF ili XLSX
Database Activity Monitoring (DAM):
• Sigurnost → DAM
• Prati aktivnost na bazama podataka: MySQL, PostgreSQL, MSSQL
• Detektira: neuspjele prijave, DDL promjene (CREATE/ALTER/DROP TABLE), backup operacije, privilege eskalacije
• Za cPanel servere: prati MySQL Access Denied, phpMyAdmin probe, cPanel DB operacije
• Za PostgreSQL: prati auth failure, fatal error, DDL promjene
• Filtar po satima (1h, 6h, 24h, 7d)
Status servera — provjera Service Health (CPU, RAM, Disk, SDS)
Nodovi — ima li offline nodova?
Alarmi — ima li novih kriticnih?
Tjedno:
• Pregledajte zakazane izvjestaje
• Provjerite DB Optimizaciju
• Review novi CVE-ovi u Ranjivosti tabu
• Provjerite agent verzije (Mass Deploy)
Mjesecno:
• Generirajte executive report (Report Builder → Mjesecni executive)
• Review Compliance scores
• Provjerite retenciju i disk prostor
• Update agente na najnoviju verziju
• Review i ciscenje pravila — deaktivirajte nepotrebna
🔍 Hunt Query Builder
Pristup: Hunt tab (izbornik → Hunt)
Ad-hoc pretraga logova za threat hunting i forenziku. Omogucuje strukturirane upite po cijeloj log bazi bez pisanja SQL-a.
Filteri:
• Node — odabir specificnog noda ili svih
• Servis — filter po log servisu (sshd, IIS, httpd...)
• Level — error, warning, info, debug
• Tekst pretraga — LIKE pretraga (sadrzi tekst)
• Regex — MySQL REGEXP za napredne uzorke
• MITRE ID — filter po MITRE tehnici (npr. T1110)
• Vremenski raspon — od-do datumski filter
Grupiranje: rezultate mozete grupirati po servisu, nodu, satu ili MITRE tehnici — prikazuje se distribucija s bar chart-om.
Count mode: gumb "Samo count" brzo vraca ukupan broj pogodaka bez dohvata podataka — korisno za provjeru obima prije pretrage.
Primjeri:
1. Regex: Failed password.*root — svi neuspjeli root login pokusaji
2. MITRE: T1059.001 + grupiranje po nodu — koji nodovi imaju PowerShell detekcije
3. Tekst: curl/ + grupiranje po satu — distribucija curl skeniranja po satu
⚡ SOAR Playbooks
Pristup: Cases tab → SOAR Playbooks sekcija
Automatizirani response runbook-ovi za standardizirane reakcije na sigurnosne incidente.
Dostupne akcije:
• Block — blokira IP na svim nodovima s auto-block
• Unblock — deblokira IP
• Notify — salje obavijest timu
• Case — kreira incident case
• Whitelist — dodaje IP na whitelist
• Tag — oznacava alarme (npr. "malware-confirmed")
• Webhook — salje podatke na vanjski URL
• Escalate — eskalira na analitricara ili NOC
Predlosci: 4 ugradjenih predloška (Brute Force Response, Malware Detection, Lateral Movement, DDoS Response) — kliknite predlošak za kreiranje playbooka s predefiniranim koracima.
Pokretanje: kliknite ▶ gumb, unesite IP adresu. Playbook izvršava korake redom i prikazuje rezultat.
🛡 VirusTotal integracija
Konfiguracija: Postavke → Sigurnost → VirusTotal
Automatska provjera FIM hasheva protiv 70+ antivirusnih engine-a.
Kako radi:
1. FIM agent detektira promjenu fajla (novi SHA256 hash)
2. SDS worker svakih 5 min provjerava neprovjerene hasheve na VirusTotal API
3. Rezultat se sprema u cache i prikazuje uz FIM event
4. Maliciozni hashevi automatski podizu severity na CRITICAL
5. VT score ulazi u AegisGOD threat scoring
VT badge u FIM panelu:
• VT 42/72 — maliciozan (42 od 72 engine-a detektira)
• ✓VT — cist (0 detekcija)
API limit: Free VirusTotal API = 4 upita/min, 500/dan. Dovoljno za FIM use case (promjene su rijetke). API kljuc: registrirajte se na virustotal.com i kopirajte API kljuc u Postavke.
🧠 ADA Per-User anomalije i baseline grafovi
Pristup: ADA tab
Ponasajne anomalije sada rade i na razini korisnika, ne samo noda.
Per-user metrike:
• user_fail_freq — frekvencija neuspjelih prijava po korisniku po satu
• user_active_hours — uobicajeni sati aktivnosti korisnika
• user_node_spread — na koliko nodova korisnik normalno pristupa
Per-user anomalije:
• User Login Spike — neuobicajeno visok broj neuspjelih prijava za korisnika
• Neuobicajeno Vrijeme — korisnik aktivan izvan normalnih sati
• Lateralna Kretnja — korisnik iznenada cilja vise nodova nego inace
Baseline heatmap: u ADA tabu odaberite node ili korisnika i metriku — 24h bar chart prikazuje prosjecnu aktivnost po satu sa standardnom devijacijom. Boja ukazuje na intenzitet (plava=nisko, narancasta=srednje, crvena=visoko).
Što je novo (01.06.2026):
Hunt tab sad ima panel Spremljene pretrage iznad Query Builder-a. Možete spremiti kompletan upit (svi filteri + grupiranje + limit) i pokrenuti ga ručno ili po rasporedu.
Workflow:
1. Konfigurirajte filtere u Query Builder-u (node, service, level, search/regex, MITRE, datum)
2. Kliknite 💾 Spremi trenutnu — unesite naziv + (opcionalno) raspored
3. U panelu Spremljene pretrage svaki red ima akcije: Run (izvrši sada), Učitaj (vrati filtere u Builder), X (obriši)
4. 📋 Povijest — popup s zadnjih 50 izvršavanja (trajanje, broj rezultata, greške)
Raspored sintaksa:
• hourly — svakih sat
• daily — svakih 24h
• weekly — svakih 7 dana
• @every 15m, @every 6h, @every 7d — custom interval
Bez schedulea pretraga je samo manual.
Threshold alarm (advanced): ako saved search ima threshold i emit_alarm=true — kad scheduler tick vrati ≥ threshold rezultata, kreira se alarm s rule_id __hunt_threshold_breach__ (rule mora postojati u alert_rules inače samo logira).
Tenant scope: tenant_admin/tenant_user vide samo svoje pretrage; admin/superadmin vide sve.
🏢 Tenant Identity Card (F2)
Što vidite: Tenant_admin i tenant_user korisnici vide na vrhu Dashboard-a karticu s identitetom tenanta — naziv, OIB, kontakt email, plan, op mode, broj nodova online/ukupno, broj kontakata, i SLA satnice po severity-ju (C/H/M/L).
Admin/Superadmin korisnici: kartica je skrivena (vide cross-tenant agregaciju u standardnom widget-u).
Izvor:GET /api/admin/tenants/mine — tenant-scope-ano automatski po session-u. SLA vrijednosti su iz Tenants → Tenant Detail sekcije.
Generira branded PDF za compliance review — Executive Summary (alarmi, blokovi, online nodovi, resolution rate), top 10 MITRE tehnika, top 10 izvori prijetnji, ISO/GDPR/NIS2 napomena.
Parameters:
• days — period (1..365, default 30)
• tenant_id — superadmin može bilo koji; ostali su automatski u svom tenant-u
TODO: direktan download gumb na Dashboard-u (sad samo HTTP endpoint).
📥 node_logs partitioning — archive tier (P4)
Problem: hot tablica node_logs (65M+ rows, 31GB) je preogromna za upite po level/service bez date_from. Brisanje starog je sporo, particioniranje u-mjestu je risk.
Rješenje: sibling tablica node_logs_archive particionirana po mjesecu (RANGE COLUMNS(received_at), 21 partition 2026-05 → 2027-12 + MAXVALUE). Worker LogArchivalWorker svakih 10 min drain-a stare batch-eve (default 5000) starije od retention_days (default 30) iz node_logs → archive.
Kontrole (app_settings):
• log_archive_enabled — 1 da uključite drain, 0 idle (default)
• log_archive_retention_days — koliko dana ostaje u hot tablici (default 30)
• log_archive_batch_size — rows per batch (default 5000)
• log_archive_max_batches_per_tick — batch-eva po ticku (default 4)
Gotcha: partitioned tables ne podržavaju FK ni FULLTEXT — migracija strip-a oboje. PK = (id, received_at). FT search nije dostupan na archive (ali jest na hot tablici).
Trigger guard:trg_node_logs_no_delete blokira sve DELETE osim ako je @aegis_svc_account='retention_svc' postavljeno — worker to radi automatski.
Status check:SELECT PARTITION_NAME, TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME='node_logs_archive'.
🗃 Rotacija baze podataka
Sto je rotacija?
Kad aktivna baza naraste preko limita (default 10 GB ili 5M logova), rotacija kreira archive bazu s kompletnom kopijom podataka, a zatim cisti aktivnu bazu. Archive ostaje pretraziva kroz Hunt tab.
Kako pokrenuti:
1. Otvorite Postavke → Sustav → Rotacija baze podataka
2. Pregledajte kartice: velicina baze, broj logova, logova/dan, dana do limita
3. Kliknite Rotiraj bazu (gumb je aktivan samo kad baza prelazi 10 GB ili 5M logova)
4. Potvrdite u dialogu
5. Pratite progress bar s ETA prikazom
7 faza rotacije:
• Faza 1 — Pre-check: provjera disk prostora (treba 1.5x velicine baze)
• Faza 2 — Maintenance mode ON: korisnici dobivaju 503, agenti normalno rade
• Faza 3 — mysqldump: kompletni dump aktivne baze (najduza faza)
• Faza 4 — Restore: kreiranje archive baze i import dumpa
• Faza 5 — Verifikacija: usporedba broja redova, raspon datuma
• Faza 6 — Ciscenje: batch brisanje logova, telemetrije, komandi iz aktivne baze
• Faza 7 — Maintenance OFF: sustav se vraca u normalan rad
Pretrazivanje archive baza:
U Hunt tabu koristite dropdown "Izvor podataka" za odabir aktivne ili archive baze. Isti filteri i grupiranja rade na obje.
Sigurnost:
• Samo superadmin moze pokrenuti rotaciju
• Lock file sprecava paralelne rotacije
• Archive se ne brise dok verifikacija ne prodje
• Agenti nikad ne prestaju raditi — logovi se kontinuirano upisuju
• alert_events, fim_events, cases, audit_events se NIKAD ne brisu
⏱ SLA po tenantu
Svaki tenant ima konfigurirajuci SLA (Service Level Agreement) po severity razini alarma.
Konfiguracija: Tenanti tab → klik na tenant → sekcija "SLA po severity-ju" Defaulti: Critical = 4h, High = 8h, Medium = 24h, Low = 72h
Kako radi:
• Svaki case dobije SLA rok prema severity-ju i tenant konfiguraciji
• Ako case nije rijesen unutar SLA roka, prikazuje se BREACHED badge
• SLA se primjenjuje i na rucno kreirane i na AegisGOD auto-caseove
• Promjena SLA postavki utjece samo na buduci caseove, ne na postojece
📖 F1 kontekstualna pomoc
Pritisnite F1 na bilo kojem ekranu za kontekstualno relevantne upute.
• Pokriva svih 38 tabova u sustavu
• Quick-nav gumbici za navigaciju medu temama
• ESC zatvara pomoc
• Gumb "Kompletne upute" na dnu otvara ovaj Upute tab
📄 Case Management
Case Management sluzi za pracenje sigurnosnih incidenata od detekcije do razrjesenja.
Workflow: New → Triage → Investigating → Contained → Resolved → Closed Eskalacija: u bilo kojem koraku, case se moze eskalirati
Automatski caseovi: AegisGOD kreira case kad IP prijede threat score prag (default 50). Case automatski dobije:
• Source IP, Node, MITRE tehnika
• Geo lokacija, AbuseIPDB score, ISP
• Artefakti: IP adresa + do 5 povezanih alarma
• Timeline event s opisom
• SLA rok prema tenant konfiguraciji
Artefakti su klikabilni:
• Alert artefakt → otvara detalje alarma
• IP artefakt → otvara IP Drill-Down
• Node artefakt → otvara node detail
📖 KOMPLETAN PRIRUCNIK ZA ADMINISTRATORE — sadrzaj
Ovo je kompletan operativni prirucnik. Svaka sekcija ispod je samostalna i moze se citati pojedinacno. Search na vrhu Upute taba pretrazuje cijeli sadrzaj.
👋 Uvod — što je Aegis SOC i kako čitati ovaj priručnik
🚀 1. Onboarding — prva instalacija (od nule do produkcijskog SOC-a)
👥 2. Korisnici i Role — tko što smije
🏢 3. Tenanti — multi-tenancy izolacija
🖥️ 4. Nodovi i Agenti — instalacija i lifecycle
🛑 5. Block Policy — TRAJNO vs Progressive (KRITIČNO objašnjenje)
🚨 6. Alert Rules — kako rade i kako ih tunirati
🔇 7. SDS Exclusions — kada i kako koristiti
📧 8. Notifikacije i Eskalacijski lanac
🔐 9. Permissions (fn_*) — što tenant_user smije
📊 10. Reports i Cases — izvještavanje i case management
🔄 11. Update mehanizam — agent i server
💾 12. Backup, DB rotation i retention
🛠️ 13. Troubleshooting — česti problemi i rješenja
⚙️ 14. Skriveni Tweaks — postavke koje admin mora znati
🆕 15. v2.1.x Governance — što je novo (SDS exclusions, saved views, deploy tokens, geoblock)
👋 Uvod — što je Aegis SOC i kako čitati ovaj priručnik
Aegis SOC je multi-tenant SIEM/SOC platforma za prikupljanje logova, detekciju prijetnji, automatski blok napadača i izvještavanje. Sastoji se od centralnog backend-a (FastAPI + MySQL), SDS detekcijskog sloja koji obrađuje alert pravila, agentskog softvera koji se instalira na nodove (Linux/Windows/macOS/QNAP/Synology) i mrežnih appliance konektora (MikroTik, Barracuda, FortiGate).
Ovaj priručnik je za administratore i tenant administratore. Pokriva sve što treba znati od prvog onboarding-a do svakodnevnog rada — uključujući postavke koje su skrivene ili imaju neočekivane interakcije (npr. progressive blocking vs tenant block_duration, fn_ permissions, RBAC stale-role behavior).
Kako koristiti ovaj priručnik
Pretraži (Ctrl+F u browseru ili search polje na vrhu Upute taba) ako tražiš određenu temu.
Pročitaj sekciju 'Onboarding' prvo ako tek postavljaš novu Aegis instalaciju.
Skoči direktno u 'Block Policy' ili 'Permissions' ako rješavaš specifični problem.
Sve callouts s ⚠ označavaju neočekivana ponašanja — pročitaj ih barem jednom.
INFO: Verzija manuala: v2.1.4 (Aegis SOC 2026-04-26 round-14 + komercijala). Ako tvoja instalacija ima nižu verziju, neke funkcionalnosti nisu dostupne. Provjeri trenutnu verziju u Postavke → O sustavu (footer prikazuje verziju).
🚀 1. Onboarding — prva instalacija (od nule do produkcijskog SOC-a)
Šta dobiješ s defaultnom instalacijom
Nova Aegis instalacija dolazi s ~280+ alert pravila (Linux/Windows/MikroTik/WAF), ugrađenim WAF pravilima (OWASP komplet), prazne SDS exclusions, prazne tenante i minimalan set korisnika (lokalni admin + superadmin seedani u prvoj migraciji). Točan broj pravila može varirati ovisno o verziji — provjeri u Pravila tabu.
Korak 1 — Login i 2FA
Otvori https://<tvoj-server>/ u browseru. Login s lokalnim admin korisnikom (kreiran tijekom instalacije).
Idi u Postavke → Sigurnost → uključi Dvofaktorsku autentikaciju (TOTP).
Idi u Korisničke postavke → Postavi 2FA (skeniraj QR kod, unesi 6-znamenkasti kod).
Sačuvaj backup kodove na sigurno mjesto — bez 2FA aplikacije i bez backup koda nećeš se moći ulogirati.
PAZNJA: Superadmin (ona dva-tri kanonička emaila iz DB-a s is_superadmin=true) NE smije se nikad obrisati ili deaktivirati. Bez aktivnog superadmin korisnika se ne može rotirati DB, pokrenuti sistemske komande niti modificirati globalna pravila.
Korak 2 — Branding (logo, ime tvrtke, kontakt)
Postavke → Branding. Unesite naziv organizacije (npr. "Tvoja tvrtka d.o.o."), adresu, OIB, telefon, email, web. Sve se pojavljuje u PDF izvještajima, email obavijestima, deploy landing page-u i case PDF-ovima.
Logo upload: SVG ili PNG do 256 KB. Server prihvaća samo data:image/png, jpeg, webp, svg+xml. Ostali formati će biti odbijeni iz sigurnosnih razloga (XSS prevent).
Korak 3 — SMTP konfiguracija
Postavke → SMTP. Bez SMTP-a sustav ne može slati alarmne emailove. Preporučeno: vlastiti SMTP relay (postfix lokalno) ili pouzdani provider (Postmark, SendGrid). Gmail SMTP nije preporučen za produkciju (rate limit, blacklist rizik).
Host, port, username, password — od provajdera.
TLS: STARTTLS (port 587) ili SMTPS (port 465).
From email mora biti dozvoljen za slanje na ovom SMTP serveru.
Klikni Test → unesi vlastiti email → provjeri da stigne.
Korak 4 — Tenanti
Tenant je organizacija/klijent unutar tvog SOC-a. Svaki tenant ima vlastite nodove, korisnike, alarme i izvještaje. Multi-tenancy izolacija je tenant_id-bazirana.
Postavke → Tenanti → Dodaj.
Naziv (interni identifikator), Subject name (ime u izvještajima), OIB, kontakt podaci.
Block duration hours: 0 = TRAJNO (preporučeno), ili broj sati (1-720).
Pažnja: progressive_block_enabled (globalno) override-a tenant default. Vidi sekciju 'Block Policy'.
Korak 5 — Prvi node
Idi u Nodovi → Dodaj node → odaberi tenant → odaberi OS. Sustav generira instalacijsku one-liner komandu (curl/PowerShell) koju kopiraš na ciljni server. Agent se sam registrira, šalje heartbeat, počinje prikupljati logove.
INFO: Detaljnije o deploymentu vidi u sekciji 'Nodovi i Agenti'. Mass deploy preko deploy tokena vidi u sekciji 'Deploy Tokens'.
Korak 6 — Provjera da sve radi
Dashboard → mora pokazivati node u stanju 'online' (zelena kvačica).
Logovi tab → mora prikazati svježe logove iz noda (max 30s zaostatka).
Test alarma: na nodu pokušaj pogrešan SSH login 6 puta s istog IP-a → unutar 60s mora se pojaviti alarm 'SSH Brute Force'.
Provjeri da je email obavijest stigla na admin email.
Ako alarm dođe, IP će biti automatski blokiran (default rule). Provjeri u Blokirano tabu.
👥 2. Korisnici i Role — tko što smije
Hijerarhija rola
Aegis ima 4 osnovne role + 1 specijalnu:
Rola
Što vidi
Što može
superadmin
Sve, sve tenante, sve alarme, sve nodove
Sve. DB rotacija, server tuner, licence, brisanje tenanata, sistemske komande.
admin
Cijela SOC instanca
Upravljanje tenantima, nodovima, pravilima, korisnicima. Ne može DB rotirati ili sistemske operacije.
tenant_admin
Samo svoj tenant
Upravljanje korisnicima i nodovima unutar svog tenanta. Vidi alarme samo svog tenanta.
tenant_user
Samo svoj tenant (čitanje + ograničene akcije)
Vidi alarme/nodove svog tenanta. Akcije ovise o fn_ permissions (vidi 'Permissions' sekciju).
AI user (AegisMind)
Read-only + bot kanal
Bot endpoints (chat, advisory). NE smije pisanje. Tehnički je tenant_user s is_ai_user=true.
Razlika admin vs superadmin
Superadmin status u Aegisu se određuje DB flag-om users.is_superadmin=true (ne emailom). Trenutne superadmin korisnike vidiš u Korisnici tabu (filter po roli). Frontend čita ovu informaciju iz /api/auth/me kao polje is_superadmin.
PAZNJA: Superadmin-only akcije: DB rotation, system-tuner, brisanje SDS exclusions, globalne licence, force migrations, brisanje audit_events. Admin role ne može te akcije izvesti.
Permissions (fn_*) — što tenant_user smije
Tenant_user dolazi s minimalnim default dozvolama. Admin postavlja dodatne fn_ dozvole pojedinačno (Korisnici → Edit → Tab Permissions). Detalji u 'Permissions' sekciji.
Stale role i revoke sessions
Od v2.0.8: kad admin promijeni korisnikovu rolu ili tenant_id, sve aktivne sesije tog korisnika se automatski revoke-aju. Ranije je stari JWT token nosio staru rolu do isteka (8h default). Sada su sesije odmah neaktivne.
Email fallback za superadmin (BOOTSTRAP_SUPERADMIN)
Ako migracija koja postavlja is_superadmin=true ne uspije (rijedak edge case), postoji fallback: postaviti env varijablu BOOTSTRAP_SUPERADMIN=1 prije pokretanja API servisa. Tada su kanonički emailovi (admin@kolektor.bu.hr, janko@buba-usluge.hr) tretirani kao superadmin po emailu. Default je OFF — koristi se samo za bootstrap recovery, isključi odmah nakon prvog logina.
INFO: [CANARY-OK] message u api logu na startupu potvrđuje da postoji barem 1 active superadmin u DB-u. Ako vidiš [CANARY-CRITICAL], imaš problem koji treba odmah riješiti — bez aktivnog superadmin-a, _require_superadmin gate blokira sve sistemske operacije.
🏢 3. Tenanti — multi-tenancy izolacija
Što tenant kontrolira
Vlastiti skup nodova (tenant_id na Node tablici)
Vlastiti skup korisnika (tenant_id na User tablici)
Vlastite kontakte za notifikacije (tenants_contacts)
Vlastiti branding override (logo, ime — pokazuje se u izvještajima za tog tenanta)
Vlastiti email template (per-tenant subject/body customization)
Vlastiti block_duration_hours default (TRAJNO ili N sati)
Vlastite SLA rokove za caseove
Vlastite saved views (privatno) — global shared views su admin-only
Kreiranje tenanta
Postavke → Tenanti → Dodaj.
Naziv (kratko, interni ID — npr. "klijent-x")
Subject name (puno ime u izvještajima — npr. "Klijent X d.o.o.")
OIB, adresa, telefon, email — pojavljuju se u PDF izvještajima.
Logo (opcionalno) — override branding-a za PDF-ove ovog tenanta.
Block duration hours: 0 = TRAJNO ili broj sati.
Tenant kontakti i notifikacije
Postavke → Tenanti → Edit → Kontakti. Dodaj listu emailova koji primaju alarmne notifikacije za ovog tenanta. Kontakti mogu imati level (alert_critical, alert_high, alert_medium, alert_low — primaju samo svojeg leveal i više) i channel (email, sms ako Twilio configured).
Brisanje tenanta
PAZNJA: Brisanje tenanta NE briše alarme/logove povezane s njim — ostaju radi audit potreba. Ali briše: nodove, korisnike, contacts, saved_views, cases, exclusions scoped na taj tenant. To je nepovratno.
Preferirano: deaktiviraj tenant umjesto brisanja (Postavke → Tenanti → Edit → is_active=false). Tako logovi i alarmi ostaju vidljivi za audit, ali sustav prestaje obrađivati nove događaje za njega.
🖥️ 4. Nodovi i Agenti — instalacija i lifecycle
Tipovi nodova
agent — Linux/Windows/macOS server s instaliranim Aegis agentom (najčešći)
qnap / synology — NAS uređaj s prilagođenim agentom (volume1 path)
mikrotik / barracuda / fortigate — mrežni appliance, kontaktiran preko API-ja, ne instalira agent
syslog — node koji prima syslog poruke iz drugih izvora i prosljeđuje ih SDS-u
Instalacija pojedinačnog noda
Nodovi → Dodaj node → unesi naziv (npr. 'web-prod-01').
Odaberi tenant.
Odaberi OS (linux / windows / macos / qnap / synology).
Sustav generira node_key (NODE_xxx) i instalacijsku komandu.
Kopiraj komandu, zalijepi na ciljnom stroju (kao root / Administrator).
Agent se sam instalira, registrira, šalje prvi heartbeat (do 60s).
Provjeri u Nodovi tabu da je status='online'.
INFO: Komanda pokazana u GUI-ju je jednokratna — kontekstualno radi rotaciju node_key. Ako na istom stroju ponovo pokreneš komandu, dobit će se NOVI key i agent se ponovno registrira (stari node ostane u DB-u kao offline).
Mass Deploy preko deploy tokena
Za masovnu instalaciju (npr. 50 servera odjednom): Nodovi → Deploy Tokeni → Kreiraj. Token ima max_uses (npr. 50) i expires_at (npr. 7 dana). Sustav generira public URL tipa https://server/deploy/<hash> koji daje instalacijsku komandu. Distribucijska komanda jednostavno: `curl -sL https://server/deploy/<hash> | bash`
Browser landing za deploy tokene
Ako otvoriš /deploy/<hash> u browseru, vidiš interaktivnu landing stranicu s copy-paste komandama za sva tri OS-a (Linux/Windows/macOS) i preostali broj instalacija. Otvaranje u browseru NE konzumira token — tek izvršenje curl/bash na ciljnom stroju troši jedan use.
PAZNJA: Atomic consume: u v2.0.7+ token je race-free. Ako 100 paralelnih curl pozova udari na token s max_uses=50, točno 50 će uspjeti dobiti instalaciju, ostalih 50 vraća HTTP 429 'Token max uses reached'. Prije v2.0.7 je bio race window.
Node permissions (fn_nodes_deploy)
Od v2.0.7: rotacija node_key (POST /nodes/{id}/install-script) zahtijeva ili admin rolu ili eksplicitnu fn_nodes_deploy permissionu. Tenant_user koji ima samo fn_blocks_manage ne smije više rotirati keyeve. Zato: ako želiš da tenant_admin može deploy-ati, daj mu fn_nodes_deploy.
Decommission (mekano brisanje)
Nodovi → odaberi node → Edit → Decommission. Postavi is_decommissioned=1. Node ostaje u DB-u radi audit-a, ali se sakriva iz glavnog Nodes lista. Logovi i alarmi ostaju dohvatljivi. Da bi se vratio: poništi decommission flag.
Heartbeat (default 30s) — agent javlja status, prima konfiguracijske komande.
Inventory (default 600s = 10min) — agent šalje listu instaliranih servisa, OS info, packageove.
Log shipping (default 30s) — agent čita log fajlove, šalje retke u SDS.
Komande (block_ip, unblock_ip, restart, update) — agent ih pokupi pri sljedećem heartbeatu.
Uloga noda (Postavke → Nodovi → role)
Možeš dodijeliti node ulogu (web_server, db_server, dc, backup_server, mail_server itd.). Uloga koristi alert pravila s skip_roles flagom — neka pravila ne paljue na produkcijskim DB serverima (npr. SSH brute force ne pali na backup_server gdje je to česti normalan pattern).
🛑 5. Block Policy — TRAJNO vs Progressive (KRITIČNO objašnjenje)
PAZNJA: Ovo je sekcija koja izaziva najviše zabuna. Pročitaj cijelu prije nego promijeniš bilo što vezano za blok trajanja.
Tri sloja block trajanja
Aegis odlučuje koliko dugo blok traje kroz tri sloja, gledano REDOM:
Per-rule block_ttl_hours (alert_rules.block_ttl_hours kolona) — najprioritetnije za ne-WAF pravila.
WAF rule waf_block_minutes (rule_type='waf') — prioritet za WAF events od v2.0.8.
Globalno: Progressive Blocking (Postavke → Sigurnost → Progressive Blocking) — ovo je default ON.
Tenant default (block_duration_hours) — fallback samo ako Progressive Blocking je OFF.
Tenant 'TRAJNO' postavka — što stvarno radi
Tenant block_duration_hours = 0 znači 'TRAJNO' u smislu: ako sve više rangirane logike vrate None (nema TTL), onda blok traje zauvijek (do manualnog unblock-a). ALI: Progressive Blocking je default ON, što znači da se ovaj fallback rijetko doseže za auto-blokove.
Progressive Blocking — kako radi
Progressive Blocking emulira fail2ban-style escalation: prvi blok je kratak, svaki sljedeći je duži, dok ne postane permanent.
_block_expiry_worker (svakih 5 min) traži block_ip komande gdje expires_at <= NOW i kreira odgovarajuće unblock_ip komande. Ovo je razlog zašto vidiš mnogo 'system:expiry' unblockova u node_commands tablici.
Tri opcije ako želiš stvarno TRAJNO ponašanje
INFO: OPCIJA 1 (preporučeno za maksimalnu zaštitu): Progressive Blocking OFF
Postavke → Sigurnost → Progressive Blocking → Disable. Ili SQL: UPDATE global_settings SET value='0' WHERE `key`='progressive_block_enabled'. Tada svi auto-blokovi koriste tenant default (TRAJNO ako je 0).
INFO: OPCIJA 2 (želiš escalation ali agresivniju): permanent_after=1
Postavke → Sigurnost → Progressive Blocking → Permanent after = 1. Već prvi blok postaje TRAJAN, bez 1h/4h/24h faze.
INFO: OPCIJA 3 (želiš escalation ali kraću window): smanji window_days
Postavke → Sigurnost → Progressive Blocking → Window days = 7. IP koji nije bio blokiran zadnjih 7 dana opet kreće od 1h. Korisno za noisy IP-ove koji se vraćaju mjesecima kasnije.
Manualni unblok
Blokirano tab → odaberi IP → klik Unblock. Kreira unblock_ip komandu na originalnom nodu (i parent FW ako je delegirano).
WAF block trajanje
Od v2.0.8: WAF pravila imaju svoj waf_block_minutes (typically 60 za XSS, 120 za SQLi, 240 za command injection). Za WAF rule_type, taj broj ima prioritet nad block_ttl_hours i tenant default. Promijeni u Pravila → Edit WAF rule → Block minutes.
PAZNJA: Prije v2.0.8 ORM nije mapirao waf_block_minutes — sva WAF pravila su padala na tenant default. Sad funkcionira ispravno. Provjeri da postojeća WAF pravila imaju waf_block_minutes postavljen (NULL = pad na block_ttl_hours i dalje).
Block delegacija (parent firewall)
Ako node ima parent_node_id postavljen na MikroTik/Barracuda/FortiGate appliance, block_ip komanda se delegira parent FW-u (na perimetar) umjesto na lokalni iptables/CSF. Tako se IP blokira na firewall-u prije nego dođe do servera.
skip_roles — CSV node uloga gdje pravilo NE pali (npr. 'backup_server,dc')
Severity i notifications
Critical = email + SMS + 30min escalation chain. High = email + 1h escalation. Medium = email only. Low = GUI only (no email).
Tuning — šta promijeniti kad alarm pravi previše šuma
Pravila → odaberi pravilo → Edit.
Povećaj fail_threshold (npr. s 5 na 10) — manje fail-a ne triggera alarm.
Povećaj window_seconds (npr. s 600 na 1800) — sporiji napadi se grupiraju u jedan alarm.
Dodaj skip_roles ako pravilo lažno pali na specifičnim ulogama.
Smanji severity (npr. high → medium) ako pravilo nije kritično.
Isključi auto_block ako blokiraš previše legitimnih IP-ova.
WAF pravila
Rule_type='waf' je posebna kategorija — pravila se primjenjuju u real-time na HTTP requestove (preko detector-a ili agent-a, ovisno o waf_engine_mode). Primjeri: SQL injection patterns, XSS, traversal, command injection.
WAF mode (Postavke → WAF):
off — WAF isključen globalno
monitor — detektira ali ne blokira (samo alarm)
protect — blokira automatski + alarm
WAF engine mode
sds — detector centralno gleda WAF evente koje agent prosljeđuje
agent — agent lokalno aplicira WAF pravila i šalje rezultate (manja latencija, više resursa na nodu)
Auto-block whitelist guard
Od 2026-04-24: detector NIKAD ne auto-blokira IP koji je u ip_whitelist tablici ili koji je local IP samog noda (self-IP). Whitelist se admin postavlja (Postavke → Whitelist) i pretvara u skup IP/CIDR.
Cross-rule correlation (chain detection)
30-minutna korelacija povezuje više različitih alarma s istog IP-a u jedan attack chain (npr. portscan → brute force → privilege escalation). Vidi Threat Insights tab za chain prikaz.
🔇 7. SDS Exclusions — kada i kako koristiti
Šta su exclusions
SDS exclusion je pravilo koje suppress-a alarm prije nego što se ispiše. Koristi se kad imaš legitimni traffic koji konstantno aktivira alert pravilo (npr. monitoring server koji radi health-check pingove iz svojeg IP-a).
PAZNJA: Exclusion je tuning blind spot — ako pretjeraš s exclusion-ima, bridge-aš detection. Dodaj samo ono što stvarno znaš da je legitiman pattern.
Kategorije exclusion-a
scope='sds' — opće SDS suppress (najopasnije, gleda ga svaki alert)
scope='waf' — WAF specifični (samo za rule_type=waf)
contains — substring (oprezno: prekratak pattern može hvatati previše)
regex — regex match (najprecizniji, najsporiji)
ip_in_cidr — IP unutar CIDR raspona (efikasno za /24 ili veće)
Pravila kad dodati exclusion
Provjerio si izvor — JE legitiman (npr. tvoj backup server, monitoring node, CDN edge IP).
Pravilo nema bolji način tuninga (povećanje threshold-a nije dovoljno).
Exclusion je usko scope-an (specifičan rule_id ili node_id, ne globalan).
Dokumentiraj razlog u 'reason' polju (od v2.1: obavezno polje).
Šta NE raditi
PAZNJA: NIKAD: globalni exclusion s contains pattern '1.1.1.1' (ili kraćim od 8 chars). To može suppress-ati legitimne alarme s 1.1.1.1 kao izvora napada (npr. SSH brute force od Cloudflare DNS abuse-a).
PAZNJA: NIKAD: exclusion bez navedenog rule_id ako pattern nije ekstremno specifičan. Globalni 'mac-janko' exclusion suppress-a sve alarme svih pravila — ako se taj string pojavi u logu (npr. korisničko ime), gubiš vidljivost.
Approval workflow (planirano za v2.0.5.2)
Buduće verzije zahtijevat će approval (admin/superadmin) prije aktiviranja broad-scope exclusion-a. shadow_mode flag će omogućiti test mod (broji što bi suppress-ao bez stvarnog suppress-a) prije aktivacije.
📧 8. Notifikacije i Eskalacijski lanac
Eskalacijska logika
Kada se kreira alarm, sustav pokreće eskalacijski lanac prema notification_rules tablici (Postavke → Notifikacije).
Default lanac:
alert_critical → email odmah + SMS nakon 30 min ako nije resolved
alert_high → email odmah + SMS nakon 1h
alert_medium → email samo (cooldown 30 min za isti event_type)
alert_low → GUI obavijest, bez email-a
node_offline → email nakon 5 min downtime
fim_change → email + audit log
Reminder logika
reminder_after_minutes (default 60 za high, 30 za critical) — sustav šalje podsjetnik ako alarm nije resolved unutar tog vremena. max_reminders (default 3) ograničava koliko reminder-a se šalje.
Cooldown (anti-spam)
cooldown_minutes (default 30) — isti event_type od istog noda neće slati još jedan email unutar tog prozora. Sprječava email storm kad node pljušti alarmima.
SMS i call (Twilio)
Postavke → SMS / Call → Twilio konfiguracija (Account SID + Auth Token + From broj). Recipients: lista telefona u E.164 formatu (+385...) per kontakt.
PAZNJA: Twilio košta — paziti na max_reminders. Critical alarm s 3 reminder-a po SMS-u + jedan call = ~5€ po incidentu (ovisno o destination).
Per-tenant email template
Postavke → Tenanti → Edit → Email Template (od v1.5.99). Override default subject i body za tog tenanta. Korisno ako klijent želi vlastiti branding u alarmnim emailovima.
Webhook notifikacije
Postavke → Webhooks. Dodaj URL koji prima JSON POST za svaki alarm. Korisno za Slack, Teams, Discord, ili custom integracije. JSON shape: {event, alert_id, severity, source_ip, node, mitre, timestamp}.
🔐 9. Permissions (fn_*) — što tenant_user smije
Permission model
Tenant_user dolazi s minimalnim default dozvolama. Admin postavlja dodatne fn_ dozvole pojedinačno (Korisnici → Edit → Tab Permissions). Permission keys imaju default true ili false; admin može override-ati.
Tab dozvole vs funkcionalne dozvole
Tab dozvole (npr. 'rules', 'audit', 'compromises') — kontrolira pristup tab-u u GUI-ju
Funkcionalne (fn_*) — kontrolira pojedinačne akcije (block, unblock, resolve, edit)
Lista funkcionalnih dozvola
Permission key
Default
Što kontrolira
fn_alerts_resolve
True
Promjena statusa alarma (acknowledged, resolved, false_positive)
fn_alerts_block
False
Blokiranje IP-a iz alarm view-a
fn_blocks_manage
False
Block/Unblock IP iz Blokirano taba
fn_reports_create
False
Kreiranje izvještaja
fn_reports_schedule
False
Zakazivanje rekurentnih izvještaja
fn_rules_manage
False
Kreiranje/izmjena alert pravila
fn_nodes_config
False
Izmjena konfiguracije noda (services, monitoring)
fn_nodes_commands
False
Slanje komandi (iptables, csf, restart)
fn_nodes_deploy
False
Rotacija node_key, install-script (NEW v2.0.7)
fn_geo_manage
False
Geo blocking pravila
fn_exclusions_manage
False
SDS exclusions kreiranje (admin za GET)
fn_cross_tenant
False
Pristup podacima svih tenanta (SUPERADMIN typically)
fn_compromises_view
False
Kompromitacije tab pristup
fn_compromises_download_pdf
False
Download forensic PDF-a
fn_compromises_acknowledge_modification
False
Mark baseline OK
fn_compromises_trigger_rescan
False
Pokreni novi scan
fn_cases_manage
True
Caseovi: kreiraj/uredi/komentar/artefakt
fn_export
False
Export XLSX/PDF (od v2.0.7 default=False — data exfil concern)
Korisnik mora se ponovo ulogirati ili sustav će sam revoke-ati sesiju (od v2.0.8)
RBAC fail-closed mode (env-gated)
Set env varijablu RBAC_FAIL_CLOSED=1 prije pokretanja API-ja. Tada sve admin write rute koje NEMAJU eksplicitan fn_ mapping vraćaju 403 za tenant_user. Default je log-only (samo upiše u service_health_log za audit).
Prije aktiviranja: 1-2 tjedna gledaj service_health_log WHERE metric='unmapped_admin_write' da vidiš koje rute još nisu mapirane. Dodaj ih u _FN_PERMISSION_RULES (kod) ili promijeni endpoint da koristi require_admin.
📊 10. Reports i Cases — izvještavanje i case management
Reports — generiranje
Izvještaji tab → Novi izvještaj. Tipovi:
Daily summary — broj alarma po severity, top napadači, blokirani IPovi
Weekly executive — visoko-level pregled za management (PDF, branded)
Compliance report — CIS / NIS2 status (samo na nodovima s registry_checks)
FIM report — file integrity changes
Custom — Report Builder s odabranim widgets
Scheduled reports
Zakazivanje: cron-style (npr. '0 8 * * 1' = ponedjeljkom u 8h). Sustav generira PDF, šalje na konfigurirani email, i opcionalno upload-a na SFTP/S3.
Cases — incident management
Cases tab → koristi se za istragu incidenata. Case sadrži:
Title, status (open/investigating/resolved/closed/false_positive)
Severity, assigned analyst, SLA rok (per-tenant configured)
Artefakti (alert IDs, IPovi, nodovi, fajlovi)
Timeline (komentari, akcije, status changes)
Tagovi i MITRE mapping
Auto-kreiranje cases (AegisGOD)
AegisGOD (autonomni threat score layer) kreira case automatski kad threat score IP-a prijeđe konfigurabilan threshold. Case automatski dobije Source IP, geo lokaciju, AbuseIPDB score, ISP, povezane alarme i SLA rok prema tenant policy-u. Threshold se postavlja u Postavke → AegisGOD.
Eskalacija case-a
Case → Escalate. Promijeni assignee, otvori novi tier (npr. tier1 → tier2), doda komentar 'eskalirano zbog X'. Audit trail bilježi sve promjene.
Universal Export
PAZNJA: Od v2.0.7: fn_export default=False. Tenant_user koji je ranije imao export preko reports tab gubi tu mogućnost dok admin ne dodijeli fn_export eksplicitno. Razlog: export je data-exfil vector, treba biti explicit grant.
Limit po exportu:
Max 10000 redova
Max 50 stupaca
Max 2000 znakova po ćeliji
Audit log: svaki export piše export_attempt + export_success u audit_events
🔄 11. Update mehanizam — agent i server
Server update (main.py + detector)
Aegis backend ima dva servisa: kolektor-api (FastAPI) i kolektor-detector (SDS). Update je manualni proces:
Pull novi main.py i kolektor-detector.py iz repository-ja.
systemctl reload kolektor-api (graceful SIGHUP, ne restart!)
systemctl restart kolektor-detector (full restart — SDS ne podržava reload)
Provjera: systemctl is-active oba servisa, tail /opt/kolektor/logs/api.log za [CANARY-OK]
PAZNJA: OBAVEZNO syntax gate prije reload-a. Reload sa syntax errorom = crash loop = gubitak logova. Bez syntax gate-a, gunicorn worker-i krenu, padaju na import errore, restart-aju se po 4-6× po sekundi, log file-ovi rastu, MySQL se preplavljuje.
Agent update — AegisUpdater servis
Svaki node ima dva procesa:
kolektor-agent.service (ili agent.exe na Win) — glavni agent, šalje logove
aegis-updater.service — sluša komande od centralnog API-ja, izvodi update agent-a
Update flow:
Admin uploada novi agent-latest-{linux,windows,macos}.py u /opt/kolektor/gui/agent/
Bumpa _LATEST_AGENT_VERSION_LINUX (ili WINDOWS/MAC/QNAP) konstantu u main.py
Reload kolektor-api
Pokreni Mass Update (Postavke → Update → Push to all nodes) — kreira updater_update_agent komande za sve online nodove
Updater na svakom nodu povuče novi kod, atomic replace, restart kolektor-agent.service
Agent javlja novu verziju u sljedećem heartbeatu
Update kanal (lockstep)
Linux/Windows/macOS/QNAP/Synology agenti MORAJU ići u lockstep (ista verzija na cijeloj floti). Ako uneseš novu verziju samo na Linux a ne i Windows, agenti mogu početi zvati endpointe koji ne postoje u staroj verziji → crash loop.
Crash protection
Agent ima built-in failsafe: ako se restartuje 5× unutar 60s, ostaje stop-an umjesto da pravi crash loop koji prekriva log file-ove. Restart preko ručnog systemctl start kolektor-agent.
Recovery iz crash loop-a
SSH na node → systemctl status kolektor-agent
Provjeri /var/log/kolektor-agent.log za stack trace
Ako je problem u novoj verziji: cp /opt/kolektor-agent/agent.py.bak /opt/kolektor-agent/agent.py
systemctl restart kolektor-agent
Bug report → fix → push novu verziju
Updater kanal (cmd-poll)
Updater servis poll-a /api/agent/cmd-poll svakih 60s. Akceptira komande: update, uninstall, restart, restart_agent, reset_token. Ne smije primati agent komande (block_ip, scan_packages, ...) — od v2.0.4 postoji filter koji ih odbija.
💾 12. Backup, DB rotation i retention
Backup strategija
Aegis nema integriran scheduled backup u core sistemu — to je odgovornost ops tima. Preporučeni minimum:
MySQL dump dnevno (mysqldump --single-transaction --routines kolektor > /backup/<date>.sql.gz)
GPG enkripcija + offsite (S3, Wasabi, ili off-site VPS)
Test restore mjesečno — backup koji nije testiran nije backup
DB rotation (superadmin only)
Postavke → System Tuner → Rotate DB. Generira archive bazu (npr. SOC_OGMA_2026_01_03), premešta starije node_logs i alert_events u nju. Glavni DB ostaje kompaktan.
PAZNJA: DB rotation MORA se pokrenuti kad node_logs tablica pređe ~500M redova ili MySQL data volume pređe 80% kapaciteta. Ignoriranje vodi u performance degradaciju i eventualno DB out-of-space.
Retention worker (background)
Aegis ima retention worker koji periodično (jednom dnevno) čisti starije podatke po per-tenant retention konfiguraciji. Tipično se čisti:
node_logs starije od per-tenant retention_days postavke
alert_events resolved starije od konfiguriranog praga
user_sessions s isteklim tokenima
user_activity starije od retention prozora
Točne pragove provjeri u Postavke → Retention. audit_events imaju duži retention (forensic trail) i ne smiju se ručno brisati.
PAZNJA: user_activity i audit_events se NIKAD ne smiju ručno brisati. To su forensic trail-ovi koji su nužni za incident investigation.
Per-tenant retention
Tenant može imati duži retention (npr. compliance zahtjev). Postavke → Tenanti → Edit → retention_days override.
Log volume monitoring
Postavke → Server Status → MySQL volumes. Pokazuje:
InnoDB buffer pool usage
Data volume size i % full
Najveće tablice (node_logs typically dominira)
Slow queries count
Threads_connected / max_connections
Maintenance failsafe
/opt/kolektor/api/maintenance-failsafe.sh — cron job (svake 5 min). Provjerava da li su servisi up; ako kolektor-api ili kolektor-detector ne odgovori 3 minute, automatski systemctl restart. Forsira da se sustav ne ostavi tiho mrtav.
🛠️ 13. Troubleshooting — česti problemi i rješenja
Problem: Node 'offline' iako server radi
SSH na node → systemctl status kolektor-agent → mora biti active.
Ako je offline: systemctl start kolektor-agent → ako padne, journalctl -u kolektor-agent --no-pager -n 50.
Provjera mreže: curl https://<aegis-server>/api/health → mora dati 200.
Provjera node_key: cat /opt/kolektor-agent/agent.env → ako fali, pročitaj iz GUI-a (NIKAD ne generiraj novi key — koristi postojeći).
Reset komanda od admin-a: Nodovi → Edit → Reset → ovo invalidira postojeći key i generira novi (rijedak slučaj kompromisa).
Problem: Previše alarma (alert storm)
Identificiraj noisy pravilo: Alarmi → Group by rule → top N po count.
Tunirati: povećaj fail_threshold ili window_seconds.
Ako pravilo lažno pali na specifičnoj ulozi: dodaj skip_roles.
Cooldown: notification_rules → cooldown_minutes (smanji email šum bez utjecaja na detekciju).
Last resort: SDS exclusion (oprezno — vidi 'Exclusions' sekciju).
Problem: Agent crash loop
Vidi sekciju 'Update mehanizam → Recovery'. Rollback agent kodu na .bak verziju, ne pokušavaj force restart bez analize logova.
Problem: Login ne radi (nakon 2FA setup)
Provjeri vrijeme na klijentu (TOTP zahtijeva ±30s točnosti) — ntpdate ili sudo systemctl restart systemd-timesyncd.
Ako je TOTP secret izgubljen: kontaktiraj superadmin → Korisnici → odaberi user → Reset 2FA (briše TOTP, mora se ponovo postaviti).
Backup kod: ako si ga sačuvao prilikom setup-a, koristi ga za jednokratan login.
Problem: Tenant 'TRAJNO' ali blokovi expir-aju
To je Progressive Blocking ON (default). Vidi 'Block Policy → Tri opcije'. Najbrže: postavke → Sigurnost → Progressive Blocking → Disable.
Problem: WAF pravila ne aplciraju block_minutes
Prije v2.0.8 ORM nije mapirao polje. Update na v2.0.8 ili noviji. Provjeri: Pravila → odaberi WAF rule → mora imati 'Block minutes' polje vidljivo.
Problem: Ogma server load spike nakon deploy-a
Cold-start spike je očekivan ~5-8 minuta nakon systemctl reload kolektor-api. Workers spawn-aju s praznom cache-em, agenti pljušte heartbeatima istovremeno, MySQL conn poolovi se grade. Ako traje >15 min: provjera da nije OOM (free -h, swap usage). Forsiraj graceful: systemctl restart kolektor-api (full restart umjesto reload).
Problem: 'Unauthorized' za GET endpointe iako sam ulogiran
Hard refresh browsera (Ctrl+Shift+R) — možda je app.js cache-iran (provjeri ?v= u URL-u).
Provjeri da je 2FA prošao: Korisničke postavke → 2FA status mora biti 'Verified'.
KOLEKTOR_FORCE_MIGRATIONS=1 — force re-run all migrations on next startup
Cache-busting
GUI fajlovi (app.js, index.html) su servirani s ?v=<timestamp> query parametrom. Pri svakom deploy-u taj se mora bumpati (inače browser-i cache-iraju stare fajlove). Trenutno postavljeno u index.html: <script src="app.js?v=20260612-jbkup-1"font-size:13px;color:var(--text);margin:14px 0 6px;font-weight:700">MySQL tuning preporuke
max_connections — minimum 200 za produkciju, 350-500 za >50 nodova
innodb_buffer_pool_size — 60-70% RAM-a za dedicated DB server
max_execution_time — 30s default, povećaj za reports koji rade composite queries
wait_timeout — default 28800s (8h). NE mijenjaj — gunicorn worker reload spawna nove SQLAlchemy poolove i stari conn-i ostaju idle do isteka.
IP Whitelist (alert_ip_whitelist setting)
Postavke → IP Whitelist. Lista IP/CIDR koju detector NIKAD ne smije auto-blokirati. Pohranjuje se u app_settings tablicu pod ključem 'alert_ip_whitelist'. Tipičan sadržaj: vlastiti management IP, monitoring servere, CDN edge IP-ove (Cloudflare, Akamai itd.), ISP gateway, vital backup target-i.
PAZNJA: BEZ ip_whitelist: Cloudflare IP koji prosljeđuje napad može biti auto-blokiran → čitav origin pao. Ovo je real-world incident koji se desio na Aegis instalacijama. OBAVEZNO postavi prije aktivacije auto_block za WAF pravila.
inherit — koristi parent level (node nasljeđuje od tenant-a, tenant od master-a)
Default master: monitor (sigurno). Promijeni na protect kad si siguran da ip_whitelist obuhvaća sve legitne IP-ove.
Aegis3 codename
Aegis3 (kodno ime za v3.0.0 verziju) je u planiranju. Od 2026-04-22 user dao OK za potpuni refactor. Aegis2 (trenutna verzija s v2.0.x serijom) ostaje stable, Aegis3 dolazi paralelno s novim GUI-em i agent v3 protokolom. Aegis2 instalacije će dobiti migration path kad Aegis3 izađe iz HOLD statusa.
🆕 15. v2.1.x Governance — što je novo (SDS exclusions, saved views, deploy tokens, geoblock)
Aegis v2.1.x je donio značajan governance refactor — SDS exclusions, saved views, deploy tokens i alert rules dobili su nova polja koja kontroliraju lifecycle, pristup i audit trail. Ova sekcija sumira što administrator treba znati.
SDS exclusions — nova polja
Polje
Što radi
expires_at
DATETIME NULL — exclusion auto-disable nakon ovog datuma. NULL = trajno.
reason
VARCHAR(500) — obavezan kratki razlog za broad/sensitive exclusions.
shadow_mode
Bool — kad je 1, exclusion BROJI matchove ali NE suppressa. Test mod prije aktivacije.
DATETIME — kad je zadnji put match-an. Korisno za pronalazak "zaboravljenih" exclusions.
risk_level
normal | broad | sensitive — automatski dodjeljiv pri kreiranju.
approved_by, approved_at
Approval workflow. Broad exclusion od non-superadmin → kreira se enabled=false dok superadmin ne approve-a.
SDS exclusions — workflow
Iznimke → Dodaj. Sustav automatski klasificira risk_level (broad ako pattern <8 chars contains, bez rule_id, bez service_filter).
Broad exclusion zahtijeva 'reason' polje. Test exclusion (test u name/reason) zahtijeva 'expires_at'.
Broad od non-superadmin → kreira se kao 'enabled=false', čeka approval. Superadmin ide u Iznimke → filter risk_level=broad → approve.
Shadow mode: postavi 'shadow_mode=1' za 7-14 dana, prati suppressed_count. Ako broji što očekuješ, prebaci na shadow_mode=0.
Auto-cleanup: exclusions s expires_at < NOW() automatski neće biti učitane u detector (ne briše se iz DB-a, samo se ignoriraju).
Saved views — visibility model
visibility
Tko vidi
Tko može kreirati
private (default)
Samo owner
Svi (tenant_user, tenant_admin, admin, superadmin)
tenant
Svi korisnici istog tenanta
admin, tenant_admin, superadmin
global
Svi korisnici cijele instance
admin, superadmin
Legacy 'shared=true' (pre-v2.1.0) tretira se kao 'visibility=global' za backwards compat. Preporuka: za nove views uvijek postaviti visibility eksplicitno, ne shared.
Deploy tokens — sigurnosni model (v2.1.1)
PAZNJA: Deploy token raw secret prikazuje se SAMO JEDNOM — kad ga kreiraš. Sačuvaj ga odmah u password manageru ili pošalji klijentu. Server čuva samo SHA-256 hash + prvih 16 znakova (token_prefix). Listing više ne prikazuje raw token niti URL.
Response prikazuje URL JEDNOM s warning porukom. Kopiraj.
Klijent pokreće `curl -sL <URL> | bash` (ili PowerShell varijanta). Server hashira incoming token i traži match.
Listing kasnije pokazuje samo token_prefix (npr. "abc12345def67890"), used_count, registered_count, allowed_cidrs.
Legacy tokens (pre-v2.1.1) i dalje rade kroz fallback lookup — ako SHA-256 match ne uspije, server pokušava raw match (kompatibilnost s tokenima koji su kreirani prije refactor-a). Preporuka: ručno revoke + recreate stare tokene.
Alert rules — permanent_block flag
Pravila imaju novu zastavu `permanent_block` (default 0). Postavljeno na 1 = svaki auto-blok od ovog pravila je TRAJAN, bez TTL escalation-a. TTL priority chain u detector-u (kolektor-detector.py) je sada:
ništa od navedenog → None (system default, nema TTL)
Geoblock — trajni blok za banned countries
PAZNJA: Od v2.1.0: ako je IP iz country koji je u global block listi (`scope='global', action='block'`), `_get_block_expires_at()` automatski vraća `None` (TRAJNO) — BEZ obzira na progressive blocking ili tenant default. Geoblock match preempts sve TTL logike.
Backfill: postojeći blokovi za geo-banned IP-ove dobili su `expires_at=NULL` (34,065 redaka na kolektoru, 0 na Ogmi). Migration je idempotentna, ne ponavlja se.
Od v2.1.1: svi block path-ovi (manual block, import, bulk-block-ips, bulk-block, AegisGOD god_block) prosljeđuju `ip` u `_get_block_expires_at()` — geoblock check se primjenjuje GLOBALNO, ne samo u detector auto-block-u.
Geoblock — WHITELIST mode (v2.1.1)
Pored klasičnog blacklist mode-a ("blokiraj odabrane zemlje, ostalo prolazi") Aegis sad podržava **whitelist mode** ("blokiraj sve osim odabranih zemalja"). Bolja zaštita za organizacije koje primaju traffic samo iz EU ili samo iz HR.
Postavi mode: SQL `UPDATE global_settings SET value='whitelist' WHERE key='geo_blocking_mode';` (default je 'blacklist').
U geo_block_rules dodaj scope='global', action='allow' za svaku ZEMLJU koju želiš dozvoliti (npr. HR, SI, AT, DE, IT za EU partnerstva).
Sve ostale zemlje su automatski blokirane (uz whitelist guard za vlastite IP-ove iz alert_ip_whitelist setting-a).
Detector cache se osvježava svake 60s — promjene se primjenjuju u tom roku.
PAZNJA: Whitelist mode je AGRESIVAN — IP iz zemlje koja nije na allow listi će biti drop-an od prvog kontakta. Ako legitimni partner-IP nije eksplicitno dozvoljen, ne može doći do servisa. Provjeri allow listu PRIJE aktivacije + drži alert_ip_whitelist popunjen za poznate trusted IP-ove.
WAF agent severity (v2.1.1)
Linux agent v1.6.24+ šalje `severity` i `category` polja u WAF event payload. Server više ne forsira `"medium"` default — kritični eventi (SQL injection, command injection) sada putuju s pravim severity-jem do alert pipeline-a.
Windows i macOS agenti nemaju agent-side WAF events trenutno (oslanjaju se na server-side detection iz logova). Future agent rollout ako se uvede agent-side WAF za te platforme.
Deploy token CIDR enforcement (v2.1.1 round-8)
`allowed_cidrs` polje na deploy_tokens nije više dekoracija — od v2.1.1 round-8 se aktivno enforcea na svim 4 public deploy rutama:
POST `/deploy/{token_hash}` (universal)
POST `/aegis-agent/linux/{token_hash}`
POST `/aegis-agent/wind/{token_hash}`
POST `/aegis-agent/macos/{token_hash}`
Helper `_check_deploy_cidr(dt, request)` provjerava client IP iz X-Real-IP / X-Forwarded-For / request.client.host header-a. Ako allowed_cidrs nije prazan, client mora biti unutar CSV-a, inače HTTP 403. Empty/NULL = bez restrikcije.
INFO: Use case: kreiraj deploy token za jednog klijenta s `allowed_cidrs=82.214.97.0/24`. Ako netko drugi pokupi raw URL i pokuša curl iz vana, dobit će 403 čak i ako imaju validan token. Stvarna 2nd factor authentication.
permanent_block u oba detector autoblock patha (v2.1.1 round-8)
Helper `_rule_block_expires(rule, tenant, now)` koristi se SADA u OBA auto-block patha (correlation + new-alert). Prije round-8 je novi-alert path imao staru inline logiku, pa `permanent_block=1` flag nije radio jednako u oba slučaja. Sad je TTL priority chain konzistentan svugdje:
Cross-check token platform vs requested OS endpointa. universal token radi za linux/windows/macos, ali specific token (linux/windows/macos) može SE koristiti SAMO za odgovarajući OS endpoint. Pokušaj korištenja PowerShell user-agenta s Linux-only tokenom → HTTP 400 + audit `deploy_platform_mismatch`.
Plus svaki uspješan/neuspješan deploy konzumacije u audit_events ima:
actor=`deploy_token:<prefix>`
client_ip (request.client.host ili X-Forwarded-For ako TRUST_PROXY_HEADERS=1)
Helper `_check_deploy_cidr()` više ne vjeruje proxy headerima po defaultu. Ako je FastAPI port direktno javno dostupan (rare), klijent može spoofati X-Forwarded-For. Sad samo pri postavljanju env varijable `TRUST_PROXY_HEADERS=1` server čita X-Real-IP / X-Forwarded-For. Inače koristi samo `request.client.host`.
Postavi env u `/etc/systemd/system/kolektor-api.service` (ili equivalent) ako je Aegis iza Nginx-a koji setupia ove headere.
SDS exclusions per-node scope (v2.1.1 round-9)
Detector sada poštuje `node_id` polje u SdsExclusion ORM-u. Per-node exclusion neće se primijeniti na druge nodove (prije round-9 je bio bug — node-scoped exclusion se efektivno primjenjivao globalno jer detector nije provjeravao node_id).
Sve scope-ove (sds, api, fim, edr_ti) trebaju jednako poštovati governance polja (expires_at, shadow_mode, node_id). Helper `_load_active_exclusions(db, scope, node_id=None)` u main.py vraća standardno filtriranu listu — pozivni point-i u API endpointima (/api/agent/logs, /api/agent/fim, EDR TI) ga koriste umjesto custom filter-a.
Exclusion approval workflow (v2.1.1 round-9)
Broad/sensitive exclusion od non-superadmin → kreira se `enabled=false`. PATCH endpoint zaštićen: ako je risk_level u (broad, sensitive) i nema approved_by, PATCH koji pokušava `enabled=true` od non-superadmin → HTTP 403.
Risk classification:
**normal**: ima rule_id ILI service_filter ILI node_id (uskoscope)
**broad**: nema rule_id, service_filter, node_id (svuda primjenjuje)
Cetnik P2 #7: scope='edr_ti' i match_type='exact'/'prefix' su sad eksplicitno dopušteni u `POST /api/admin/exclusions`. Prije round-10, `_edr_ti_lookup()` je tražio `scope=edr_ti` ali create endpoint nije dopuštao kreirati takve — EDR TI exclusions su bili konceptualni. Sad su normalno upravljivi kroz API/UI.
Central exclusion helper — runtime usage (v2.1.2 round-11)
Cetnik P1 round-11: helper `_load_active_exclusions(db, scope, node_id)` postojao je u v2.1.1 ali ga runtime nije koristio — API ingest, FIM i EDR TI lookup imali su svoje stare query-je koji nisu poštivali `expires_at`, `node_id`, `shadow_mode`, `suppressed_count`. U v2.1.2 sva 3 path-a sad koriste centralni helper:
`/api/agent/logs` (API ingest) — postuje expires_at, per-node, shadow_mode + bumpa suppressed_count na svaki match
`_edr_ti_lookup()` (EDR TI feed lookup) — centralni helper umjesto raw SQL `WHERE scope='edr_ti'`
Posljedica: istekle (`expires_at < NOW()`) exclusion više ne suppressaju ni jedan path. Shadow_mode exclusioni broje match bez stvarnog suppress-a — koristi za pre-deployment validaciju (uključi shadow, vidi koliko bi suppressao kroz tjedan, onda flip na real).
Cetnik P1 round-11: `_deploy_audit()` helper se prije v2.1.2 koristio SAMO za deploy_platform_mismatch. Uspješne deploy instalacije (`deploy_node_created`) imale su stari audit bez IP/UA/token_prefix. U v2.1.2, sva 4 deploy endpointa (`/deploy/{token}`, `/aegis-agent/{linux,wind,macos}/{token}`) zovu `_deploy_audit()` i na success path-u — svaki uspješan deploy sad ima client_ip, user-agent, token_prefix, platform i extra meta (node_name, seq, os) u audit zapisu.
Landing page filter po dt.platform (v2.1.2 round-11)
Cetnik P1 round-11: prije v2.1.2, `/deploy/{token}` browser landing prikazao je sve 3 OS komande bez obzira na `dt.platform`. Operater linux-only tokena vidio je i Win+macOS komande s napomenom 'Isti token za sva tri OS-a' — to je bilo točno samo za universal. Sad: universal → sve 3, linux/windows/macos → samo odgovarajuća komanda + badge 'Token vrijedi za: <platform>'.
Approve/Reject endpointi za broad/sensitive exclusions (v2.1.2 round-11)
Cetnik P2 round-11: PATCH guard u v2.1.1 je bio OK (broad/sensitive ne mogu enabled=true bez approved_by), ali pravi workflow zahtijeva eksplicitne akcije:
`POST /api/admin/exclusions/{id}/approve` — postavlja approved_by/approved_at + enabled=true. Samo superadmin za broad/sensitive.
`POST /api/admin/exclusions/{id}/reject` — disable + clear approval. Reason je obavezan. Optional `delete=true` payload za fizičko brisanje.
Audit: `exclusion_approved`, `exclusion_rejected`, `exclusion_rejected_deleted` actions u audit_events.
MySQL max_connections tuning (Ogma)
Ogma server (manjeg RAM-a, 7.7G) imao je default max_connections=350 koji se kontinuirano probijao tijekom svakog reload-a (cold-start spike + agent reconnect storm + SQLAlchemy pool rebuild). Rezultat: 1040 'Too many connections' errori na svakom v2.x deploy-u.
Trajni fix u v2.1.1 round-8: `max_connections=500` u `/etc/mysql/mysql.conf.d/50-max-connections.cnf` + runtime `SET GLOBAL`. 150 dodatnih conn × ~768KB = ~115MB extra RAM, dostupno (4G slobodno).
Buba (kolektor.bu.hr) ima 31G RAM-a i max_connections=500 već default — bez promjene.
Migration safety
v2.1.x dodaje 16 ALTER TABLE migracija na startupu. Ako neka migration neočekivano padne, hash se NE sprema — sljedeći restart će probati ponovo. Idempotent failures (Duplicate, already exists, Can't DROP, doesn't exist) su filtrirani — ne broje se kao 'unexpected'. Hash se sprema samo ako je clean run.
Provjera u logu: `grep MIGRATION /opt/kolektor/logs/api.log | tail -5`. Tipično vidiš: '[MIGRATION] Skip: hash unchanged' ako su sve migracije već primijenjene.
✅ 16. Checklists — operativne procedure
Daily checklist (admin)
Dashboard pregled — broj nodova online vs total, top alarmi
Alarmi → filter status=open severity in (critical, high) → resolve ili eskalacija
Cases → assigned ja → provjeri SLA timer
Threat Insights → novi attack chains?
Server Status → MySQL conn count, error log
Provjera da nije bilo crash-a u zadnjih 24h: SELECT * FROM service_health_log WHERE metric IN ('http_500','unhandled_exception') AND recorded_at >= NOW() - INTERVAL 24 HOUR
Weekly checklist (admin)
Provjera retention worker je radio (node_logs starije od 30d obrisane)
MySQL data volume ispod 80% kapaciteta?
DB rotation potrebna (>500M redova u node_logs)?
Backup test restore na staging instanci
Auto-block stats: koliko IP-ova blokirano, koliko legitimno (false positive)
WAF stats (ako enabled): top napadači, top napadnuti URL-ovi
Update agent verzija (lockstep): provjeri _LATEST_AGENT_VERSION_*, ako ima novija, push to all
Compliance report (CIS / NIS2) za sve managed nodove
Audit events scan: tko je radio sensitive akcije (delete user, rotate key, DB rotation)
Monthly checklist (admin)
Backup test restore na staging — i validacija da podaci sjedaju
Disaster recovery dry-run (uoči koliko dugo traje full restore)
Penetration test (interni ili eksterni)
Tenant kontakti audit — još uvijek dostupni emailovi/telefonu
Notification rule audit — eskalacijski lanac još pokriva ono što treba
Permissions audit — koji tenant_user-i imaju fn_export, fn_nodes_deploy itd. — još uvijek opravdano?
Update Aegis verziju (security patches)
License plan provjera (ako commercial subscription)
Pre-deploy checklist (server update)
Backup main.py i kolektor-detector.py kao .bak.<timestamp>
INFO: AEGIS pozicioniramo kao premium regionalni SOC proizvod, ne kao jeftiniju alternativu Wazuhu. Naplata po nodu, predvidiva, bez ingest-based iznenađenja kao kod Sentinela/Splunka/Elastica. Sve cijene bez PDV-a, godišnji ugovor, mjesečna naplata.
Glavni paketi
Node = server, VM, firewall, QNAP, NAS ili agent/collector endpoint. Setup se naplaćuje posebno.
Paket
Za koga
Nodova
Cijena/mj
Dodatni node
Core
Manje firme, osnovni nadzor
5
399€
59€/node
SOC ⭐
Default — ozbiljan SOC
15
899€
69€/node
SOC Pro
MSP, hosting, više sustava
30
1.790€
79€/node
SOC + NIS2
Compliance + management
50
2.990€
89€/node
Managed SOC
Mi pratimo i eskaliramo
50
od 4.900€
99–149€/node
MSSP Platform
Partneri (wholesale)
100+
od 3.500€
25–45€/node
Što ulazi u koji paket
**AEGIS Core (399€/mj)** — entry paket: 5 nodova, 360+ pravila, dashboard, email/webhook alerti, osnovni auto-block, 30 dana retencije, mjesečni izvještaj, support 8×5 best-effort. NE uključuje: NIS2 pack, advanced WAF protect, managed tuning, custom integracije, SLA response.
**AEGIS SOC (899€/mj)** — glavni prodajni paket: 15 nodova, sve pravila + WAF (24 OWASP klase) monitor/protect, QNAP/server/firewall integracije, multi-tenant RBAC, case management, PDF/XLSX reporti, email + Telegram/Signal/WhatsApp/webhook, 90 dana retencije, mjesečni SOC report, support 8×5. Kad korisnik pita 'što preporučujete' — preporuka je SOC.
**AEGIS SOC Pro (1.790€/mj)** — za hosting providers, MSP-ove, organizacije s više kritičnih sustava: 30 nodova, sve iz SOC + 180 dana retencije, advanced correlation, advanced WAF protect, scheduled reports, vulnerability/CVE/CISA KEV view, FIM monitoring, CIS baseline checks, 1× mjesečno tuning session, priority support, kvartalni security review.
**AEGIS SOC + NIS2 (2.990€/mj)** — premium za compliance i upravu: 50 nodova, sve iz SOC Pro + NIS2 readiness pack, NIS2 monthly + quarterly report, audit trail review, compliance dashboard, CIS/FIM/vulnerability evidence, management summary report, 1 kvartalni sastanak, **12 mjeseci compliance retencije**. Prodavati direktorima i compliance ljudima, ne samo IT-u.
**AEGIS Managed SOC (od 4.900€/mj)** — usluga, ne softver. 50 nodova + tim. Sve iz SOC + NIS2 + aktivni alert triage, tuning pravila, false-positive management, incident eskalacije, mjesečni SOC report, threat review, preporuke za blokade i remediation, SLA za reakciju, opcionalno 24/7 dežurstvo.
Razina
Cijena
Dodatni node
Managed 8×5
od 4.900€/mj
99€/node
Managed Extended 12×5
od 7.500€/mj
119€/node
Managed 24×7
od 12.000€/mj
149€/node
PAZNJA: Ako uključuje buđenje ljudi, eskalaciju i odgovornost, cijena MORA biti ozbiljna. Nemoj raditi 24/7 SOC za 1.000€/mj — to je put u kaos.
MSSP / partner program
Za MSP-ove: partner mora imati marginu, ali AEGIS ostaje premium. Tri tier-a po platform fee + node količini:
MSP tier
Platform fee
Wholesale node
Krajnja preprodaja
MSSP Starter
3.500€/mj
45€/node/mj
~69–129€/node/mj
MSSP Growth
5.500€/mj
35€/node/mj
~69–129€/node/mj
MSSP Scale
8.500€/mj
25€/node/mj
~69–129€/node/mj
White-label / dedicated
custom
custom
—
Krajnja preprodaja ovisi uključuje li partner samo platformu ili i svoj managed monitoring (potonje opravdava više).
Onboarding / Setup naknade
Jednokratno, naplaćuju se posebno. Praštaju se SAMO ako korisnik potpiše 24-mjesečni ugovor ili plati godinu unaprijed.
Onboarding
Cijena
Core setup
750€
SOC setup
1.500€
SOC Pro setup
2.500€
SOC + NIS2 setup
4.000€
Managed SOC onboarding
5.000–12.000€
Custom integracije
120€/h
Retencija — uključeno + dodatak
Storage, backup i performance koštaju. Ne poklanjati dugu retenciju.
Retencija
Uključeno u
30 dana
Core
90 dana
SOC
180 dana
SOC Pro
12 mjeseci evidence
SOC + NIS2
Dodatna retencija
0,15–0,30€/GB/mj ili custom
Za ekstremne log volume korisnike uvedi fair-use + storage dodatak.
Godišnji popusti
Sigurnosni softver s podrškom NE diskontira se kao hosting.
**Najvažniji paket za prodaju:** AEGIS SOC (899€/mj, 15 nodova + 69€/node) — default kad pitaju 'što preporučujete'
**Najprofitabilniji paket:** SOC + NIS2 (2.990€/mj, 50 nodova + 89€/node) — prodaja prema upravi i compliance
**Najveća vrijednost za firmu:** Managed SOC (od 4.900€/mj) — tu prodajemo znanje, reakciju i odgovornost, ne samo softver
**Ne prodavati ispod 399€/mj.** Ako klijent ne može platiti to za sigurnosni nadzor — nije dobar AEGIS kupac.
**Komunikacija:** AEGIS se naplaćuje predvidivo po nodu, bez iznenađenja po dnevnom ingestu logova (kao Sentinel/Splunk/Elastic).
Web pricing sekcija — javna komunikacija
Na aegis.hr ne stavljati sve detaljne cijene — samo 'od' cijene + napomena da finalna cijena ovisi o broju nodova, retenciji, opsegu managed usluge, integracijama i SLA razini.
Paket
Od
AEGIS Core
399€/mj
AEGIS SOC
899€/mj
AEGIS SOC Pro
1.790€/mj
AEGIS SOC + NIS2
2.990€/mj
AEGIS Managed SOC
4.900€/mj
MSSP / Enterprise
po dogovoru
Detalje o setupu, dodatnim nodovima i godišnjim popustima ostaviti za fazu kad klijent već razgovara s prodajom.
📣
Novosti i promjene
Kronološki pregled novih funkcionalnosti i poboljšanja
🔒 C-01 IDOR fix — /api/admin/reports/node-report/job-status/{id} i job-download/{id} sada provjeravaju vlasništvo job-a. Prije je svaki prijavljeni korisnik mogao enumirati i preuzeti tuđe PDF izvještaje.
🔑 C-02 JWT revokacija — logout i revoke-sessions sada stvarno ubijaju token. get_current_user i /api/auth/check provjeravaju postojanje sesije u DB (ne samo potpis JWT-a). Prethodno je ukradeni token ostajao funkcionalan i nakon “odjave”.
👁 C-03 XSS sanitizacija — /alert-preview/{token} (javni signed link) sada koristi html.escape() na svakom interpoliranom DB polju + strict Content-Security-Policy. Prije se napadačeva IP adresa mogla injektirati kao skripta u preview.
🔑 H-01 Agent path hardening — browse-subdirs endpoint sada ima allowlist sigurnih prefiksa (/var/log, /etc/nginx, /opt...), deny-listu osjetljivih (.ssh, shadow, .env), tenant izolaciju i obavezni audit log s razlogom.
🔒 H-02 Chat bot auth — /api/admin/chat/pending i /chat/respond sada zahtijevaju X-Aegis-Bot-Key header. Prethodno su bili potpuno javni — svatko je mogao čitati user poruke i slati lažne “Aegis” odgovore.
📋 H-02 API catalog precision — generator kataloga prepoznaje sve auth obrasce (require_admin, _require_superadmin, get_current_user, require_permission factory pattern). False-positive “bez auth” stavki palo s 534 na 16 (svih 16 je public-by-design).
🔍 H-03 SQL audit izvještaj — generiran H03_SQL_AUDIT.md s listom svih 38 f-string SQL interpolacija, klasifikacija varijabli po riziku. Najriskantniji slučajevi ({id_list}, {tid_filter}) ručno verificirani kao safe (int() cast i whitelist filter).
🛡 Log Forensics Sweep fix — endpoint više ne timeoutuje na velikim bazama. Statement timeout povećan na 120s za ovaj endpoint, exception vraća JSON (ne HTML maintenance page).
📊 DB rotacija “Logova/dan” popravak — COUNT queries na 85M row tabelama sada imaju 90s timeout i uži id-range. Više ne prikazuje “?” na dashboardu.
📊 Tenant-usage endpoint — 5-min TTL cache + single-pass GROUP BY (bilo N+1 per tenant + unbounded COUNT(*) koji je timeoutao u produkciji).
🌟 Aegis v2.0.0 brand bump — footer i GUI brand pokazuju v2.0.0. FastAPI verzija u /openapi metadati. Install paket /opt/2.0.0/ spreman za reinstalaciju.
21.04.2026🦉 AegisAI Connector — AI suradnik (F2 razgovor, desni klik, audit, proaktivna zapažanja)
🦉 AegisAI Connector tab u Postavke — između Branding i Sustav. Glavni prekidač, AI korisnik picker, URL bota, test veze, audit, proaktivna zapažanja. Ranije bilo skriveno u Sigurnost.
🎭 Faze sazrijevanja — SHADOW (uči tiše) → ADVISOR (savjetnik) → OPERATOR. Promocija po točnosti, ne po vremenu. Pragovi 85% / 92% s minimalnim brojem odluka. Auto-demote ako točnost padne ispod 70%.
F2 razgovor — plutajući prozor (donji desni). Drag, ESC, minimize u 48px kuglu, dupli klik header reset pozicije. /cls ili 🗑 gumb briše povijest (audit ostaje).
Desni klik — pitaj o entitetu — bilo gdje u sučelju. Server vraća 5 specifičnih pitanja generiranih ovisno o tipu (alarm, slučaj, node, IP, pravilo) i stanju. Klik → chat se otvori s pitanjem pred-popunjenim.
📎 Source citation — svaki bot odgovor s izvorima ima klikabilan modal. 🔍 Dokaži gumb pokazuje 5 minuta API poziva oko vremena odgovora — je li bot stvarno fetch-ao kontekst ili halucinirao.
👎 Disagree & Lessons — ako bot promaši, 👎 gumb otvara dijalog (razlog + komentar + točan odgovor). Bot kasnije vidi neslaganja kao lekcije pri sličnim pitanjima — uči se kalibrirati bez retraining-a.
🧠 Proaktivna zapažanja — bot prati live tok i sam šalje poruku u F2 kad otkrije: cross-node IP spread, AegisGOD spike, verified compromise, cross-tenant kampanju. Razmak 4h po istom obrascu.
Hard write gate — AI korisnik je read-only na alarme, blokove, pravila, postavke. Smije pisati samo u ‘/api/bot/’ (chat respond, typing) i ‘/api/auth/‘. Pun audit trail u audit_events + user_activity.
Sidecar arhitektura — AegisAI radi kao zasebni gunicorn proces (port 8081). nginx ruta ‘/api/bot/*’ + ‘/api/admin/aegismind/*’ tamo. SSE firehose ne blokira glavni SOC API.
Suggested questions s gramatikom — sve sugestije pohrvaćene (ima li/što/povijesni/zaključak/sažmi). 422 Unprocessable Entity postao 400 s primjerom — klijent zna što mu nedostaje.
Migration skip marker — restart koji ne mijenja shemu preskače cijeli migration blok (~15s uštede). Force flag KOLEKTOR_FORCE_MIGRATIONS=1.
MySQL statement timeout 30s — runaway SELECT-ovi auto-killed, vraćaju connection u pool. Sprjecava QueuePool exhaustion od jednog stuck query-a.
Session cleanup worker — svakih 15 min briše bot/script sesije starije od 2h idle. Sprjecava session table explosion od reconnect loop-ova.
Compromise auto-scan worker — svakih 5 min queueira scan_webroot na online Linux web-serving nodove. Poštuje compromises_scan_interval_min postavku.
💾 Arhiva umjesto brisanja — decommission node i brisanje pravila vise NIKAD ne brisu alert_events zapise. Umjesto toga UPDATE status=\'archived\' + tag u notes polju s razlogom ([node_decommissioned:X@ts], [rule_deleted:X@ts]). Forensicki dosje ostaje vjecno. Nodes row takodjer ostaje (status=\'decommissioned\') umjesto brisanja.
🔁 Auto-reactivate node — ako admin doda novi node s identicnim imenom u istom tenantu kao vec postojeci decommissioned node, sustav reuseira stari node_id. Sva povijest (alarmi, FIM, vulns, logovi, telemetrija) ostaje povezana kroz isti ID. Novi api_key_hash se upise, status ide natrag na offline dok agent ne javi.
🤖 AegisVerify Detaljni dosje (modal) — klik "Otvori" na bilo kojoj verifikaciji u Auto-Pilot tabu otvara fokusiran modal preko stranice (overlay z-index 100000) s: verdikt + score, linked alarm (iz aktivne baze ILI arhivskih snapshota ILI rekonstrukcija iz audit trail-a ako je alarm obrisan), AegisVerify provjere, izvrsavanje + trajanje, full trigger_log. Arhivski snapshot pokazuje badge "📦 iz arhive (IME_BAZE)". Radi cak i kad vise nema alert_events zapisa.
🔍 Rekonstrukcija iz audita — kad alarm uopce ne postoji (obrisan prije patch-a), sustav rekonstruira dosje iz audit_events tablice + alert_verifications.result_json: source_ip, node_id, rule_name, cijeli audit trail (kreacija, note, bulk_resolve, decommission, force_delete) u tablici. Nijedan forensicki podatak nije nedostizan.
📊 Posjeti kupaca — nova kartica u Postavke → Sustav. Analitika aegis.hr i kolektor.bu.hr posjeta: po danu / mjesecu / godini, po drzavama sa zastavama. Cron agregator svakih 15 min filtrira: bot UA (Googlebot, AhrefsBot, semrush, nmap, curl/wget/python-requests, censys, shodan...), admin sessione (IP-ovi s ≥30 hitova/dan), self-IP-ovi i kolektor fleet nodovi. IP geo kroz ip-api.com s cache 30 dana.
🔴 Prosiren AegisVerify scope — _VERIFY_AUTO_CATEGORIES sad ukljucuje fim, rdp_auth, exchange_owa (uz vec postojece http_web, ssh_auth, ransomware, malware, credential_theft, command_exec, db_auth). Alarmi za FIM file integrity promjene, RDP brute force/Public IP logon, Exchange/OWA napade sad dobivaju automatsku verifikaciju umjesto "skipped" statusa.
🗑 Orphan cleanup — 136 orphan alert_verifications zapisa (koje vise nemaju pripadajuci alert_events) oznaceno je sufixom _orphan u status polju. Sljedeci retention pass uredno obradi te stare reference.
🚀 Masovni Ogma fleet update — 22/24 agent noda Ogme presaltano na 1.5.96 (Linux + Windows) s edr_toggle on markerom. Fleet source na kolektoru i Ogmi identican.
16.04.2026🛰 AegisEDR v1 — Outbound Flow Monitor + Threat Intel match + World Map + Block action
🛰 AegisEDR modul — novi tab u Sigurnost grupi. Svaki opt-in Linux nod svakih 60s parsira ss -tnp i salje outbound TCP tokove na kolektor. Server ih dedupira po (node, dst_ip, dst_port, process), inline match-a protiv threat intel baze i na C2 hit triggera alert. Agent strana je delta-ready, kill-switch gated (/opt/kolektor-agent/edr.enabled), s OK/SYN detekcijom, ephemeral-port heuristikom za outbound vs inbound, i automatskim skipom loopback/RFC1918/self-IP-a. Daemon thread wrapped u try/except — niti jedna greska ne moze ubiti agenta.
🚨 5 threat intel feedova, 27,000+ IP-ova — automatski pull (cron svaka 2h): abuse.ch FeodoTracker (botnet C2 — TrickBot/Emotet/Qbot/Dridex), abuse.ch URLhaus (aktivni malware hostovi), abuse.ch ThreatFox (IOC feed s malware family), CINS Army (13,800+ IP reputation), Binary Defense community banlist (4,100+), Greensnow (3,800+ aktivni napadaci). Svaki hit nosi izvor, malware family (ako poznata), confidence razinu (low/medium/high/very_high).
🌎 Live Outbound World Map — Leaflet mapa s dark basemap-om, zelene tocke = nodovi, plave = normalne destinacije, crvene = TI hitovi. Lukovi povezuju izvor i cilj (crveni debli + opacitet 0.8 za TI). Klik na bilo koju tocku → popup s IP, procesom, verdict reasonom, geo lokacijom, ISP-om. Checkbox-ovi filter normale/TI hitova. Geo lookup automatski (ip-api.com) za svaku novu destinaciju.
🚫 Outbound Block akcija — svaki TI hit row u flow tablici ima Block gumb. Klik queue-a edr_block_outbound komandu koju agent pokupi kroz cmd-poll (3s latency) i izvrsi iptables -I OUTPUT 1 -d <dst> -p tcp --dport <port> -j DROP. Idempotentno (skip ako rule vec postoji). Self-preservation guard: refuses to block any IP in KOLEKTOR_SELF_IPS — nikad ne mozes null-route svog vlastitog SOC-a. Unblock kroz istu pipeline.
🛠 Admin endpoints — /api/admin/edr/flows, /alerts, /stats, /ti-stats, /worldmap, /enable/{node_id}, /disable/{node_id}, /block/{flow_id}, /unblock/{flow_id}. Ugradjeno u postojeci alert sustav preko sinteticke rule "EDR C2 Hit" (MITRE T1071, severity high) — alarmi idu u istu alert_events tablicu, koriste postojeci dedup/case integration/email/webhook kanal.
⚙ Agent gating & kill switch — opt-in per-node preko marker fajla /opt/kolektor-agent/edr.enabled. Nema ga → thread spava, nikakvo gubljenje CPU-a. Kill switch: /opt/kolektor-agent/edr.disabled instant zaustavi sve (provjera na svakoj iteraciji, bez restart-a). Server moze flippati per-node kroz novi edr_toggle command ako SSH nije dostupan. Sljedeca verzija (Slice 2) prebacuje gating na server-driven heartbeat response.
🛈 Session-cache fix u _av_verify_via_agent — MySQL InnoDB REPEATABLE READ u jednoj transakciji vracao stale snapshot → helper mijenjao timeout i fallback na kolektor_fallback cak i kad je agent vec napisao rezultat. Fix: db.commit() izmedju poll-ova da se transakcija zatvori i sljedeci SELECT dobije fresh snapshot. Verifikacija: 2.4s round-trip na AEGIS-SOC-BUBA umjesto 40s timeout-a.
📖 F1 help za AegisEDR — 12 sekcija u F1 dialogu: Sto vidite, Status bar, Stat kartice, Map navigation, Flow tablica, Block action, Alerts panel, Enabling, Self-preservation, Quick-wins, Sto ne radi u S1, Troubleshooting. Dodano i Kompromitacije entry koji je falio u prethodnoj verziji — F1 radi na SVIM tabovima bez iznimke.
🔧 VALID_TABS fix — hunt tab bio izostavljen iz VALID_TABS pa F5 refresh nije restore-ao tab za korisnike koji su bili u Hunt modulu. Dodano.
15.04.2026🎬 Cinematic Replay (Case / IP / Bot), Bot Detection fix, Radio modal za status/outcome
🎬 Incident Replay v2 — WAR-style cinematic — komplet rewrite replay feature-a. Full-screen phased overlay (matrix rain, zvukovi, animacije) kao WAR Room, ali sa stvarnim podacima iz case-a. 7 faza: Title → Napadaci → Live Timeline → Impact (MITRE + nodovi) → Response (action log) → Summary → Finale. Event feed stream-a se kronoloski, counters se animiraju, pogodjeni nodovi svijetle. ESC za izlaz. Dostupan kroz "🎬 Replay napad" gumb u case detail prozoru.
🗃 Multi-Case Replay — u Slucajevi listi svaki red sada ima checkbox. Odaberi 1–20 slucajeva, klikni "🎬 Multi-Replay odabrane" u gornjoj traci — cinematic prikazuje sve napade kao jednu unified kampanju: merged events, deduplicated sources, union MITRE coverage, combined action log. Koristi za prikaz koordinirane kampanje kroz vise slucajeva.
🎬 IP Replay — per-IP cinematic — u IP drill-down prozoru (klik na bilo koji IP u AegisGOD, Hunt, Alarmi, Case detail, Dashboard) novi gumb "🎬 Replay napad". Pokrece cinematic sa svim aktivnostima tog IP-a u zadnjih 24h: alarmi, auto-blokovi, FIM promjene na ciljanim nodovima, MITRE tehnike, geo, SOAR playbook akcije. Jedno mjesto = dostupno svugdje.
🎬 Bot Replay — per-bot cinematic kampanja — Bot Detection tab → klik na bilo koji bot → "🎬 Replay kampanju" gumb u action baru. Agregira sve bot_actor_ips u jednu unified kampanju (default prozor 7 dana). Cinematic pokazuje sve IP-eve, sve targete, MITRE union, svu SOAR audit stazu. Npr. BOT-0023 s 20 IP adresa → 63 eventa kroz 6 nodova, 49 SOAR akcija, 7 MITRE tehnika.
🛡 Bot Detection fix na soc.ogma.hr — root cause: Ogma DB shema imala bot_actor_ips.is_blocked, bot_score, bot_actor_events.matched_at bez DEFAULT vrijednosti → svaki INSERT padao s MySQL error 1364. Rezultat: 74 bot_actors reda stvoreno ali bot_actor_ips i bot_actor_events prazni, detail prozor pokazivao prazan bot. Fix: 3 ALTER TABLE MODIFY migracije + 3 INSERT statementa u detectoru eksplicitno postavljaju defaultne vrijednosti. 74 orphan bot_actors obrisana, novi botovi sada imaju proper join table podatke.
🔄 Radio modal za Status i Outcome u Slucajevima — promjena statusa i outcome vise NE koristi prompt() text input (rizik tipfelera). Umjesto toga: radio-button modal s fiksnom listom opcija, svaka opcija ima hint koji objasnjava kada ju koristiti. Status: new → triage → investigating → contained → resolved → closed. Outcome: unknown / true_positive / false_positive / benign / duplicate. ESC otkazuje, promjena ide u action log.
📖 F1 help — Case register + AegisGOD tabovi sada imaju F1 pomoc za sve nove feature-e (Cinematic Replay, Multi-Case Replay, IP Replay, Bot Replay, radio modal).
12.04.2026Case Management, AegisGOD fix, F1 Help, SLA per-tenant, WAF tuning, Hyper-V pravila
📄 Case Management komplet redizajn — AegisGOD auto-case sada popunjava source_ip, node_id, mitre_id, geo lokaciju, AbuseIPDB score, artefakte (IP + top 5 alarma) i timeline event. 105 postojecih caseova retroaktivno popunjeno. Klikabilni artefakti: alarm otvara detail, IP otvara drill-down, node otvara node detail.
⚡ AegisGOD 3 kriticna fixa — (1) interval smanjen s 5 min na 60s za real-time SOC odgovor, (2) resolved alarmi se sada broje u threat scoringu — prije su blokirani IP-ovi izbjegavali scoring, (3) auto-block na SVIM nodovima s alarmima, ne samo na jednom.
⏱ SLA per-tenant — svaki tenant sada ima konfigurirajuci SLA po severity razini (Critical/High/Medium/Low sati) u Tenant detaljima. Default: 4/8/24/72h. Koristiti za razlicite SLA ugovore po klijentu.
📖 F1 kontekstualna pomoc — pritisnite F1 na bilo kojem ekranu za upute specificne za taj tab. Pokriva svih 38 tabova. Quick-nav za navigaciju medu temama. ESC zatvara.
🚫 ESC zatvara sve modale — Case detail, Case create, IP drill-down, F1 help, resetPass, chat panel, export overlay. ESC sada zatvara svaki overlay u sustavu.
🔍 Hunt → Case kontekst — kreiranje casea iz Hunt rezultata sada prenosi node_id, source IP (iz rezultata), MITRE tag, i prvih 10 sample logova u opis.
🛡 Hyper-V 8 detekcijskih pravila — VM Deleted (critical), VM Created, VM Export, Snapshot Deleted (ransomware indikator), Virtual Switch Modified, Service Stopped (critical), Replication Failed, Unauthorized Access.
🛡 WAF regex fix — SSRF pravilo vise ne triggerira na Chrome/140.0.0.0 u User-Agent stringu. Malformed HTTP pravilo iskljucuje HTTP 408 timeout (normalni keep-alive).
🚫 Block retention fix — block_ip i unblock_ip komande se vise NIKAD ne brisu iz retencije. 49.384 blokova recoverirano iz firewall podataka.
🌐 Whitelist prosiren — cijeli AKTON/bu.hr raspon (82.214.96.0/21), privatne mreze, svi serverski IP-ovi. 41 whitelist povreda fixano na 8 nodova.
🔍 AbuseIPDB auto-refresh — zapisi stariji od 30 dana automatski se osvjezavaju (5 po ciklusu). Dnevni limit 900 API poziva (od 1000 free tier).
📊 Cross-DB izvjestaji — service_dist i mitre_dist report tipovi sada automatski ukljucuju archive baze kad period prelazi granice.
📣 Novosti arhiviranje — entriji stariji od 09.04 sakriveni u "Starije novosti" sekciju.
11.04.2026 v3DB Rotacija, MySQL Optimizacija, Particioniranje, Retention Boost
🗃 Rotacija baze podataka — novi panel u Postavke → Sustav. Automatski 7-fazni proces: pre-check, maintenance mode, mysqldump, restore u archive bazu, verifikacija integriteta (row count, date range), batch delete, maintenance off. Progress bar s ETA prikazom u realnom vremenu. Archive baze pretrazive kroz Hunt Query Builder.
🔍 Hunt — Archive pretraga — novi dropdown u Hunt tabu za odabir izvora: aktivna baza ili bilo koja archive baza. Cross-database query koristi iste filtre i grupiranja. Archive badge u rezultatima.
🗃 Maintenance Mode — za vrijeme rotacije sustav automatski blokira korisnicke requeste (503). Agenti nastavljaju normalno raditi (heartbeat, logovi, FIM, inventory). Admin koji je pokrenuo rotaciju ima puni pristup.
⚡ MySQL particioniranje — node_logs tablica particionirana po mjesecu (RANGE na created_at). COUNT i DELETE operacije rade samo na relevantnim particijama. Retencija moze koristiti DROP PARTITION umjesto batch DELETE — instant umjesto satima.
⚡ MySQL tuning — buffer pool 8 GB (SSD) / 3 GB (HDD), O_DIRECT flush, povecani sort/join/tmp bufferi, io_capacity prilagodjen tipu diska. flush_at_trx_commit=2 za 10x brzi INSERT.
🔧 Retention boost — batch velicina povecana s 5,000 na 50,000 redova. SDS sada brise i archived/error/cancelled komande, ne samo done. node_commands, network_connections ukljuceni u rotaciju.
🔧 System Tuner fix — node_commands preporuka sada pravilno brise sve zavrsene statuse. Gunicorn preporuka ogranicena na max 2 workera (sprijecava CPU freeze).
🔍 Hunt Query Builder — novi tab za ad-hoc pretragu logova. Filteri: node, servis, level, tekst (LIKE), regex (MySQL REGEXP), MITRE ID, vremenski raspon. Grupiranje po servisu, nodu, satu ili MITRE tehnici s vizualnom distribucijom. Count mode za brze provjere bez dohvata podataka.
🛡 VirusTotal integracija — SDS worker automatski provjerava FIM hasheve protiv 70+ antivirusnih engine-a. VT badge u FIM panelu (crveni za malware, zeleni za cist). VT score integriran u AegisGOD threat scoring. API ključ u Postavke → Sigurnost. Rate limit: 4 req/min (free API).
🧠 ADA per-user anomalije — prošireno s per-node na per-user: 3 metrike (user_fail_freq, user_active_hours, user_node_spread) + 3 anomalije (User Login Spike, Neuobičajeno Vrijeme, Lateralna Kretnja). AegisGOD scoring integracija. Filtriranje po korisniku u ADA tabu.
📈 ADA baseline grafovi — 24h heatmap bar chart u ADA tabu. Odabir noda ili korisnika, metrika (alert freq, login fail, user fail). Vizualizacija avg ± stddev po satu. Boje prema intenzitetu (plava/narancasta/crvena).
🔧 SDS IP parsing fix — Barracuda srcIP= pattern dodan (IPv4+IPv6), IIS W3C client IP ekstrakcija, user= pipe delimiter fix. Alarmi iz Barracuda i IIS logova sada imaju pravilno popunjen izvorni IP.
🔧 Status bar fix — klikabilni badge-ovi (CVE, reg. fail, EOL) sada rade — titleNodes premješten prije onclick, HTML-escaped JSON u atributima.
🔧 Microsoft PKI FP — SDS exclusion za PowerShell Download Cradle pravilo — Microsoft certifikat operacije više ne triggeriraju lažne alarme.
🛡 285 aktivnih pravila, 121 MITRE tehnika — kompletni overhaul detekcijskog sustava. Dodano 80+ novih pravila: LOLBins (mshta, rundll32, regsvr32, certutil, bitsadmin, cmstp), ransomware lanac (7 pravila), AD napadi (Kerberoasting, DCSync, Golden Ticket), credential theft (NTDS, browser, DPAPI, /etc/shadow), process injection, anti-forensics, masquerading, lateral movement, Linux post-exploitation, email BEC.
🛡 WAF 21 pravilo — 9 novih: XXE, SSTI, CRLF Injection, Shellshock, NoSQL Injection, Java Deserialization, Open Redirect, HTTP Method Override, Malicious Bot. Sva pravila dobila service_pattern filter za preciznije matchiranje (httpd|IIS|nginx|apache).
🧠 ADA Anomaly Engine — 6 tipova anomalija — prošireno s 2 na 6: alert_spike, login_fail_spike, traffic_volume, alert_diversity (multi-vector), new_country, new_service. Z-score bazirana detekcija s Welford algoritmom za baseline.
🔗 Attack Chain Korelacija — novi worker detektira 6 napadackih lanaca: Web Exploit→Shell→Execution, Brute Force→Success→Lateral, PowerShell→Evasion→Credential Theft, Ransomware Kill Chain, BEC Email Compromise, Recon→Exploit→Persistence. Chain alarm se prikazuje u Alarmima, ADA i AegisGOD.
💻 AegisGOD proširen — threat scoring sada koristi 6 ADA signala (new_country, alert_spike, multi_vector, login_spike, traffic_anomaly, ATTACK_CHAIN). Max ADA doprinos: 35 bodova. ADA badge vidljiv u Intelligence tabu.
🔍 Pokaži sve logove — novi gumb u detaljima alarma otvara fullscreen modal sa svim logovima (do 2000), pretragom po ključnoj riječi (lokalni + server-side filter), MITRE tag highlight.
🔧 RDP Brute Force → Success — fail→success korelacija: 4625 failovi pa 4624/1149 uspjeh s istog IP-a = critical alarm. Tolerantni regex za različite Windows log formate.
🔧 service_pattern pipe fix — SDS engine sada ispravno parsira pipe-separated service_pattern (OR logika). Eliminira FP od PowerShell CDXML modula na WAF/NoSQL/LDAP pravilima.
🔧 Tuning pass — auto-block policy normalizacija (31 pravilo), severity uskladi, duplikati analizirani, SDS exclusion za SOC API Barracuda login.
📦 Install seed — 173 extended pravila — novi install dobije kompletni detection stack od prvog pokretanja (seed_extended_rules.json).
10.04.2026 (v2)CVE skeniranje fix, Web server log auto-detekcija, Forenzika logova, Servisi panel redizajn
🐛 CVE skener — Ubuntu/Debian ekosistem fix — Ubuntu sustavi su greškom koristili Debian ekosistem za OSV.dev upite, što je generiralo stotine lažnih ranjivosti. Fix: ispravna detekcija Ubuntu ekosistema, dinamicko parsiranje codename-a iz os_full stringa. Rezultat: dbaelektro.hr 206 → 5 ranjivosti.
🛡 CVE enrichment — Debian vendor tracker — riješen problem gdje se ranjivosti nikad nisu označavale kao "patched" na Debian nodovima. Uzrok: enrichment se nije pokretao za vulne s NULL vendor_status. Fix: re-enrichment i za restore-ane vulne. Rezultat: www 4/5 CRITICAL → patched.
🗃 AlmaLinux — ALBA/ALEA filtriranje — bug fix i enhancement advisories (ALBA, ALEA) više se ne prikazuju kao sigurnosne ranjivosti. Samo ALSA (security) ostaje. hosting.bu.hr: 1424 → 1131 ranjivosti. Dodan CVSS v3 vektor parser za točnu kategorizaciju severity-ja.
🌐 Web server auto-detekcija logova — agent automatski pronalazi i prati error.log/access.log za nginx, Apache, httpd, LiteSpeed, Caddy i lighttpd. Uključuje per-domena vhost logove na cPanel serverima. Putanje se šalju u heartbeatu — nema hardkodiranja, agent detektira stvarne lokacije.
⚙ Servisi panel redizajn — spojen s praćenim log izvorima u jedinstveni pregled. Svaki servis prikazuje: status, toggle za praćenje, stvarnu putanju loga na nodu (ne na kolektoru), broj logova u 24h i broj grešaka. Auto-detected file logovi se grupiraju pod pripadajući systemd servis.
🗃 Forenzika logova — globalna postavka — toggle u Postavke → Sustav za uključivanje/isključivanje disk JSONL logova. Kad je OFF, logovi se i dalje čuvaju u bazi (detekcija, GUI, alarmi rade normalno), ali se ne pišu na disk. Prikazuje disk zauzece.
🚀 Agent v1.5.60 — web server auto-detekcija, ACTIVE_FILE_PATHS tracking u heartbeatu, audit trail za promjene log izvora.
10.04.2026SDS stabilnost, DAM MySQL audit, Investigate poboljšanja, Status bar fix
🐛 SDS crash loop fix — riješen problem gdje je SDS padao 6 puta u 2 sata. Uzrok: main loop zaglavljen 300+ sekundi bez heartbeata. Fix: heartbeat svakih 50 evaluacija, pre-cache blokiranih IP-ova (eliminira stotine LIKE skenova na 103K+ redova), datetime naive/aware fix u alert aging workeru.
🗃 DAM MySQL/MariaDB audit — potpuno redizajniran MySQL audit tail u agentu. 6 metoda autentikacije (socket, debian.cnf, mariadb CLI, root), auto-discovery general_log fajla (config parsing, hostname-based, datadir scan), fix za relativne putanje. Noise filter za WordPress cache operacije (transient, cron, WooCommerce).
🗃 DAM MSSQL poboljšanja — filtrirane ReportServerTempDB reciklirajuće poruke iz DB logova. Compliance check sada koristi OR logiku za sve keywordse (ne samo prvi). MSSQL Backup prepoznaje event [18265], Maintenance Plan i SQLISPackage.
📄 Alert log mapiranje — FIM i no-IP alarmi više ne prikazuju nepovezane logove (npr. Dovecot TLS errore umjesto FIM promjene). Pametni fallback: notes/trigger_log kao kontekst.
🔍 Investigate poboljsanja — smanjen broj lažnih pozitiva. admin-ajax.php, wp-content staticki resursi i revslider CSS/JS više se ne označavaju kao admin pristup ili exploit. Dodana whitelist legitimnih botova (Google, Facebook, TikTok, Twitter, LinkedIn, Pinterest, Apple).
📊 Status bar fix — EOL badge sad prikazuje točan broj (4 umjesto 1). Klik na notifikaciju navigira na specifični node. Tooltip prikazuje imena pogodenih nodova.
🔗 Klikabilni alarmi u block historiji — #alertID u tablici block komandi sada otvara puni alarm detail s kartom, logovima i investigacijom.
🛡 FortiGate write test — automatski čisti stale test objekte prije provjere. Više neće trajno označiti readonly zbog HTTP 500 na duplicate entry.
⚙ Ogma gunicorn — prebaceno s čistog uvicorn (1 worker) na gunicorn s 2 workera, ista konfiguracija kao kolektor.bu.hr.
🚀 Agent v1.5.57 — deployjan na svih 16 Linux agenata. Sadrži sve DAM fixeve.
📅 Starije novosti (09.04.2026 i ranije)...
09.04.2026 (v3)Barracuda REST API istraživanje: commit endpoint, DNAT, management IP allowlist
🔍 Pronadjen /rest/config/v1/commit endpoint — OPTIONS vraca Allow: OPTIONS, POST, ali POST trazi token u body-u (ne API token — vjerojatno session token). Pokusaj s API tokenom vraca 404 "Token not found". Istrazujemo kako se generira session token za commit. Do tada, promjene preko REST-a (PUT/POST network objekta) traze rucni Send Changes → Activate u Firewall Admin GUI-u.
🛡 Management IP allowlist workflow — za dodavanje novih admin source IP-ova na Barracudi koristi se network objekt Management-OGMA (ili analogan na drugim kutijama). Aegis moze dodati IP u objekt preko PUT, ali promjena zahtjeva ručnu aktivaciju. Dokumentirano u Uputama.
🗑 Full BARICA-RW config dump — script _barica_dump.py (locally u C:\aegis\) povlaci sve sto REST dopusta: box info, network IPs, sessions, admins s rolama, svi network/service/connection objekti. Korisno za diagnostiku kad rules API ne radi. Rezultat se sprema u /tmp/barica_dump.txt.
🔐 Rules API definitivno nije dostupan na CGW vf1000 — provjera svih mogucih pathova (probano 60+) potvrdjuje da /rest/config/v1/forwarding-firewall/rules vraca 409 "Rule API not available for policy driven rulesets!". Sve sto prolazi su objects/networks, objects/services, objects/connections (source NAT). DNAT i rules se moraju raditi rucno kroz Firewall Admin GUI (ili centralizirano preko ESM-a).
💾 Backup prije refactor-a — kompletni backup svih deployanih fajlova + 2.9 GB MySQL dump baze socOgma na ogma, preuzet lokalno u C:\aegis\_backup_20260409_180338\. Restore procedure dokumentirana u memoriji.
09.04.2026 (v2)Dual-list model (Blocked/Manual) po child nodu, 4-state write_state, Tenant move, Self-healing sync
🛡 Dual-list block model na sva 3 FW tipa — po child nodu dvije odvojene liste na parent firewallu: Aegis-Blocked-<NodeName> (automatski blokovi: SDS auto-block, Geo-block, Alert-driven) i Aegis-Manual-<NodeName> (rucni blokovi iz GUI-a). Korisnik napravi 2 rule-a po child nodu na boxu koristeci ta 2 objekta kao source. Isti princip na Barracudi (network objects), MikroTiku (address-lists) i FortiGate-u (addrgrps). Unblock uklanja IP iz OBJE liste odjednom.
🔒 4-state write state detection — umjesto binarnog FULL/RO sad imamo 4 stanja: full (Manager role potvrden), readonly (token autoriziran ali nema Manager rolu), no_access (401/403 — token revokan, peer IP restrikcija, admin disabled), unreachable (timeout/connection refused). Badge boje: zelena / crvena / narancasta / siva. Tooltip pokazuje admin ime, role, vrijeme provjere.
🔎 Non-destructive write probe — Barracuda write detection sada koristi GET /rest/config/v1/box/admins/<name> + provjera "Manager" role u roles array-u umjesto kreiranja test objekta. Radi bez configuration lock-a, bez audit traga na boxu, bez lock kolizija s drugim admin sesijama.
⚙ Self-healing object sync worker — svakih 10 min iterira sve child nodove koji imaju parent appliance FW i osigurava da oba (Blocked/Manual) lista/objekta postoje. Ako je box bio offline pa dodje online — catch-up automatski kreira nedostajuce. Idempotentno, bez duplikata.
💻 Appliance block worker fix — sada pokupi i pending i acked komande (barracuda-collector heartbeat endpoint markira pending komande kao acked ali ih ne izvrsava — bez ovog fix-a auto/geo blokovi na Barracudama ostali bi zaglavljeni).
🗐 Tenant move endpoint — POST /api/admin/nodes/{id}/move-tenant s pre-check blokerima: alert_events, node_commands, node_logs, fw_command_log. Ako postoji bilo koja povijest, vraca 409 s porukom "dekomisioniraj i dodaj ponovno". Ako je čisto, mijenja samo nodes.tenant_id + audit event tenant_move s razlogom. Superadmin only.
📋 Auto-create forwarding rule na Barracudi — pri prvom block-u na novi Aegis-Blocked-X ili Aegis-Manual-X objekt, Aegis pokusa POST na /rest/config/v1/forwarding-firewall/rules. Radi na classic CGF, na policy-driven CGW vf1000 vraca 409 i markira policy_driven=true da vise ne pokusava (korisnik mora rucno napraviti rule).
🛟 Auto-fill block_delegate za sve child nodove — bulk update svih nodova koji imaju parent_node_id prema appliance FW: postavlja block_delegate=1. Plus auto-set u patch_node kad se parent_node_id promijeni na appliance FW. 17 postojecih nodova automatski dobilo delegaciju.
🌃 Lock collision detection — 409 s porukom "Cannot lock / colliding lock / another session" se tretira kao TRANSIENT (drugi admin sesija edit-a box), NE kao permission error. Ne markira node kao readonly, caller-u javlja "pokusaj kasnije". Chicken-and-egg write probe fix — uklonjen early-return na cached readonly flag pa state moze recover-ati.
👁 GUI write state badge + tooltip — u tablici nodova i detail panelu za sve appliance FW-ove. Tooltip: Admin: <imena> | Roles: <uloge> | Provjereno: <timestamp>. Za readonly/no_access/unreachable stanja, tooltip pokazuje razlog.
🛡 Barracuda CloudGen WAN block podrška — policy-driven CGW/CGF appliance (vf1000, GWAY-*) nemaju klasični Rules REST API. Aegis sad blokira preko per-podnode network objekata Aegis-Blocked-<NodeName> kroz /rest/config/v1/forwarding-firewall/objects/networks. Auto-create pri prvom blocku, placeholder 192.0.2.1 kad je lista prazna (Barracuda zabranjuje empty included). Korisnik na boxu jednokratno napravi pravilo Source = Aegis-Blocked-<NodeName> → Block; Aegis dalje sve radi sam.
🛡 Univerzalni block flow s delegacijom — manual block, alert-driven, geo-block i auto-block sad svi prolaze kroz isti _resolve_block_target → _execute_appliance_block path. Linux/Win nodovi koji imaju parent appliance FW i block_delegate=1 automatski delegiraju blokove na parent. Globalni block_delegate_enabled sad default-ON (samo eksplicitno 0 ga gaša).
⚙ Appliance block worker — novi background worker (svake 20s) pokupi pendingblock_ip/unblock_ip komande na appliance nodovima i izvrši ih kroz REST. Bez ovog SDS auto-block i geo-block na delegirane Barracude/MikroTike/FortiGate-ove ostali bi zalijepljeni u redu.
🔒 Auto-detect read-only API tokena — ako Barracuda/FortiGate/MikroTik vrate 401/403/permission denied na write, node se automatski označava readonly: true u appliance_config, vraca se jasna poruka korisniku, GUI prikazuje crveni RO badge. Kad admin podigne ovlasti tokena, prvi sljedeći uspješni write automatski očisti flag. Novi endpoint /api/admin/nodes/{id}/block-capability za GUI da unaprijed zna može li node blokirati.
📁 Per-node FW block view — "Osvježi s noda" (Firewall pravila po nodovima) za delegirani Linux/Win node sad gore prikazuje sekciju === Blokirano na barracuda 'BARICA-RW' za 'NODE_NAME' === sa živim popisom IP-ova s parent FW-a, pa tek onda lokalni iptables. Pretraživanje povijesti blokova po nodu (/api/admin/blocks?node_id=X) također enrich-a s živim FW podacima — sve što je na firewallu a nije u Aegis trackingu se prikazuje s tagom fw_live.
🔑 FW badge u tablici nodova — nodovi koji delegiraju blokove sad pokazuju ⛃ iptables (faded) → 🛡 Barracuda BARICA-RW umjesto samo lokalnog FW tipa. Vidi se odmah koji firewall je ispred i njegov naziv.
🐛 FIM bug fix Linux agent v1.5.51 — _fim_scan() referencirao FIM_EXCLUDE koji je bio lokalan u main() → NameError tiho proguran u except: pass → last_fim nikad nije ažuriran → 0 FIM scanova od 30.03. Fix: module-level globali. Deploy preko AegisUpdate na svih 38 Linux nodova, 0 crash loopova. Windows agent v1.5.84 dobio analogni cleanup.
📋 CIS audit fix Linux agent v1.5.52 — tri klase lažnih pozitiva: cmd || echo X ispisivao oboje, pipefail je grep | awk uvijek vraćao 0, oktalne permisije se uspoređivale kao decimalne. Novi shell ops oct_max + in_set.
🛡 CVE per-distribution enrichment — _distro_check_vuln sad fetcha Ubuntu USN (https://ubuntu.com/security/cves/{cve_id}.json) i Debian Security Tracker (full JSON dump cached 6h) i prepoznaje distro-specific backportove (npr. Ubuntu noir-security backport koji OSV ne vidi). Nove kolone node_vulns.vendor_status, vendor_fix_version. CVSS severity parser fix — CVSS:3.1 vector string više se ne tumači kao score "3.1" (bila je sva pravila LOW).
📊 Telemetrija net_bytes normalizacija — appliance kolektori šalju kumulativne bajtove, agenti šalju B/s rate. Heartbeat handler sad razlikuje per fw_type: za appliance računa rate iz delta/elapsed, za agente koristi rate direktno. Inventory endpoint više ne piše node_telemetry NULL duplikate.
🔐 aegis.hr stranica — cijene unificirane s landing.html, gramatika ispravljena (puni hrvatski s dijakritikom), dodani križni linkovi između SIEM/SOC/NIS2/WAF/MSSP podstranica, OIB popunjen, teme bijeli text na Zatražite demo gumbu.
07.04.2026DAM UX kompletni redizajn, MySQL Audit Toggle
🗃 DAM kompletni redizajn — potpuno nova navigacija u dva nivoa. Nivo 1: kartice svih DB nodova s engine badgeovima (MSSQL, MySQL, MariaDB, PostgreSQL, MongoDB), compliance statusom, brojem alarma i logova. Nivo 2: klik na karticu otvara drill-down s alarmima, logovima i compliance provjerama za taj specifican node.
🗃 MSSQL baze parsirane — za MSSQL nodove prikazuju se detektirane baze podataka (master, msdb, ReportServer, korisnicke baze). Izvlace se automatski iz logova.
🔓 MySQL Detaljni Logging — novi toggle switch vidljiv na MySQL/MariaDB nodovima u drill-downu. Kad je ukljucen, agent aktivira MySQL general_log i salje opasne operacije (DROP DATABASE, DELETE, TRUNCATE, GRANT, CREATE USER, ALTER TABLE) kao logove u sustav. Kad je iskljucen, agent prati samo standardne MySQL error logove.
📋 Compliance per-node — compliance provjere (backupi, CHECKDB, maintenance) sada filtrirane po nodu u drill-downu. Auto-detect i rucno dodavanje provjera radi per-node.
📊 Novi API endpoint — /api/admin/dam/nodes vraca grupirani pregled svih DB nodova s engine tipovima, alert brojevima, compliance statusom i MySQL audit flagom.
🔧 DB Connection Pool — pool povecen na 30 konekcija (15+15) za stabilnost kod istovremenog azuriranja vise agenata.
🔧 Agent registracija — agent vise ne moze preimenovati node. Samo admin moze promijeniti ime noda kroz GUI. Sve promjene imena logiraju se u audit trail s detaljima (staro ime → novo ime).
06.04.2026 (v3)Report Builder drill-down, DAM nadogradnja, Performance panel, FP popravke
📊 Report Builder potpuno preradjen — grupiranje po datumu/IP/nodu/pravilu sad prikazuje detalje ispod svake grupe: IP adresa, pravilo, node, severity, broj pokusaja, trajanje napada, MITRE ID. Klik na grupu otvara/zatvara detalje.
🗃 DAM 11 novih pravila — prilagodjena za cPanel/MySQL (Access Denied, Connection Aborted, Crash/Restart), PostgreSQL (Auth Failure, DDL Change, Fatal Error, Warning), MSSQL (Login Failed, Service Event), phpMyAdmin Probe, cPanel DB Auth.
⚡ Performance panel — Postavke → Sustav → novo: prikaz CPU, load, broj workera, preporuka za skaliranje (1-16 workera), spremi i restartaj iz GUI-a. Superadmin only.
🚫 Error Log panel — Server Status tab sad ima tablicu svih API gresaka u realnom vremenu. Svaki HTTP 500 se automatski logira u bazu. Filter po satima, top endpoints. Superadmin only.
🚫 SDS FP popravke — dodane iznimke za Exchange HealthMailbox (interni health probe), Bitdefender DNS lookup, Exchange OWA interno, PostgreSQL collation HINT. Ovi false positivi se vise ne pojavljuju.
🔧 SDS stabilnost — popravljen crash uzrokovan db.commit() u detekcijskoj petlji (lock contention). Commit premjesten na kraj ciklusa. Logger NameError popravljen (crashirao cijeli SDS ciklus).
🔧 PDF Job download — file-bazirani job storage umjesto in-memory dict. Rjesava race condition kod 2+ gunicorn workera.
🔧 Alert Explain fix — popravljeno: gumb "Objasnjenje" na alarmima je vracalo 500 error jer je referencirao nepostojeci stupac severity na alert_events tablici. Sad koristi ar.severity iz alert_rules.
📦 Content Packs fix — aktivacija content packova crashirala jer INSERT u alert_rules nije imao created_at. Popravljeno.
🐛 VULN Scanner fix — skeniranje ranjivosti crashiralo na svim nodovima zbog UnboundLocalError na varijabli _os. Popravljeno — _os se sad inicijalizira prije uvjetnog bloka.
🗃 SDS Retention fix — cistenje starih logova failalo svaki ciklus jer MySQL ne podrzava LIMIT u multi-table DELETE. Query preradjen na single-table sintaksu.
🗏 SIEM Activity Dashboard — novi pregled kad otvorite SIEM tab: stat kartice (ukupno/critical/high/medium/unique IP), timeline aktivnosti po satu, top napadaci s klik-za-trace, zadnjih 50 dogadaja. Filtri po severity-u i nodu. Više ne morate znati IP da vidite što se događa!
🗃 Database Activity Monitoring (DAM) — novi modul za praćenje aktivnosti na bazama podataka. 7 novih pravila: DB Login Failed, Privilege Escalation, Bulk Delete/Truncate, Schema Changed, Backup/Export, User Created/Modified, Sensitive Data Access. Novi DAM tab u Sigurnost meniju.
🧠 ADA/UEBA Fix — popravljeni baseline izračuni (Welford algoritam za running stddev), fix Decimal/float type error koji je blokirao detekciju. Sad 674+ baselina ima ispravni stddev, 22 anomalije detektirane u 24h.
💡 Alert Explain za sva pravila — svih 174 pravila sad imaju detaljno objašnjenje i preporuke. Kliknite "Objašnjenje" na bilo kojem alarmu za kontekstualni opis što alarm znači i što napraviti.
📦 Content Packs proširenje — kreiranje novih custom packova iz GUI-a, brisanje packova, dodavanje pravila u postojece packove.
📊 Report Builder zakazivanje — novi "Zakaži slanje" gumb koji kreira scheduled report iz Report Builder parametara (dnevno/tjedno/mjesečno).
💬 Claude Chat uklonjen — chat sekcija maknuta iz Licence taba (poll bio disablan, sad i UI uklonjen).
📋 Menu dropdown fix — dropdowni se automatski flipnu prema gore kad su blizu dna ekrana (više ne reže na Webhooks i drugim tabovima).
🗃 DB Connection Pooling — pool_size smanjen na 10+10 (umjesto 20+20) za stabilniji rad s više workera.
05.04.2026AegisGOD Full Actions, Telegram/WhatsApp/Signal, Security Fixes
⚡ AegisGOD nadogradnja — Block/Unblock/Case/Resolve/Whitelist akcije direktno iz GOD panela, bulk akcije za vise IP-ova, Export PDF Threat Report
✈ Telegram integracija — novi NMS kanal, alarmi i obavijesti direktno u Telegram grupu/chat
💬 WhatsApp integracija — novi NMS kanal preko Meta Cloud API (WhatsApp Business)
🔒 Signal integracija — novi NMS kanal preko signal-cli REST API
📁 Case iz Alarma — novi "Otvori Case" gumb u alarm detail modalu
👤 Case Assignment — dropdown za dodjelu case-a korisniku u case detail
🛡 WAF mode fix — sprema se ispravno pri promjeni Protect/Monitor
💻 Windows Auto-Channel — proaktivno dodavanje MSSQL/Exchange/RDP/Defender/IIS/Veeam kanala
📊 UEBA/ADA aktivirano — behavioral baselines i anomaly detection ukljuceni
⏰ Alert Aging aktiviran — automatska eskalacija nerijesenih alarma nakon 7 dana
04.04.2026SOAR Case Management, NMS SMS/Poziv, Vuln Trending, Auto-Channel
🛡 WAF — Web Application Firewall — kompletna implementacija agent-based WAF-a. 12 OWASP pravila (SQLi, XSS, Path Traversal, Command Injection, LFI/RFI, Scanner, WordPress, Shell Upload, Log4Shell, SSRF, Config Exposure). Rate limiting (100 req/min default, 10 za login). 3 moda: OFF/MONITOR/PROTECT. Recidiv logika (2x, 24h, permanentno). Globalni toggle u Postavkama. Per-node konfiguracija u detaljima noda. WAF tab s karticama, per-node/tenant filterima, top napadaci, top pravila, events tablica. NMS email notifikacije za WAF blockove. WAF alarmi vidljivi u Alarmi tabu. Agent v1.5.44 (Linux) i v1.5.80 (Windows).
🛡 Block Delegate — nodovi koji ne mogu sami blokirati (Windows s Bitdefenderom, ugasen FW) sada delegiraju blokiranje na parent firewall (MikroTik, FortiGate, Barracuda). Blokiranje se izvrsava ODMAH putem API-ja. Per-child address liste na firewallu (aegis_NodeName) osiguravaju da se blokira samo promet za taj node. FW pravilo automatski na poziciji #0. Sinkronizacija svakih 10 min. Globalni toggle u Postavkama + per-node checkbox. Write test pri ukljucivanju. Alarmi prikazuju origin node (ne FW), badge "via FW", block povijest u detaljima, badge "Bilo blokirano" za prethodno blokirane. ESC tipka zatvara sve modale. Dekomisioniranje automatski cisti FW pravila.
📄 SOAR Case Management — novi Cases tab za upravljanje sigurnosnim slucajevima. Kreiranje case-a iz alarma ili rucno, dodjela odgovornoj osobi, severity/priority, workflow (open → in_progress → escalated → resolved → closed), timeline sa komentarima, rezolucija. Export PDF/XLSX.
📱 NMS SMS i Voice pozivi — Infobip i Twilio SMS gateway potpuno implementiran. Voice pozivi (Twilio TwiML, HR glas). Automatska SMS eskalacija kad alarmi ostanu nerijeseni. Test SMS i Test poziv gumbi u Postavkama. Konfiguracija u NMS Gateway sekciji.
📈 Vuln Trending + Patch Score — novi panel u Ranjivosti tabu: ukupni patch score (%), per-node patch scoreovi, trend ranjivosti kroz vrijeme (30 dana).
💻 Windows Auto-Channel Enrollment — pri prvom inventory-ju Windows agenta automatski se ukljucuju kljucni Event Log kanali: Security, Application, System, PowerShell. Ako je MSSQL/RDP/Defender detektiran, ukljucuju se i njihovi kanali.
📣 Novosti auto-prikaz — modal pri loginu prikazuje najnovije promjene koje korisnik jos nije vidio. Gumb "Pogledaj sve" otvara Novosti tab.
🔧 Decommission async — brisanje podataka noda nakon uninstalla sada ide u background thread s progress barom. Nema vise timeout-a za velike nodove.
🛡 Web Admin Probe FP fix — ispravljeno pravilo za Web Admin Probe — HTTP 200 na wp-login.php vise nije "success". Pravi uspjesni login = POST → 302 redirect. 699 laznih success zapisa ocisceno iz baze.
📋 SVE tablice sortabilne — 40+ tablica dobilo sortabilnost. Export PDF/XLSX dropdown na svim glavnim tablicama.
03.04.2026 (v3)Decommission Fix, LAN IP za Windows, IP Copy, Toast UX
🔧 Decommission Fix — dekomisioniranje nodova sada ispravno radi i kad korisnik odabere zadrzati logove/alarme. Prethodno bi proces stao na 90% zbog FK constrainta. Sada se cistie SVE povezane tablice (FIM, paketi, ranjivosti, registry checkovi, FW log) prije brisanja noda. Poboljsano praenje gresaka umjesto tihog pada.
🌐 Windows LAN IP — Windows agenti (v1.5.79) sada salju network interfaces u inventory. LAN IP adrese se prikazuju u tablici nodova i detaljima noda, jednako kao na Linux nodovima. Ispravljeno: AF_INET6=23 za Windows umjesto 10 (Linux).
📋 Copy gumb uz IP adrese — svaka IP adresa (javna i lokalna) u tablici nodova, detaljima noda i IP popup-u ima mali copy gumb. Klik kopira adresu u clipboard, gumb kratko pokaze kvacicu kao potvrdu.
🔔 Dulje obavijesti — toast obavijesti (zeleni/crveni baloni u donjem desnom kutu) sada traju 30 sekundi umjesto 4 sekunde, dajuci dovoljno vremena za citanje poruke.
🔧 IP popup X gumb fix — popravljen bug gdje bi klik na X gumb u IP adresa popup-u uklonio samo naslov umjesto cijelog prozora, ostavljajuci "ghost" popup s listom adresa.
🧠 ADA — Analiza Digitalnih Anomalija — novi modul za automatsku detekciju anomalija u ponasanju nodova. SDS worker svakih 4 sata gradi behavioralne baseline per node (prosjek alarma po satu, login pokusaji). Detektira spike-ove alarma (z-score > 3 sigma) i napade iz novih zemalja (nisu vidjene zadnjih 30 dana). Novi ADA tab u Security meniju s karticama (anomalije 24h/7d, kriticne, nodovi s baseline), tablicom detektiranih anomalija i filterom po periodu. Ukljucivanje u Postavke → ADA → Omoguceno.
🔒 FW Governance refaktor — spojen Firewall Command Governance (FCG) panel u Firewall pravila po nodovima (FPPN). Governed block/unblock s razlogom, preview komande, TTL i audit trail sada integrirani u jednom panelu. FCG duplikat uklonjen.
📄 Security Report: Ranjivosti + Registry + EOL — PDF Security Report sada per-node ukljucuje: OS ranjivosti (CVE/MSRC sa CVSS score, severity, fix), Registry/CIS security provjere (neuspjele s ocekivanom vs stvarnom vrijednosti), EOL status operativnog sustava. Nova sekcija "Ranjivosti i sukladnost" u PDF-u.
🐧 AegisUpdate za Linux — isti koncept kao Windows AegisUpdate: zaseban systemd servis (kolektor-updater) koji je UVIJEK aktivan. Polling svakih 30s, moze restartati/updateati/rollbackati agenta remotely. Crash loop zastita: 3 pada u 5 min = automatski rollback na prethodnu verziju. Koristi samo Python stdlib (nema external dependency). Auto-install: agent pri startu provjerava postoji li updater i automatski ga instalira ako nedostaje. StartLimitIntervalSec=0 znaci da systemd nikad ne odustaje od restartanja updater-a.
🔧 Uninstall Fix — Linux: sad cisti iptables KOLEKTOR pravila prije brisanja. Windows: sad mice i KolektorUpdate (AegisUpdate) servis + scheduled task, ne samo KolektorAgent.
🔄 Dashboard Auto-Refresh — node kartice na dashboardu se automatski azuriraju svakih 60 sekundi. Online/offline badge, verzija agenta, sve se refresha bez potrebe za rucnim F5.
📋 Security Audit naming — Linux nodovi sada prikazuju "CIS Security Audit" umjesto "Registry Audit". Email obavijesti isto koriste ispravan naziv ovisno o OS-u.
🔎 CISA KEV Worker — novi SDS worker svakih 6h automatski osvjezava CISA KEV katalog i retroaktivno oznacava CVE-ove.
🔍 Globalni CVE Rescan — gumb u Ranjivosti tabu pokrece scan na svim online nodovima odjednom.
💾 NAS-Aware Install — automatska detekcija Synology i QNAP NAS uredaja. Agent se instalira na persistent storage (/volume1/ za Synology, /share/CACHEDEV1_DATA/ za QNAP) umjesto /opt/ koji NAS brise pri rebootu. Symlink, boot repair skripta, backup service fajlova.
🔧 Venv Self-Repair — agent pri startu automatski detektira nedostajuce Python pakete i instalira ih. Rjesava problem s broken venv nakon NAS migracije.
🌐 LAN IP + OS Full — Linux agent salje network interfaces u inventory. GUI prikazuje kompletni OS naziv (Synology DSM 7.x, Ubuntu 24.04 LTS, AlmaLinux 9.7...) i NAS ikone (💾) umjesto generickog "linux". Agent v1.5.43, Windows v1.5.78.
03.04.2026CIS Benchmark Compliance, Linux SCA Engine
📋 CIS Benchmark Windows — prosireno sa 30 na 62 sigurnosne provjere bazirane na CIS Windows Server Level 1. Nove kategorije: Account Policies (password length/complexity/lockout), NTLMv2 & SMB Signing, LDAP Signing, Security Options (auto admin logon, anonymous enum, cleartext passwords), RDP Hardening (idle/disconnect timeout, NLA), Advanced Audit (event log velicine), DEP/SEHOP/Spectre mitigacije, Services (telnet/FTP/SSDP/UPnP/Remote Registry), TLS/SSL/RC4 kontrole, Windows Update konfiguracija.
🐧 CIS Benchmark Linux — potpuno novi Linux SCA engine sa 42 CIS-derived provjere. Pokriva: SSH hardening (8 checkova: PermitRootLogin, MaxAuthTries, EmptyPasswords, X11, Idle timeout), Network sysctl (7: IP forwarding, ICMP redirects, SYN cookies, reverse path filtering), Filesystem permissions (5: /etc/passwd, /etc/shadow, crontab, sshd_config), Accounts (5: UID 0 audit, empty passwords, sudo group, guest), Services (6: telnet, rlogin, avahi, fail2ban, auditd), Logging (3: syslog, wtmp, btmp), PAM/Password (4: umask, max/min age, min length), Kernel (3: ASLR, core dumps, dmesg restrict). Automatski se pokrece svakih 6 sati + rucno kroz komandu "security_audit".
📊 Compliance Dashboard — novi tab u Admin meniju. Ukupni compliance score (%), kartica pass/fail/info, breakdown po kategoriji s progress barovima, tablica per-node scores, detaljna tablica svih neuspjelih provjera. Filtriranje po tenantu. CSV export kompletnog izvjestaja.
🛡 Agent Crash Protection — svi novi feature-i (SNMP, SCA, security audit) sada su potpuno izolirani unutar agenta. Ako bilo koji feature padne, agent nastavlja normalno raditi. Timer se postavlja PRIJE operacije da sprijeci retry storm. Svaki error se logira kao WARNING za dijagnostiku bez utjecaja na rad agenta.
📤 Syslog Receiver — Linux agent moze primati syslog poruke od mreznih uredaja na UDP portu (default 1514). Uredaji salju syslog na IP agenta, agent parsira RFC 3164 format i prosljeduje na server kao logove. Konfiguracija u Postavke → Sustav: toggle ON/OFF, port podesiv. Port 514 zahtijeva root — preporuceno 1514 s iptables redirect.
🔎 CISA KEV Periodicni Refresh — novi SDS worker svakih 6 sati automatski osvjezava CISA Known Exploited Vulnerabilities katalog i retroaktivno oznacava postojece CVE-ove kao exploited.
🔍 Globalni CVE Rescan — gumb "Globalni Rescan" u Ranjivosti tabu pokrece vulnerability scan na SVIM online nodovima odjednom (Windows WU + Linux OSV). Agent v1.5.39 (Linux), v1.5.77 (Windows).
02.04.2026 (v3)SNMP Auto-Discovery, Sigma Rules, Export, IP prikaz
📡 SNMP Auto-Discovery — novi sustav za automatsko otkrivanje mreznih uredaja putem SNMP protokola. Agent-based arhitektura: admin konfigurira SNMP community stringove per tenant u Mreznom Skeneru, agenti primaju konfiguraciju kroz heartbeat i skeniraju lokalnu mrezu koristeci snmpget/snmpwalk. Prikupljaju se: sysName, sysDescr, sysUpTime, sysLocation, sysContact, interface tablica. Mrezni uredaji (switchevi, routeri) otkrivaju dodatne uredaje iz svojih ARP tablica. Konfigurabilni interval skeniranja (5min-1h). Rezultati se prikazuju u prosirenj Otkriveni uredaji tablici sa SNMP stupcem. SDS fallback za uredaje nedostupne agentima (pysnmp-lextudio).
📜 Sigma Rules Engine — import i upravljanje Sigma pravilima za detekciju prijetnji. Automatski seed ~30 kuriranih pravila iz SigmaHQ repozitorija pokriva: Mimikatz, DCSync, SAM dump, WMI/WinRM lateral movement, AMSI bypass, registry persistence, DLL side-loading, Linux reverse shell, crontab modifikacije, SUID/SGID, SSH authorized keys, DNS tunneling, Tor detekcija, SQL injection, XSS, Log4Shell, MikroTik/FortiGate login failure i config change. Svako pravilo mapirano na MITRE ATT&CK. YAML import za custom pravila. GUI sekcija u Pravila tabu sa statistikama, tablicom, toggle per pravilo, CSV export.
🌐 Kompletni IP prikaz — svaki node sada prikazuje sve IP adrese organizirane u 4 kategorije: javne IPv4, privatne IPv4, javne IPv6, privatne IPv6. U tablici nodova i u detaljima noda prikazuje se prva adresa s "+N vise..." linkom. Klik otvara popup s kompletnim popisom adresa, odvojeno po IPv4 i IPv6 sekcijama.
⬇ Export na svim tablicama — CSV export gumbi dodani na: Alarmi, Pravila, Audit Log, Bot Detection, Nodovi, Sigma Rules, Mrezni Skener. Univerzalna _quickCSV() funkcija exporta bilo koju HTML tablicu.
02.04.2026 (v2)AegisUpdate Remote Management, Ovlastenja, PDF Branding
🔒 AegisUpdate Remote Management — kompletni sustav za udaljeno upravljanje Windows agentima. AegisUpdate je zaseban Windows servis koji je uvijek aktivan (cak i kad je agent ugasen) i polira server svakih 30 sekundi za komande. Podrzava 6 komandi: Update Agent (preuzmi novu verziju i restartaj), Restart Agent, Start Agent, Stop Agent, Rollback (vrati prethodnu verziju iz backupa), Update AegisUpdate (self-update). Automatski watchdog detektira pad agenta i restarta ga. Crash loop zastita: 3 pada u 5 minuta = automatski rollback na prethodnu verziju. GUI panel u node detailu prikazuje status AegisUpdate servisa (aktivnost, verzija, agent status) s 6 akcijskih gumbi. Potvrda potrebna za opasne operacije (Stop, Rollback). Updater komande su odvojene od agent komandi — agent ih ne vidi, samo AegisUpdate ih procesira kroz zasebni heartbeat kanal.
🚀 Zero-Touch Deploy — deployment nove verzije agenta na sve Windows nodove (kolektor + ogma) kroz AegisUpdate bez ikakvog rucnog pristupa na nodove. Bump verzije + upload + restart API + posalji updater_update_agent = 90 sekundi za kompletni deploy na 23+ noda. Agent v1.5.75 deployan na oba servera.
🔧 Bridge Injection za stare agente — automatsko azuriranje Windows agenata na v1.5.63 koji imaju bug u handle_update (NODE_KEY varijabla ne postoji). Koristi se block_ip PowerShell injection tehnika u 2 koraka: (1) download aegis-updater.py na nod, (2) NSSM instalacija AegisUpdate servisa. Nakon toga AegisUpdate preuzima upravljanje i moze azurirati agenta na najnoviju verziju. Uspjesno deployano na 19/22 ogma noda bez ikakvog rucnog pristupa.
🔒 Upravljanje ovlastenjima — novi tab "Ovlastenja" u Administracija meniju. Dvoslojni permission sustav: tenant-level (vrijedi za sve korisnike tenanta) + user-level override (individualna prava za pojedinog korisnika). Admin odabere tenant, prikazuje se matrica sa 21 tabom i 11 funkcija organiziranih u grupe (Osnovno, Analiza, Sigurnost, Admin, Funkcije). Checkboxovi za svaku permisiju. "Spremi" cuva postavke, "Odaberi sve"/"Ponisti sve" za brzo postavljanje. Korisnik bez individualnih prava nasljedjuje tenant default. "Ukloni override" gumb vraca korisnika na tenant default.
📋 Kopiranje ovlastenja — kopiranje permission profila s jednog korisnika na drugog ili na sve korisnike tenanta odjednom. Praktično za postavljanje istih prava novim korisnicima.
📄 Izvjestaj ovlastenja — PDF izvjestaj sa kompletnim pregledom tko ima kakva prava. Ako je odabran tenant, prikazuje se samo taj tenant s tenant defaultom i svim korisnicima. Ako nije odabran tenant, prikazuju se SVI tenanti. Tablica ima 4 stupca: Tenant, Korisnik, Dozvoljeni tabovi (lista), Dozvoljene funkcije (lista). Korisnici s individualnim override-om oznaceni su s [override].
📄 PDF Export poboljsanja — svi PDF izvjestaji sada ukljucuju logo iz brandinga s pozadinskom bojom, narancastu (ili konfiguriranu) liniju u headeru i footeru, puni company info u footeru (ime, adresa, OIB, telefon, email, web), Print gumb u boji brandinga. Boja se dinamicki cita iz postavki brandinga — promjena boje automatski mijenja izgled svih izvjestaja.
🔄 Sinkronizacija servera — svih 8 kljucnih fajlova (main.py, index.html, install-windows.ps1, install-linux.sh, aegis-updater.py, kolektor-detector.py, login.html, error.html) potpuno identicno na kolektor.bu.hr i soc.ogma.hr.
🔒 OS/Firmware End-of-Life tablica — nova upravljiva tablica u Postavkama (56 OS-ova/firmware-a); regex matching; EOL nodovi oznaceni kao RANJIV u Nodovi listi, karticama i Ranjivosti tabu; edit/delete gumbi; standard vs extended support datumi; LTSC verzije Windowsa; sortabilna tablica; format datuma iz korisnickih postavki
⚡ SDS Auto-Block — popravljen bug u _Rule.__slots__ koji je sprecavao auto-block od rada; SDS sada automatski blokira IP pri kreiranju SSH Brute Force alarma na nodovima s auto_block_enabled
🚫 Block/Alarm integracija — novi "Svi (block)" filter u Alarmima (blokirani/neblokirani/auto/rucno/geo); BLOKIRAN badge; Block gumb s multi-node checkboxovima; AbuseIPDB report tracking (+1 badge, disable nakon prijave)
📄 Universal Export — XLSX i PDF export iz Ranjivosti taba (globalno + per-node); Export dropdown gumb; profesionalno formatirani XLSX s headerima, severity bojama, auto-filterom
🔒 Registry Security Audit — Skeniraj gumb radi (registry_audit dodan u server whitelist); klikabilni REG- zapisi s detaljnim modal prikazom (rizik, preporuka, registry key); REG- ranjivosti vidljive u Ranjivosti po nodovima
🛠 AegisUpdate servis — novi Windows servis za pouzdani restart agenta; watchdog (pokrece agent ako padne); rollback (3 crasha u 5min = vrati backup); restart.flag mehanizam; self-update putem server pollinga; auto-install pri startu agenta v1.5.70+
🛡 Kod refaktor — shared _aggregate_report_data funkcija (eliminira 300 linija duplog koda); EOL regex cache; error logging u workerima; thread-safe node key cache; SMTP cita iskljucivo iz baze
🌐 Node kartice — OS full name, AutoBlock/GeoBlock/FW badge, parent firewall link na dashboard karticama
📅 Format datuma — localTs() i localDate() postuju korisnikov format (HR/ISO) iz profila
🛡 MSRC/NVD Enrichment — Windows ranjivosti se sada automatski obogacuju sa CVSS score-om (iz NVD/NIST baze) i CISA KEV statusom (aktivno eksploatirane ranjivosti); CVSS stupac u tablici, KEV badge na kriticnim CVE-ovima; severity se automatski korigira prema CVSS score-u
👤 Alert Status Tracking — u detaljima alarma sada se prikazuje tko je promijenio status (acknowledge/resolve/FP) i kada; vidljivo u "STATUS PROMIJENIO" polju
🛡 Registry Security Audit — Windows agent svakih 6h provjerava ~30 kriticnih registry kljuceva (SMBv1, Firewall, UAC, RDP NLA, WDigest, LSA Protection, Defender, LLMNR, AutoRun...); pass/fail/info status; score postotak; panel u node detaljima s tablicom i summary karticama
🔔 Notification Management System (NMS) — centralno upravljanje obavijestima; matrica u Postavkama (dogadjaj x kanal); per-event on/off za Email, SMS, Webhook, GUI; cooldown periodi; eskalacijski lanci; pripremljeno za SMS i pozive (gateway integracija)
💻 Full OS Name — svi agenti sada salju puno ime OS-a (npr. "Windows Server 2019 Datacenter Build 17763", "Ubuntu 24.04.1 LTS"); prikaz u node detaljima i Ranjivosti po nodovima
🏰 FortiGate Firewall Kolektor — nova integracija za FortiGate firewalle putem REST API-ja; automatsko prikupljanje logova (event/system, event/user, event/router, event/vpn, traffic), heartbeat sa CPU/RAM/uptime, inventar (model, SN, interfejsi, 8 jezgri, 7.3 GB RAM), ARP tablica za network discovery; podrska za FortiOS v7.x
🔐 Licence / Pretplate za appliance — automatsko dohvacanje licenci i pretplata za FortiGate (48 licenci) i Barracuda (28 licenci); prikaz u Asset Inventory panelu sa statusom (ok/expired), datumom isteka i tipom licence; crveno oznacavanje isteklih licenci
💻 Barracuda Kolektor na Kolektoru — barracuda-collector.py sada dostupan i na kolektor.bu.hr (ranije samo na soc.ogma.hr); svaki tenant moze imati Barracuda FW
💾 Poboljsani Asset Inventory za appliance — FortiGate: CPU jezgre, RAM total, zadnji boot (detektiran iz system logova), SN u OS polju; "Prikupi podatke" gumb sada odmah osvjezava za appliance umjesto cekanja 30s
🌐 Network Mapa — FortiGate nodovi prikazani s crvenom bojom (#ef4444) i ikonom 🏰; vidljivi kao parent firewall za child nodove
🛠 GUI poboljsanja — FortiGate opcija u "Dodaj node" dropdownu; automatski HTTPS protokol i port 2026; validacija API konekcije pri dodavanju noda; prikaz "FortiOS v7.6.4 (FortiGate 120G, SN: ...)" u node detaljima
🚀 Univerzalni Mass Deploy — jedan URL za Linux i Windows; skripta automatski prepoznaje platformu iz User-Agenta (curl=Linux, PowerShell=Windows); otvaranje URL-a u browseru prikazuje landing stranicu s logotipom, obje komande i copy gumbima (ne trosi instalaciju); progress panel s real-time pracentjem: progress bar, online/offline/preostalo brojac, tablica registriranih nodova s auto-refreshom svakih 5s
🔍 Mrezni Skener — novi tab u Admin meniju; odaberi tenant i pregledaj kompletnu internu mrezu: svi nodovi, firewalli, nepoznati uredaji, interne veze (node-to-node), top outbound destinacije; D3 force-directed topologija s drag & zoom
📡 Device Discovery (ARP + DNS) — toggle "Otkrivanje: ON/OFF"; agenti automatski salju ARP tablicu svakih 5 min; reverse DNS za hostname; MAC vendor prepoznavanje (~60 proizvodaca: VMware, Synology, Cisco, Apple, Dell, HP, MikroTik, Ubiquiti...); zasebna sortabilna tablica po svakom nodu
🌐 Klasifikacija uredaja — automatsko prepoznavanje tipa: VM, Server, PC, Printer, Mrezni uredaj, Telefon, IoT, Nepoznato; po MAC vendoru, portovima i hostname patternima; ikone i boje u D3 mapi
✉ Per-tenant email predlozak — prilagodite boju zaglavlja, prefiks subjekta i tekst podnozja za email obavijesti po tenantu; SDS koristi tenant prefiks u alarm notifikacijama
⏰ Alert eskalacija — automatska eskalacija nerijesenih alarma; SDS worker svakih sat provjerava alarme starije od konfigurabilnog praga (default 7 dana); salje email obavijest NOC-u s tablicom; toggle u Postavkama
📈 Adaptivni pragovi detekcije — SDS automatski prilagodava pragove prema baznom prometu po nodu; na mirnim nodovima threshold ostaje nizak, na prometnim se podize; bazira se na 7-dnevnoj statistici; toggle u Postavkama
🚫 Per-node FIM exclude — FIM iznimke sada podrzavaju odabir specificnog noda (ili svi nodovi za globalno); node dropdown u Iznimke formi
🔒 Sigurnost — uklonjene hardkodirane lozinke iz koda; DB, JWT, SMTP, licence kljuc sada iskljucivo iz .env datoteke; fail-safe bez env varijabli
Agent v1.5.34 (Linux) / v1.5.55 (Windows) — net_discover komanda; ARP tablica u heartbeatu; Get-NetNeighbor (Windows) / ip neigh (Linux)
31.03.2026Windows Vulnerability Scanner (MSRC)
🐛 Windows MSRC Vulnerability Scanning — agent koristi Windows Update API (COM objekt) za detekciju nedostajucih sigurnosnih azuriranja; automatsko izvlacenje CVE ID-ova i MSRC severity razina (Critical/Important/Moderate/Low); skeniranje svakih 6 sati + on-demand gumb; CVE linkovi vode na Microsoft Security Response Center (msrc.microsoft.com); KB linkovi na Microsoft Support; prikaz u istom panelu kao Linux ranjivosti
🔍 Rescan za Windows — "Rescan CVE" gumb na Windows nodovima salje komandu agentu za svjezi Windows Update sken umjesto OSV.dev lookupa; "Skeniraj pakete" automatski pokrece i WU sken za Windows
Agent v1.5.48 — nova komanda scan_win_vulns; PowerShell WU COM objekt s 5min timeout; mapiranje MSRC severity na Aegis format
30.03.2026FIM, SIEM, Izvještaji & Stabilnost
🐛 Vulnerability Scanner (CVE) — automatsko skeniranje instaliranih paketa protiv OSV.dev CVE baze; auto-detekcija distro iz /etc/os-release (Ubuntu, Debian, AlmaLinux, Rocky, Alpine); Linux (dpkg/rpm/apk) i Windows (registry + KB hotfixes); lokalni cache 7 dana za brze buduce skenove; GUI panel u node detailu sa severity karticama, CVE linkovima i popisom paketa; gumbi "Skeniraj pakete" (instant) i "Rescan CVE" (svjezi lookup); globalni toggle u Postavkama; serijski scan worker (bez DB lock contention)
🔒 FIM (File Integrity Monitoring) — novi modul za pracenje integriteta kriticnih fajlova; Linux (passwd, shadow, sudoers, sshd_config, crontab, nginx, systemd servisi) i Windows (hosts, SAM, SYSTEM, SECURITY, Tasks, sshd_config); SHA256 hash provjera svakih 5 min; alarmi za kreiranje/modificiranje/brisanje/promjenu permisija; FIM promjene generiraju alarm u centralnom sustavu (MITRE T1565.001); email notifikacija; custom putanje u postavkama; globalni toggle; FIM iznimke kroz Iznimke tab (scope: FIM) s 16 preset patterna za Windows/Linux noise; deduplikacija (isti fajl max 1 event/sat); prikaz u node detailu
🔍 SIEM Node/Tenant Trace — nove trace mogucnosti: trace svih konekcija prema odabranom nodu ili cijelom tenantu u odabranom periodu; SIEM mapa s click popup detaljima (IP reputacija, ASN, abuse score, portovi, blocked status)
❓ Nepoznati Gateway detekcija — automatsko prepoznavanje nodova koji imaju NAT ali nemaju monitorirani firewall; prikaz na mapi i u trace chainu; zamjena pravim FW cvorom kad se MikroTik/Barracuda doda
IPv6-mapped cleanup — ::ffff: prefix se automatski strippa iz svih IP adresa na API razini; postojeci podaci ocisceni
Fix: FW routing na mapi — promet za nodove iza firewalla (parent_node_id) uvijek ide kroz FW cvor, ne direktno
Kompletni izvještaji — uklonjeno ograničenje na zadnjih 500K logova; svi upiti (distribucija servisa, MITRE tagovi, custom report) sada pokrivaju cijeli odabrani period bez gubitka podataka
Pozadinsko generiranje s postocima — PDF izvještaj se generira u pozadini; na frontendu se prikazuje napredak u real-time (0-60% prikupljanje podataka po sekciji, 60-95% kreiranje PDF-a po nodu, 95-100% finalizacija)
Notification Log — novi panel u Status kolektora tabu; prikazuje sve poslane i neuspjele email obavijesti s primateljem, predmetom, razinom, nodom i greškom; zadnjih 50 po defaultu, klik za sve
Fix: email obavijesti — popravljeni bugovi koji su sprječavali slanje alarm notifikacija (iteracija po znakovima stringa umjesto po email adresi; neispravan SQL upit koji je rušio detekcijski ciklus)
SDS degradacija alarm — ako detekcijski modul ima 3 uzastopna pada, šalje se kritična obavijest na NOC i info@bu.hr s opisom greške; pokriva scenarij kad je SDS proces živ ali detekcija ne radi
Sigurnost logiranja — svaki email (alarm, blokada, DDoS, node status, audit report) se zapisuje u notification_log tablicu; vidljivo u GUI-ju s točnim statusom isporuke
30.03.2026External Integration API
API za vanjske sustave — treći sustavi (SIEM, Grafana, ticketing, custom dashboardi) mogu se spojiti na Aegis SOC i čitati podatke putem REST API-ja; readonly pristup s API ključem
9 scopeova — health, alerts, nodes, blocks, bots, firewall, network, stats, reports; svaki ključ ima samo pristup odabranim scopeovima
Webhookovi (push) — Aegis automatski šalje HTTP POST na konfigurirani URL pri događajima: kritični alarm, node offline, bot detektiran, firewall bypass, DDoS; HMAC-SHA256 potpis
Personalizirana dokumentacija — za svaki ključ se generira kompletna API dokumentacija s primjerima u cURL, Python, C#, VB.NET i PHP; sadrži Base URL, scopeove i sve endpointe
Debug mode — po ključu; svaki API poziv se detaljno logira (metoda, path, status, trajanje, IP); vidljivo u Detalji panelu
Sigurnost — SHA-256 hash ključa u bazi, rate limiting po ključu, IP whitelist, tenant izolacija, opcionalni expiry, audit trail
Preporuke sustava — crvene preporuke (obavijesti isključene, SDS ne radi) se više ne mogu sakriti; auto-refresh svakih 5 min
29.03.2026Firewall Events & Bypass Detection
Firewall Events tablica — novi sustav za prikupljanje IPS/threat/block zapisa sa svih vrsta firewalla (Barracuda IPS, MikroTik drop, FortiGate deny, iptables DROP/REJECT); svaki zapis pamti FW tip, event tip, source/dest IP, severity i detalj
Firewall Bypass detekcija — SDS automatski korelira: ako je IP blokirana na firewalu ali se pojavila na internom agent nodu unutar 30 minuta = kritični alarm "Firewall Bypass Detected" (MITRE T1562.004); znači da napadč zaobilazi firewall
SIEM Firewall Events panel — novi panel u SIEM tabu ispod mrežne mape; stat kartice (IPS Threat, FW Block, Port Scan), sortirajuća tablica s detaljima, filter po tipu; klik na IP pokreće Trace
Bypass Summary — crveni panel koji prikazuje sve detektirane bypass-e s IP, node, brojem hitova i statusom
Auto-refresh SIEM — mrežna mapa sada ima auto-refresh uključen po defaultu (30s); firewall eventi se osvježavaju zajedno s mapom
Sesijski trace — kad IP ima više transakcija, sustav ih automatski grupira u sesije (pauza >5min = nova sesija); prikazuje se timeline bar s klikabilnim karticama; svaka sesija pokazuje trajanje, nodove, servise, smjer prometa i volumen
Session picker — za više sesija prikazuje se odabir: klik na sesiju otvara detaljan trace samo za taj vremenski prozor; gumb "Sve sesije" za kompletni pregled
Multi-firewall podrška — SIEM parsira i korelira podatke sa svih vrsta firewalla: Barracuda CloudGen, MikroTik RouterOS, FortiGate, PaloAlto, iptables/nftables i Windows Firewall; svaki FW ima ikonu i oznaku u chain builderu
FortiGate parser — novi parser za FortiGate key=value log format (srcip, dstip, dstport, proto, action, trandisp/transip za NAT); poddržava DNAT i SNAT detekciju
MikroTik NAT parser — proširen parser prepoznaje NAT translacije iz MikroTik logova; automatska VLAN detekcija iz interface imena
FW Type kolona — svaka konekcija u mrežnoj mapi sada pamti izvor (barracuda/mikrotik/fortigate/iptables/windows); vidljivo u svim tablicama i filteru
NAT translacije — proširene na sve FW tipove; tablica prikazuje FW tip, ikonu i oznaku uz svaki zapis
Direct Exposure oznaka — kad server ima javnu IP bez firewalla ispred (npr. cPanel), chain builder to jasno označava crvenim "DIRECT EXPOSURE" badgeom
FW badges — sesijske kartice i trace rezultati prikazuju koji firewalli su uključeni; ikone: 🛡 Barracuda, 📡 MikroTik, 🏰 FortiGate, 🔥 PaloAlto
29.03.2026Mrežna mapa — Vizualizacija mreže
Mrežna mapa — interaktivni D3.js force-directed graf svih nodova i njihovih mrežnih konekcija; pod Analitika → Mrežna mapa
Prikupljanje podataka — Linux i Windows agenti sada šalju snapshot aktivnih TCP/UDP konekcija svakih ~2.5 min; SDS parsira Barracuda i MikroTik firewall logove
Vizualizacija — naši nodovi kao veliki krugovi s OS ikonom; vanjske IP grupirane po /24 subnetu; debljina linija proporcionalna volumenu prometa; animirani tok podataka
Interakcija — zoom (scroll), drag nodova, klik za highlight konekcija, hover tooltip s detaljima (IP, port, protokol, broj konekcija)
IP Journey — klik na vanjsku IP grupu prikazuje putanju te IP-adrese kroz naše nodove po vremenu (pseudo path tracing)
Boje — ljubičasta = privatna IP, zelena = naša javna, siva = vanjska, crvena s pulsirajućim efektom = blokirana/alarm
Vremenski raspon — odabir perioda: 1h, 6h, 12h, 24h, 3 dana, 7 dana
Agent verzije — Linux v1.5.27, Windows v1.5.40
Trigger log — novi alarmi sada sadrže triggering log liniju koja je izazvala alarm; vidljivo u naranccastom panelu u detaljima alarma
Barracuda pravila — 5 novih detekcijskih pravila za Barracuda firewalle: Login Denied, Login from External IP, Config Change, SSH Brute Force, IPS Threat; sva kreirana ugasena, pale se ručno
Mass Update unificiran — jedan gumb ažurira i Linux i Windows agente; prikazuje koliko je ažurirano, koliko već up-to-date, koliko offline
Auto-refresh mrežne mape — 30s automatski polling kad je tab aktivan
Log retencija — nova opcija u Postavkama; briše stare logove ali čuva one vezane uz otvorene alarme (forenzika)
SDS dedup fix — alarmi bez IP adrese više se ne dupliciraju
RDP Exposure Detection — SDS automatski detektira javne IP adrese koje pristupaju portu 3389 (RDP) na Windows nodovima; kritični alarm s trigger logom; privatne IP preskače (OK)
Proaktivni AbuseIPDB check — SDS automatski provjerava AbuseIPDB score pri kreiranju alarma za nove IP adrese; rate limit 10/sat; rezultat u cache-u za instant prikaz u GUI-ju
DB indeksi — novi kompozitni indeksi na alert_events i network_connections za brži dedup i pretragu
Audit Report — gumb u Status tabu (samo super admin); generira puni izvještaj sustava i šalje na email; dnevna telemetrija automatski u 23:59
Telemetrija sustava — novi tab u Sustav meniju; Health Score (0-100), Coverage Score po nodu, FP rate, Resolve rate, MITRE pokriveno; alarmi bez pažnje (>24h, >7d); dnevni bar chartovi; najbučnija pravila (FP); pokrivenost nodova s log freshness i score; log volumen i DB veličina
Alert korelacija — kad više pravila detektiraju isti napad (isti IP + node), sustav ih automatski korelira u jedan alarm umjesto 3-5 duplih; npr. Windows 4625 + Failed Logon + RDP Brute Force = 1 alarm s oznakom "Multi-layer"; 30-minutni korelacijski prozor
Multi-layer badge — novi 🔗 badge u tablici alarma označava korelirane alarme; broj uz ime pravila pokazuje koliko dodatnih slojeva (+1, +2...); korelacijski panel u detaljima alarma
Dashboard kartica "Korelirani" — nova kartica na dashboardu s brojem koreliranih alarma; klik filtrira samo korelirane alarme
Propagacija statusa — Ack/Resolve/FP na koreliranom alarmu automatski primjenjuje isti status na sve sekundarne (apsorbirane) alarme
Self-IP exclusion — SDS automatski preskače alarme kad node detektira vlastitu IP adresu (javnu, privatnu, IPv6); sprječava FP od WordPress Cron-a, loopbacka, lokalnih servisa; cross-node detekcija ostaje aktivna (lateral movement)
Windows servisni login filter — prošireni filter za LogonType 5 pokriva i 4625 (fail) i 4624 (success); sprječava lažne CRITICAL alarme od Windows Service Control Managera
Nevalidne IP adrese — kad regex izvadi loopback (127.0.0.1), link-local (fe80::) ili multicast IP, cijeli hit se preskače umjesto da se broji bez IP-a
Web Admin Probe fix — statički resursi (.css, .js, .woff, .png, .jpg, .svg, .ico, .webp, .map) više ne okidaju alarm; admin-ajax.php (WooCommerce, kontakt forme, live search) isključen
HTTP Auth Brute Force fix — Roundcube webmail auto-refresh na expired cPanel sesiji više ne okida alarm
Directory Traversal fix — regex sad traži ../ ili ..\ (sa slashom), ne samo ..; Google Analytics _gl parametar više ne okida lažne alarme
Port Scan fix — localhost (127.0.0.1) isključen; cPanel healthcheck više ne okida alarm
Threshold optimizacija — Port Scan 1→10/60s, Malformed HTTP 3→20/300s, Directory Traversal 1→2/300s; smanjuje FP od normalnih posjetitelja na shared hostingu
IIS W3C format — IIS pravila prepisana za W3C Extended log format (positional polja umjesto labeled); radi s IIS ARR reverse proxyjem
IIS OWA/ECP Brute Force — novo pravilo; detektira brute force na Exchange OWA, ECP, EWS, Autodiscover; success_after_fails → CRITICAL ako napadač uspješno uđe
IIS selektivno logiranje — IIS-80 uključen na X (reverse proxy, soc.ogma.hr); jedini node koji vidi javne IP napadča
IIS noise filter — automatsko filtriranje MAPI, ActiveSync, EWS, OAB, RPC i PRTG prometa pri unosu u bazu; 97% redukcija volumena; samo OWA/ECP/Autodiscover se pohranjuju
Reverse Proxy oznaka — novi checkbox "IIS Proxy" u konfiguraciji noda; automatski uključuje IIS-80 logiranje; ljubičasti PROXY badge u tablici i detaljima; isključivanje automatski gasi IIS log source
PowerShell cert exclusion — SDS preskače PowerShell 4104 evente koji sadrže Microsoft Time-Stamp certifikate i Windows Update potpise; eliminira FP na svim DC-ovima
Iznimke (Exclusions) v2 — kompletno preradjen tab; scope razdvojen na API (log se ne sprema), SDS (log se sprema ali preskače u detekciji) i Oba; podrška za tekst i regex pattern; regex tester s validacijom prije spremanja (neispravan regex se ne može dodati — zaštita SDS-a); aktivno/neaktivno toggle; edit/delete; per-rule ili globalni exclusioni; audit trail za svaku promjenu; 3 default exclusiona za MS cert noise
Retencija podataka — panel u Postavkama proširen: retencija komandi + IIS logova; SDS automatski briše stare IIS logove u batch-evima (5000/ciklus)
31.03.2026SIEM v2 + Alarm Analizator v2
SIEM v2 — kompletni redizajn — jedan search bar (IP/node/tenant); automatski prikaz puta prometa kroz mrežu; D3 mapa prikazuje samo relevantne nodove; klik na chain red filtrira mapu i tablice
Pametna topologija — prepoznaje FW chain (IP → Barracuda/MikroTik → Server), nepoznate gatewaye (❓), reverse proxy backend detekciju (npr. VMP-EXCH iz IIS logova), i direktnu izloženost (server s javnom IP)
IP Info panel — geo lokacija, ISP, AbuseIPDB reputacija, bot status, block historija (tko blokirao, kad, razlog, TTL), aktivnost (konekcije/alarmi/logovi)
Performanse — optimizirano za baze s 49M+ logova; cached MAX(id), ID-range log pretraga umjesto full table scan; <300ms na ogmi
LAN logika — privatne IP nisu automatski "safe" — lateral movement i insider threat se detektiraju; FP samo kad je isti korisnik + malo failova + interaktivni login
Windows login analiza — pametni algoritam razlikuje korisnika koji je pogrijesio lozinku od pravog brute force napada; boduje: isti username (+30), privatna IP (+25), malo failova (+25), korisnik postoji (+15), spori pokusaji (+10); odbija: razliciti usernamei (-30), nepostojeci korisnik (-25), paralelni pokusaji (-20), brzi interval (-20)
SDS Windows filter — preskace interne servisne logine (LogonType 5, IpAddress: -, fe80:: link-local); eliminira false positive alarme od Windows servisne komunikacije
IIS Log Monitoring — Windows agent prati IIS pristupne logove (W3C Extended format); konfiguracija preko Prilagodeni log putovi u detaljima noda; agent automatski prati najnoviji fajl u direktoriju (dnevna rotacija); SDS detektira HTTP brute force (401/403), path traversal i 500 error spike
Auto-probe IIS — kad se novi Windows node javi, server automatski provjerava postoji li IIS folder na nodu; ako postoji, dodaje log source; pokusava samo jednom
Logovi: servis filter — dropdown s dostupnim servisima kad se odabere node; IIS radio buttoni (HTTPS 443 / HTTP 80 / Oba) za brzo filtriranje; Live tail postuje filter
Alarm stats fix — statisticke kartice sada broje new+acknowledged (ne samo new); severity filter u tablici ispravno iskljucuje alarme upgradeane u critical kroz success_after_fails
Alarm filteri layout — filteri u tablici 2x4 (tenant+node, status+severity, datum od+do, IP); gumbi ispod u jednom redu
Geo Block drill-down fix — klik na "Geo Block danas" karticu na Dashboardu sada ispravno prikazuje sve geo block alarme
Mass Deploy — novi modul za masovnu instalaciju agenta na Linux i Windows servere; admin generira deploy URL s ogranicenim brojem koristenja (1-500), URL se koristi kao curl -sL URL | bash (Linux) ili irm URL | iex (Windows)
Auto-registracija — svaki poziv URL-a automatski kreira novi node u sustavu, generira jedinstveni API kljuc i pokrece instalaciju agenta; node se pojavljuje u sustavu cim agent zavrsi instalaciju
Live tracking — tablica aktivnih tokena s progress barom (preuzeto/registrirano/preostalo); auto-refresh svakih 10s; prikaz svih nodova instaliranih preko pojedinog tokena
Token upravljanje — tokeni isticu nakon 7 dana; mogucnost zatvaranja deploya (kad je gotov) i revoke (ako nesto nije u redu); toggle za prikaz prethodnih deploy-a
Komande za kopiranje — nakon generiranja URL-a prikazuju se gotove komande za Linux (bash) i Windows (PowerShell) s copy gumbom
27.03.2026Security Report + Korisničke postavke
Security Report — novi modul za generiranje profesionalnih sigurnosnih izvještaja po nodu, tenantu ili cijeloj infrastrukturi; PDF format s kompletnom MITRE ATT&CK analizom, kartom napada, korelacijom alarma s blokadama, AbuseIPDB reputacijom i akcijskim planom
Background generiranje — PDF se generira u pozadini; progress vidljiv u globalnom status baru na dnu ekrana; obavijest kad je gotovo; mogućnost preuzimanja ili slanja na email
MITRE ATT&CK baza — 691 tehnika importirana iz službenog MITRE STIX repozitorija; automatski import pri prvom pokretanju (lokalni JSON + online fallback)
Per-node analiza — za svaki node: risk ocjena, top napadači s Abuse%, MITRE preporuke s raw evidence (log zapisi), telemetrija graf, karta napada (CartoDB tiles), akcijski plan s rokovima (ODMAH/24h/7dana/30dana)
Multi-node izvještaj — sadržaj s brojevima stranica, popis nodova s firewallom, per-node sekcije, ukupna sigurnosna ocjena s obrazloženjem, kumulativne preporuke
Korelacija alarmi-blokade — blok status se čita iz stvarnog iptables/nft dumpa na nodu (ne iz baze komandi); privatne IP adrese označene kao LAN; self-IP filtriran iz analize
Korisničke postavke — novi korisnicki meni (desno u navigaciji) s postavkama, promjenom lozinke i odjavom; podešavanje broja alarma/logova po stranici, format datuma, početni tab, auto-refresh, kompaktne tablice
Klik na logo — vodi na početni tab iz korisničkih postavki
Bot Fingerprinting — nova bot_fingerprints tablica; SDS računa fingerprint za svakog bota (timing obrazac, usernames, ciljani nodovi, subneti, tip napada); težinski matching algoritam (timing 30%, usernames 25%, attack 20%, targets 15%, ASN 10%); nove IP adrese se automatski pridružuju postojećim botovima po ponašanju, ne samo po subnetu
Fingerprint u bot detaljima — nova sekcija u bot detail modalu prikazuje: prosječni interval napada, stddev, listu usernamea, ciljane nodove, subnete, fingerprint hash
DDoS detekcija — automatska eskalacija botova u DDoS; triggeri: 500+ IP ili 100+ novih IP u 5 minuta; 3 severity razine (Warning, Critical, Emergency); kritična email notifikacija NOC-u; webhook za mitigaciju
DDoS dashboard — nova sekcija na vrhu Botovi taba; prikaz aktivnih DDoS napada, ukupno IP-ova, novih IP-ova (5min), geo distribucija po zemljama (heatmap), lista DDoS botova s levelom
DDoS u bot detaljima — DDoS sekcija s levelom, početkom napada, gumb za ručni webhook trigger i IOC export
IOC Export — download txt fajla sa svim IP adresama bota (za Cloudflare, upstream, SIEM)
Leaflet mapa — geografska mapa IP adresa u bot detail modalu; ip-api.com batch geo lookup; kružni markeri (plavi=aktivni, crveni=blokirani)
IP Timeline — bar chart u bot detail modalu prikazuje distribuciju novih IP-ova po satima (zadnjih 7 dana)
Toast notifikacije — automatski toast pri detekciji novog bota ili DDoS eskalaciji; DDoS level 2+ trigerira kritični zvuk alarma
Badge na Botovi tabu — crveni badge s brojem aktivnih botova prikazan na tabu u navigaciji
Dashboard sigurnosna traka — DDoS status prikazan umjesto bot broja kada postoji aktivni DDoS napad
Stuck Agent Detection — automatska detekcija zaglavljenog agenta (5+ pending komandi, bez heartbeata 5+ min); kriticna email obavijest NOC-u s uputom za SSH restart; webhook; audit trail; 30min cooldown
Agent boot delay — agent v1.5.26; automatski ceka do 120s nakon boota sustava prije pokretanja; sprecava zaglavljenje na sporom startupu (Synology, stari serveri)
Agent uptime — novo polje u node detaljima (AGENT UPTIME) prikazuje koliko dugo agent proces radi
SDS uptime — novo polje u Detalji servisa (Status tab) prikazuje koliko dugo SDS radi; systemd status sad ispravno prikazuje "active"
AV detekcija iz servisa — automatska detekcija Bitdefendera (EPSecurityService, EPProtectedService...), ESET, Kaspersky, Sophos, CrowdStrike, SentinelOne iz node_services; umjesto "NO AV" prikazuje tocni AV proizvod
Geo Block izuzece — novi checkbox "Izuzeto" u node konfiguraciji; kad je ukljucen, preskace sve geo block pravila za taj node; automatski cancela pending geo-blockove, queue-a unblock za vec blokirane, resolve-a Geo Block alarme
Sortiranje po drzavi — kolona "Drzava" u tablici alarma je sad sortirajuca
Performanse — argon2 cache za node autentifikaciju (CPU na soc.ogma.hr pao s load 31 na <4); novi indeksi na node_logs; optimizirani SDS upiti s ID range umjesto full table scan
Grafovi — CPU/RAM/Disk sparkline grafovi prikazuju trenutnu vrijednost (bijelo), min (zeleno) i max (crveno); popravljen histogram "Alarmi po satu"
26.03.2026MikroTik, Synology, CPU fix, Exclusions, AV badge, User Preferences
Synology DSM detekcija — nova pravila za Synology NAS login brute force i uspješni login; automatska detekcija iz synoplugin.log; podrška za privatne IP adrese
CPU optimizacija — bulk INSERT za logove (1 upit umjesto stotina po batchu) + argon2 cache za autentifikaciju agenata; load na serveru pao sa 37 na <1
SDS Debug Log — novi toggle u Postavkama (SDS sekcija) za paljenje/gašenje detaljnog debug loga; prikazuje svaki regex match i threshold provjeru; putevi do log fajlova vidljivi u status kartici
SDS regex fix — popravljen slomljeni regex u pravilu "Suspicious Process Execution (4688)" koji je rušio cijeli detekcijski ciklus na Python 3.12
LSASS false positive fix — alarm za pristup LSASS memoriji više ne trigerira za poznate antivirusne procese (Bitdefender, ESET, Kaspersky, CrowdStrike, SentinelOne, Sophos, Defender, Trend Micro, i dr.)
MikroTik integracija — novi node type 📡 MikroTik; kolektor servis koji se spaja na RouterOS API (port 8728, v6+v7); automatski heartbeat, inventory, log collection; 5 detekcijskih pravila (Login Brute Force, Config Change, Firewall Rule Changed, Interface Down, User Created/Modified); GUI forma s korisničkim imenom, lozinkom, portom; ikona u node listi i detaljima
Windows 4625 IP fix — pravilo "Windows Login Failed (4625)" sad ispravno izvlači IP adresu iz IpAddress: polja umjesto korisničkog imena
MikroTik detekcijska pravila — sva pravila imaju allow_private_ip jer se MikroTik često koristi na LAN-u; IP ekstrakcija iz user@IP formata; username ekstrakcija za MikroTik i Synology logove
Antivirus badge — Windows nodovi automatski prikazuju instalirani AV (Bitdefender, Kaspersky, ESET, Sophos, CrowdStrike, SentinelOne, Defender, i dr.); crveni ⚠ NO AV badge ako nema zaštite; vidljivo na node karticama, tablici i detaljima
7045 AV exclusion — pravila "Windows Service Installed" i "Windows New Service Installed" više ne trigeriraju alarm za poznate AV drivere (Kaspersky KslD, Bitdefender, ESET, Sophos, CrowdStrike, Defender, kolektor agent)
Pretraživanje uputa — search polje na vrhu Upute taba; filtrira sekcije po ključnim riječima s highlight-om rezultata
Exclusions GUI — nova stranica 🚫 Exclusions u Admin meniju za upravljanje false positive filterima; dodavanje/brisanje po pravilu s audit trailom; SDS automatski preskace logove koji sadrže exclusion pattern
PowerShell FP fix — PowerShell Download Cradle pravilo ne trigerira za microsoft.com/pki certifikate, Windows Update, PowerShell Gallery, NuGet, Update-Help
Malformed HTTP / TLS Probe — novo pravilo za detekciju bot skenera koji šalju sirove TLS/binary zahtjeve na HTTP port (threshold 3)
Performanse — Threat Insights 37s → 0.1s; Status stranica ubrzana; top_services query optimiziran (zadnjih 50K logova umjesto full table scan na 5M+ redova)
Audit trail proširen — 8 novih endpointova pokriveno: webhook, AbuseIPDB, session, DB optimize, iptables/CSF pravila
Korisničke postavke — tema, zadnji tab, zvuk alarma, dashboard sekcije i telemetrija dani se pamte per-user u bazi (ne samo u browseru); iste postavke na svim uredajima
Collapsible Dashboard — Aktivne Prijetnje i Nodovi sekcije imaju +/− gumb za sma�ivanje/proširivanje; stanje se pamti per-user
25.03.2026MSSQL monitoring + E-mail rebranding
MSSQL Server detekcija — 8 novih pravila: Login Failed, SA Login Attempt, Permission Denied, DB Error/Corruption, Backup Failure, SQL Injection Pattern, Service Stopped
E-mail template rebranding — Aegis SOC branding, dinamički logo iz postavki, konfigurabilan pozadina loga (checkbox + color picker)
Secure Login bugfix — ispravljen Content-Type header u fetch requestu
Upute — nove sekcije za MSSQL Server, Microsoft Exchange i Ransomware detekciju
Windows detekcija — Login Failed (4625), Guest Account, SMB Auth, DNS Record Modified, Kerberos Pre-Auth, Service Installed (7045), Barracuda IPS Port Scan
Smart AV detekcija — Defender RTP Disabled alarm se automatski potiskuje ako je instaliran drugi AV (ESET, Bitdefender, Kaspersky, Sophos, CrowdStrike, SentinelOne, Trend Micro, itd.)
False positive fix — 4648 exclusion za Outlook, Teams, Veeam, Exchange Health, Azure AD Sync
25.03.2026Bot Detection & DDoS prepoznavanje
Bot Detection sustav — automatsko prepoznavanje botova/botneta iz alarma. Svaki bot dobiva identitet (BOT-0001, BOT-0002...) s praćenjem svih IP adresa, napada i nodova. Botovi se grupiraju po /24 subnetu i tipu napada.
Novi tab "Botovi" — u Analitika meniju; tablica svih botova s klasifikacijom (Botnet / Botnet-Large / DDoS), prijetnjom, brojem IP-ova, napada i statusom. Sve kolone sortirajuce.
Bot Detail modal — klik na bota otvara detaljan pregled: mrezne informacije (ASN, zemlja, subnet, ISP, organizacija, hosting flag), AbuseIPDB score, distribucija ASN-ova i zemalja, IP tablica s ASN stupcem, povezani alarmi, napadnuti nodovi, biljeske, akcije (neutraliziraj/aktiviraj/obrisi).
Retroaktivna Bot analiza — u Postavkama, sekcija "Bot Recognition". Pokrenite analizu svih postojećih alarma s date range odabirom i progress barom. SDS prolazi kroz sve IP adrese i automatski kreira bot aktere.
Real-time bot detekcija — SDS automatski scorira nove IP adrese u svakom detekcijskom ciklusu i pridružuje ih postojećim botovima ili kreira nove.
Bot badge u alarmima — ako IP pripada prepoznatom botu, u tablici alarma se prikazuje 🤖 Bot badge.
DDoS klasifikacija — botovi s 20+ IP = Botnet-Large, 500+ IP = DDoS kandidat. Automatska eskalacija prijetnje.
Auto-block po botu — opcija u detail modalu; kad je uključeno, svaka nova IP od tog bota se automatski blokira.
Merge botova — API podrška za spajanje dva bota u jednog (preseli IP-ove i evente).
Secure Login — dvostupanjska prijava: email → sigurnosni link na email → lozinka → 2FA. Uključivo u Postavkama, zahtijeva SMTP. TTL tokena konfigurabilan (min 5 min), rate limit 3 zahtjeva/10min po emailu.
Geo Blocking — centralizirano blokiranje zemalja na svim nodovima. Globalna pravila + per-node override. SDS automatski blokira IP-ove iz zabranjenih zemalja (live geo lookup via ip-api.com). Dashboard kartica s brojem geo blokova danas.
Geo Blocking GUI — novi tab u Admin meniju; lijevo popis nodova, desno pravila po scope-u; sortabilna tablica; toggle ON/OFF; 🌐 GEO badge u alarmima i Blokirano tabu.
CSF Connection Flood (CT_LIMIT) — novo detekcijsko pravilo za connection flood napade (severity critical).
Korisničko ime u alarmima — SDS automatski ekstraktira username iz logova (TargetUserName, user=, for user); novo polje KORISNIK u alarm detaljima.
Barracuda validacija — prije kreiranja Barracuda noda, API testira REST API konekciju; ako token kriv ili IP nedostupan, javlja grešku.
Dashboard Enter filter — tenant filter na dashboardu prihvaća Enter za brže filtriranje.
Log source validacija — prije dodavanja prilagodenog log puta, agent provjerava postoji li datoteka na nodu.
Custom error page fix — nginx @maintenance lokacija na kolektor.bu.hr; kad API padne prikazuje Aegis error stranicu umjesto default nginx 500.
Dashboard sigurnosna traka — ispod summary kartica prikazuje status: Geo Blocking ON/OFF, aktivni botovi, Secure Login ON/OFF.
Agent v1.5.25 — novi check_file command handler za validaciju log putanja.
Aegis SOC as Service — kompletni rebranding: dinamički title (admin vidi firmu, tenant vidi svoj naziv), favicon iz loga u bazi, header, footer, print izvještaj
Login screen redizajn — zasebna login stranica sa štitom u pozadini, narančastom scan animacijom, grid pozadinom i hero tekstom
Light/Dark tema — toggle u headeru (🌙/☀️); login uvijek tamna tema, izbor se pamti
Maintenance stranica — error.html u Aegis stilu sa štitom i scan animacijom
Privatne IP adrese (LAN) — novo polje "Dopusti privatne IP" na pravilima; SDS detektira 10.x, 172.16-31.x, 192.168.x i IPv6 fc00::/fd00::; privatne IP označene ljubičastom bojom s LAN badgeom
AbuseIPDB zaštita — privatne IP se ne mogu prijaviti na AbuseIPDB; gumb se ne prikazuje, panel pokazuje "Privatna (LAN) adresa"; komentar na engleskom bez naziva noda
Tenant filter po nazivu — na Dashboardu pretražuj nodove po nazivu tenanta umjesto ID-a
Logo podloge — kontrastna pozadina iza logotipa u headeru za čitljivost u obje teme
No autocomplete — login forma ne nudi zapamćene lozinke
Saved Filters / Views — spremi filtre u Alarmima, Logovima, Auditu i Blokirano; postavi default view, dijeli s timom; 💾 Spremi / ⭐ Default / 🗑 Obriši
Live Log IP klik — IP adrese u logovima su klikabilne; klik otvara Alarme filtrirane na tu IP; privatne IP označene ljubičasto s LAN badgeom
Firewall Command Governance — governed block/unblock s obaveznim razlogom, preview naredbe prije izvršenja, rollback, TTL, audit trail; panel u Blokirano tabu
Threat Insights restrukturiranje — 3 sekcije: Trendovi napada (trend chart 30d, heatmap sati×dani, week vs week), Repeat Offenders (recidivisti, persistent attackers na 2+ nodova), Block Hygiene (stale blokovi 30d+, preporuke)
24.03.2026Barracuda integracija, Windows detekcija, auto-refresh
Auto-refresh Nodovi/Dashboard — status nodova se automatski osvježava svakih 30 sekundi kad je tab aktivan (online/offline, IP, verzija agenta)
Windows detekcijska pravila fix — ispravljen service_pattern i fail_pattern za sve Windows Security pravila; IP adresa napadača se sada ispravno prepoznaje iz Windows Event Log-a
Windows Successful Logon — novo pravilo za praćenje uspješnih prijava s javnih IP adresa (isključeno po defaultu, aktivirajte u Pravilima kad želite pratiti tko se prijavio)
Cross-batch detekcija — SDS sada kumulativno broji događaje iz prethodnih ciklusa unutar vremenskog prozora; napadi koji dolaze u više valova se ispravno detektiraju
SDS reprocess fix — retroaktivna obrada logova sada ispravno radi na svim instancama
IpAddress fallback — SDS prepoznaje IP adresu iz Windows formata "IpAddress:" polja kao fallback ekstrakciju
Barracuda CloudGen Firewall — novi tip noda (🛡); dodajte iz GUI-ja s IP, portom i API tokenom; kolektor automatski prikuplja logove, telemetriju i inventar opreme putem REST API-ja
Izbor log tipova — za Barracudu: 125 dostupnih log tipova, odaberite koje želite pratiti u Servisima noda
Node type dropdown — pri kreiranju noda birajte: Linux Agent, Windows Agent, Barracuda Firewall ili MikroTik
Dashboard drill-down — Top node, Top pravilo i Top MITRE tehnika su sada klikabilni; klik otvara detalje noda ili filtriranu tablicu alarma
AbuseIPDB badge fix — score i država više ne nestaju iz tablice alarma nakon blokiranja IP adrese
DB sinkronizacija — usklađene sheme baza na svim instancama (audit_events, tenants, demo_licenses)
23.03.2026Sesija 2 — Rule Governance, Chat, Windows Agent
Rule Governance — vlasnik, kreator, verzija, zadnje okidanje, trigger count 24h/7d na pravilima
MITRE šifarnik — katalog 40 tehnika s CRUD-om, auto-populate u pravilima
Desktop menu redesign — grupirani tabovi u dropdown menije (Monitoring, Analitika, Admin, Sustav)
Windows agent v1.5.38 — konfigurabilni Event Log kanali (Application, System, IIS, Exchange, DNS, AD, PowerShell + custom)
Skeniranje kanala — gumb "Osvježi kanale" skenira sve dostupne kanale na Windows nodu
IIS/Exchange detekcija — nova pravila za HTTP brute force, path traversal, OWA/ECP, relay abuse
Pracenje aktivnosti na bazama podataka — loginovi, privilegije, schema promjene, bulk operacije
Ucitavam DB nodove...
Po pravilu
Baze podataka
DB Security Alarmi
Vrijeme
Severity
Pravilo
IP
Korisnik
Hits
Status
Log
DB Logovi
Vrijeme
Level
Servis
Poruka
📋Compliance Provjere
Backupi, CHECKDB i ostale operacije za ovaj node
Ucitavam...
➕ Dodaj rucno provjeru
🚨
Kompromitacije
Potvrdjeni webshellovi + zastarjeli WordPress + kompletni inventar svih sitova · F1 za upute
Scope: cijela flota
🚨 Potvrdjeni zarazeni fajlovi
Ucitavanje...
🟠 Zastarjeli WordPress
Ucitavanje...
🌐 Kompletni Site Inventar
Ucitavanje...
📄
Case Management
Incident response workflow — kreirajte, dodijelite i pratite sigurnosne slucajeve
📄 PDF
📊 XLSX
-
New
-
Triage
-
Investigating
-
Contained
-
Resolved
-
SLA Breached
#ID
Severity
Naziv
Status
Owner
Assigned
SLA
Prioritet
Artefakti
Dogadaji
Kreirano
Akcije
Ucitavanje...
⚡
SOAR Playbooks
Automatizirani response runbooks — definirajte korake i pokrenite na IP
Naziv
Trigger
Koraci
Enabled
Pokretanja
Zadnje
Akcije
Ucitavanje...
⚡
AegisGOD
Central Intelligence — unified threat scoring, cross-module correlation, automated response
-
-
Aktivni alarmi
-
Kriticni 24h
-
Blokirano 24h
-
WAF 24h
-
Anomalije 24h
Moduli
-
🎯 Top prijetnje (7 dana)
IP
Score
Moduli
Eventi
Nodovi
Zemlja
Status
Ucitavanje...
⚡ 0 odabrano
⚡ Automatske akcije
Nema automatskih akcija
Pragovi
🎯 Sve pracene prijetnje
IP
Score
Moduli
Eventi
Zemlja
Status
Zadnje
Ucitavanje...
-
-
🕑 Attack Timeline
-
🔬
AegisVerify — Forensic Auto-Verification
Svaki alarm se forenzicki provjerava preko agenta na samom nodu — localhost curl + filesystem check, bez feedback loop-a.
Auto-Pilot: ...Zadnja: —U 24h: 0
🔗 Auto-Pilot Node Filter
Koji nodovi se auto-verificiraju. Prazno = svi nodovi (global mode).
Učitavam...
🍎 False Positive auto-resolved
0
zadnjih 24h (klik za filter)
⚠️ Suspicious
0
traze manual review
🚨 Compromised (all-time)
0
zero-tolerance — persistent · ne stari
📁 Exposed files (7d)
0
.git/config, .env, wp-config.php.bak na web rootovima
📈 Verdicts kroz 7 dana
■ False Positive
■ Suspicious
■ Compromised
🔫 Verify source (24h) — samo http_web
Ucitavam...
🛡 agent = node sam provjerio (localhost, pravi put). ⚠️ kolektor_fallback = agent nedostupan, kolektor curlnuo. Visoka kvota = agent treba pregledati. ⓘ Skipped/SSH/FIM nisu uračunati — samo http_web URL verifikacije.
📋 Recent verifications
Vrijeme
Verdict
Score
Kat.
Source IP
Node
Verify via
Trigger
📁 Exposed files across fleet (zadnjih 7 dana)
Datoteke koje je agent lokalno pronašao na web rootovima nodova — osjetljivi fajlovi koji se NE bi smjeli vidjeti javno. Compliance-gold: dokaz curenja u izvještaju, direktan remediation put.
Detektirano
Node
Tenant
File
Path
Size
🛰
AegisEDR — Outbound Flow Monitor
Svaki nod prijavljuje outbound TCP konekcije. Server ih inline match-a protiv 5 threat intel feedova (URLhaus, ThreatFox, FeodoTracker, CINS, Binary Defense, Greensnow) — C2 hit = alert + block opcija.
TI DB: 0Nodes: 0Update: —
🚨 C2 / TI Hits
0
ukupno (klik za filter)
📊 Flows 24h
0
zadnja 24 sata
🌐 Unique Destinations
0
distinct external IP
👥 Active Collectors
0
nodovi javljali u 10min
🌎 Live Outbound Maplukovi: plavo=normal, crveno=C2 hit
1) Stvori Telegram grupu i u nju dodaj @AegisSOCBot (ili tvojeg bota).
2) Pošalji bilo kakvu poruku u grupu.
3) Otvori u browseru: https://api.telegram.org/bot<TOKEN>/getUpdates
4) Pronađi "chat":{"id":-100...} — to je tvoj Chat ID. (Bot token postavlja super-admin globalno.)
↓ Import povijesti logova
OD
DO
Import može potrajati nekoliko minuta ovisno o veličini logova.
0%
👤 Online:0 admina|0 korisnika|⚠ |🚨 |⚠️ SDS NE RADI|⚠️ DDoS NAPAD AKTIVAN×||🔈|💬
|📄Generiranje...|
💬 Admin poruke
Učitavam...
👤 Aktivne sesije
Korisnik
Role
IP adresa
Browser
Prijava
Trajanje
Učitavam...
⚙
Rotacija baze u tijeku
Sustav je trenutno u maintenance modu. Agenti normalno rade. Molimo pricekajte zavrsetak rotacije.
0%
🤖 AegisVerify — Detaljni dosje
Učitavam...
🕓 Timeline
Ucitavam...
📋 Iznimke (False-Positive whitelist)
Path/IP/regex iznimke koje suppress-aju buduce alarme. Dodano kroz auto-iznimka button na alarmu, ili rucno ovdje.