cs:reporting

Reporting

Reportovací nástroj je klíčovou komponentou systému Mentat. Jeho úkolem je v pravidelných intervalech zpracovávat přijaté události a prostřednictvím emailu rozesílat hlášení odpovědným správcům.

Generované reporty

Všechny reporty jsou odesílány s následujícími hodnotami hlaviček identifikujícími jako odesílatele systém Mentat:
  • From: CESNET-CERTS Reporting < reporting@cesnet.cz >
  • Return-Path: reporting@cesnet.cz
  • Reply-To: abuse@cesnet.cz

V tuto chvíli systém generuje dva typy reportů: summary a extra. Summary report obsahuje souhrn všech událostí dané zavažnosti, týkající se všech IP adres, což je vhodné např. pro automatické generování statistik, případně pro udržování obecného přehledu o zranitelnostech v dané síti. Extra report obsahuje vždy události týkající se pouze jediné IP adresy, což je vhodné pro přímou redistribuci konkrétním správcům a pro jednoduchou manipulaci a párování událostí v rámci nějakého tiketovacího systému.

Předmět odesílaných emailů vypadá následujícím způsobem:

[Unikátní identifikátor] Závažnost - Popisný text

Např.:

  # Ukázka předmětů souhrnných reportů - summary
  [M20151125L-Dg2ur] Nízká - Upozornění na možné problémy ve Vaší síti
  [M20151125M-Dg2ur] Střední - Upozornění na možné problémy ve Vaší síti
  [M20151125H-Dg2ur] Vysoká - Upozornění na možné problémy ve Vaší síti
  [M20151125C-Dg2ur] Kritická - Upozornění na možné problémy ve Vaší síti

  # Ukázka předmětů extra reportů - extra
  [M20151125L-Dg2ur] Nízká - Upozornění na možné problémy týkající se stroje 192.168.0.1
  [M20151125M-Dg2ur] Střední - Upozornění na možné problémy týkající se stroje 192.168.0.1
  [M20151125H-Dg2ur] Vysoká - Upozornění na možné problémy týkající se stroje 192.168.0.1
  [M20151125C-Dg2ur] Kritická - Upozornění na možné problémy týkající se stroje 192.168.0.1

Formát unikátního identifikátoru, uzavřeného v hranatých závorkách, je také významový, např. pro M20151125L-Dg2ur:

  • M - konstanta, M jako systém Mentat
  • 20151125 - datum vygenerování reportu ve formátu YYYYMMDD
  • L - kód závažnosti události, jedna z možností (L = Low, M = Medium, H = High, C = Critical)
  • Dg2ur - náhodný řetězec pro rozlišení jednotlivých reportů generovaných v rámci jednoho dne

Pro lepší automatizované zpracovaní generovaných reportů jsou přidávány následující rozšiřující emailové hlavičky:

Hlavička Význam
X-Mentat-Report-Class Třída reportu, pro pravidelné reporty událostí má konstantní hodnotu: „events“
X-Cesnet-Report-Id Unikátní identifikátor reportu (deprecated/zavrženo)
X-Mentat-Report-Id Unikátní identifikátor reportu
X-Mentat-Report-Parent-Id Unikátní identifikátor nadřazeného souhrnného reportu
X-Cesnet-Report-Type Typ reportu, jedna z možností: „summary“/„extra“ (deprecated/zavrženo)
X-Mentat-Report-Type Typ reportu, jedna z možností: „summary“/„extra“
X-Cesnet-Report-Severity Závažnost reportu, jedna z možností: „low“, „medium“, „high“, „critical“ (deprecated/zavrženo)
X-Mentat-Report-Severity Závažnost reportu, jedna z možností: „low“, „medium“, „high“, „critical“
X-Cesnet-Report-Srcip IP adresa původce události, pouze u reportů typu „extra“ (deprecated/zavrženo)
X-Mentat-Report-Src-IP IP adresa původce události, pouze u reportů typu „extra“
X-Mentat-Report-Event-Count Celkový počet událostí v reportu
X-Mentat-Report-Time-Window Časové okno reportu jako dvě časové značky ISO 8601 format (YYYY-MM-DDTHH:MM:SS) spojené řetězcem _, např. 2018-07-13T10:30:00___2018-07-13T10:50:00
X-Mentat-Report-Test-Data Příznak, zda report obsahuje pouze testovací data a může být v produkčním prostředí ignorován.

