Uvádíme do provozu dlouho očekávanou verzi nového Sentinel View, jehož zrod doprovázel nejeden problém se čtením obsáhlé databáze a celá akce se nesla v duchu optimalizace. Autorem všech velikých změn je Martin Prudek, který sice již není součástí našeho týmu, nicméně tento jeho počin zanechal v našem projektu nesmazatelnou stopu. Velikou pomoc zajistil druhý kolega, se kterým jsme se museli rozloučit, Vojta Myslivec, jehož nezanedbatelný přínos pro hledání ideálního způsobu optimalizace zobrazovaných dat nelze opominout.
Co to je Sentinel View
Data, která do databází CZ.NIC v rámci projektu Sentinel proudí, je potřeba pro uživatele zobrazit a k tomu právě slouží Sentinel View. Nově umí zobrazit i specifické údaje pro uživatelem definovaná Turris zařízení s běžícími instancemi Sentinelu.
Ve zkratce
- nový responzivní vzhled
- zobrazování podle zvolených časových intervalů
- přidání pohledů podle základní kategorizace
- moje zařízení
- caching, agregace
Další data, nový kabát
Sentinel View dostal nový kabát, který nejen dobře vypadá, ale také korektně zobrazuje vaše oblíbené tabulky a grafy na mobilních zařízeních.
Mobile
Zatímco prvků v složitějších grafech původního Sentinel View bylo patnáct a nebylo lehké se v nepřehledných nudlích vyznat, nově zobrazujeme pro lepší přehlednost prvků sedm.
Další důležitá vychytávka je možnost zvolit časový interval a zobrazit tak grafy a tabulky pro uplynulá časová období. Možnosti jsou následující:
- poslední jedna hodina,
- uplynulých dvanáct hodin,
- čtyřiadvacet hodin (den),
- týden,
- měsíc,
- tři měsíce (čtvrt roku),
- rok.
Passwords
Kouzlo tkví v tom, že pro tyto tabulky a grafy (a důležité je to v případě delších časových období) se data průběžně cachují a tak není třeba dlouho čekat na jejich zobrazení. To si řekneme ještě později. Mimo jiné jsme, kde to jen bylo možné, přidali mapy. Výběr časových období se vztahuje na každou mapu.
Na hlavní stránce se objevil graf Počet unikátních útočníků (Number of unique attackers). Pro přehlednost a podrobnější informace jsme některé další tabulky rozdělili do nových pohledů. Můžete se tak třeba těšit na stránku Incidents, kde je asi nejzajímavějším grafem Nejvíce incidentů podle dané pasti/minipotu (Top Traps by recorded incidents).
Incidents
Další stránkou, která určitě stojí za zmínku jsou bezesporu Porty (Ports), kde je podle kombinace komunikačního protokolu a čísla portu zobrazeno několik tabulek s nejvyššími počty záznamů.
Ports
Moje zařízení (My Devices)
V neposlední řadě je potřeba zmínit novou stránku Moje zařízení (My Devices), která slouží k zobrazení dat pro uživatelem nadefinované routery Turris. Tato zařízení se zadávají pomocí klíče device tokenu.
Token získáme v konzoli routeru příkazem:
uci get sentinel.main.device_token
V jednom z následujících vydání se objeví i ve webovém rozhraní routeru.
My devices
To, co vidět není
Mnoho změn zaznamenal backend projektu. Základ tvoří PostgreSQL databáze s rozšířením timescale. Původně se zvažovalo nasazení databáze Influx, od čehož se po půlroce testování upustilo z důvodu pomalého běhu dotazů. Databáze pro každý pohled frontendu obsahuje specifickou tabulku, s menšími joiny pro některé zobrazované tabulky. Každá tato tabulka se pro určité časové úseky agreguje pokaždé, když uplyne dané časové období. Například do hodinové tabulky passwords_hourly se každou uplynulou hodinu z nadřazené tabulky passwords_quarterly agregují data. Z těchto základních tabulek se buď na základě uživatelského dotazu (Moje zařízení) nebo opět po uplynutí daného časového úseku záznamy cachují pro společné pohledy.
Pro ty, které zajímá Sentinel View do hloubky, bude určitě dobrou zprávou, že repositář je veřejně přístupný a všechny podstatné změny na backendu jsou dobře zdokumentované v README.md projektu.
Závěrem
Touto změnou samozřejmě nekončíme. Vzhledem k tomu, že Sentinel View je výkladní skříní projektu Sentinel, máme po implementaci této změny skvělou příležitost nasadit úpravy, které jí byly odloženy nebo zadrženy. Plánované patche obsahují následující změny:
- vizualizace dat Dynamic Firewall v reálném čase
- have I been pawned (Turris varianta)
- automatické doplnění My Device tokenu z Forisu
- nápovědy pro zobrazené grafy a tabulky
Doufáme, že tato změna zažehne v komunitě jiskru zájmu angažovat se ve vývoji Sentinel View, minimálně na úrovni konstruktivní kritiky, aby se Sentinel mohl přiblížit všem.