K vygenerovanému reportu jsou dále přiložena všechna relevantní data ve strojově zpracovatelném formátu CSV a/nebo JSON (v závislosti na konfiguraci). V závislosti na konfiguraci mohou být přílohy také komprimovány. Důrazně doporučujeme používat pouze přílohy typu JSON, neboť data v nich obsažená jsou vždy kompletní. V přílohách typu CSV je v důsledku serializace a z důvodů alespoň jakés-takés použitelnosti obsažena pouze část z kompletních dat. Přílohy typu CSV by měly být považovány za zavržené.

Názvy souborů příloh jsou generovány podle následujícího schématu:

security-report-[Unikátní identifikátor].[Typ]

Např.:

security-report-M20151125L-Dg2ur.json
security-report-M20151125L-Dg2ur.json.zip
security-report-M20151125L-Dg2ur.csv
security-report-M20151125L-Dg2ur.csv.zip

Webové rozhraní systému Mentat

Webové rozhraní systému Mentat je dostupné na adrese https://mentat-hub.cesnet.cz. Systém je primárně určen správcům sítí ze sítě CESNET2 (AS2852). Pro přístup je nutné mít identitu ve federaci eduID, v odůvodněných případech lze zřídit přístup prostřednictvím služby eduID Hostel.

Drtivá většina funkcí je přístupná až po úspěšné autentizaci. Jedinou výjimkou v tuto chvíli je možnost neautentizovaného přístupu k reportům prostřednictvím „tajného“ odkazu obsaženého v každém reportu. Hlavní myšlenkou této funkce je umožnit správcům v koncových sítí sdílet jednoduše informace o událostech i s případnými dalšími zainteresovanými osobami mimo federaci eduID.

Formulář pro nastavení vlastností skupiny

Formulář pro vložení a úpravu filtru

Výchozí nastavení reportovacího algoritmu reflektuje proces incident handlingu v týmu CESNET-CERTS a vypadá následujícím způsobem:

Stupeň závažnosti (severity) Popis Period Threshold Relapse
Low Informační charakter 24h (1d) 168h (7d) 48h (2d)
Medium Vážná událost, vyřešit do 2 dní 2h 48h (2d) 24h (1d)
High Velmi vážná událost, vyřešit ASAP ASAP (10min) 2h 0
Critical Kritická událost, vyřešit ASAP ASAP (10min) 0 0

Popis reportovacího mechanismu

Návrh nového reportéru a reportovacího mechanismu vychází z připomínek nashromážděných v průběhu provozu předchozí verze. Klíčové připomínky byly následující:

  1. Pozdržení již nahlášených problémů po určitou dobu
  2. Možnost zasílání souhrnných reportů za větší časový interval (den, týden), nastavitelné intervaly reportování

Obě připomínky v sobě v podstatě skrývají určitou formu agregace dat. A v případě agregace je vždy nutné najít optimální kompromis mezi co největším agregačním intervalem (po kterém zpravidla touží přijímající strana a který znamená menší množství přijatých zpráv) a mezi rozumným časovým zpožděním při odeslání hlášení (neboť týden stará data jsou již obvykle k ničemu). Zároveň jsme dospěli i k rozdílu závažnosti mezi jednotlivými událostmi: určité události nejsou příliš závažné a skutečně není nutné zasílat upozornění častěji než řekněme jednou denně/týdně, ale včasné informování o kritičtější události může znamenat výrazné omezení konečných škod v napadeném systému/síti. Byli jsme tedy donuceni k zavedení hodnocení událostí z hlediska námi navrhované závažnosti z našeho pohledu jakožto operátorů páteřní sítě. Navrhovaná klasifikace je prezentovaná na stránkách týmu CESNET-CERTS.

Nový reportovací algoritmus funguje podle následujícího schématu:

  1. Rozdělení nových událostí přijatých za určitý časový úsek do skupin podle úrovní závažnosti
  2. Pro každou skupinu úrovně závažnosti poté provede samostatné zpracování
    1. Agregace zpráv podle cílového abuse kontaktu (whois dotaz na IP adresu zdrojů události)
    2. Získání konfigurace reportování pro danou úroveň závažnosti a cílový abuse kontakt
    3. Vygenerování a odeslání reportu

Samotný reportovací algoritmus, který provádí vlastní zpracování dat, je konfigurovatelný pomocí následující trojice hodnot:

  1. period - Perioda, se kterou se report pravidelně generuje
  2. threshold - Doba, po kterou se o daném nahlášeném incidentu mlčí a neobjevuje se v následujících reportech. Klíčem pro zapamatování je kombinace (IP adresa|klasifikace události)
  3. relapse - Heuristika, která určuje, v jakém případě budou zamlčená data zpětně odeslána (detekce vyřešení/nevyřešení daného incidentu)

Princip fungování reportovacího algoritmu ilustruje následující obrázek: Princip fungování reportovacího algoritmu

Poslední úprava: 17.07.2018 20:22