Kapitola 13 z 13
Hranice a známá omezení
Co aplikace neumí, co umí jen napůl a na co si dát pozor při provozu.
Pro toho, kdo se rozhoduje o nasazení, a pro toho, kdo systém provozuje.
Poctivý seznam toho, co SafeHouseCrew nedělá. Část je vědomé bezpečnostní rozhodnutí, část je stav rozpracovanosti — u každé položky je uvedeno které.
Záměrná omezení
Chybí, protože chybět mají.
- Žádná obnova bezpečnostního kódu
- Ukládá se jen hash. Jakákoli obnova by byla zadní vrátka použitelná i útočníkem.
- Žádné e-maily oznamovateli
- Systém nemá a nechce mít jeho kontakt.
- Superadmin nevidí identitu
- Funkce v aplikaci neexistuje, není to jen odepřené oprávnění.
- Žádná analytika
- Nelze tedy měřit, kolik lidí formulář otevřelo a nedokončilo.
- Žádné automatické strhávání plateb
- Obnovu musí tým zahájit vědomě.
- Přílohy nejdou přiložit při podání
- Nahrávají se až přes sledování případu — a u úplně anonymního režimu tedy vůbec.
- Role se nemění na místě
- Změna role = odebrat a znovu přidat člena.
- Případ nelze smazat
- Zákonná povinnost uchování; maže se až automatická anonymizace po pěti letech.
Provozní omezení při nasazení
Na co narazíte na produkčním serveru, ne při zkoušení.
- Rate limiting drží stav v paměti jedné instance. Poběží-li aplikace na víc serverech, je skutečný limit násobkem jejich počtu. Pro vážný provoz je potřeba sdílené úložiště (Redis). Týká se ochrany přihlášení, ověření 2FA i globálního limitu oznámení.
- Jednorázovost proof-of-work řešení má stejné omezení — na víc instancích lze jedno řešení použít na každé z nich zvlášť.
- Ochrana na úrovni řádků v databázi neplatí ve vývojovém prostředí, kde se běží pod účtem s nejvyššími právy. Ověřuje se až proti produkční databázi.
- Antivirová služba potřebuje povolit velké soubory — limit přílohy je 50 MB, takže server antiviru musí přijmout aspoň tolik, jinak bude nahrávání souborů kolem limitu selhávat.
- Bez nakonfigurované e-mailové služby se notifikace tiše nepošlou a jen se vypíšou do logu. Po nasazení ověřte skutečným testovacím oznámením.
Co v systému zatím není
Stav rozpracovanosti, ne bezpečnostní rozhodnutí.
- Záložní kódy pro 2FA — při ztrátě telefonu se účet zakládá znovu.
- Samoobslužná změna hesla — heslo mění příslušná osoba znovuzaložením účtu.
- Zvací e-maily pro nové členy — počáteční heslo předává příslušná osoba jiným kanálem.
- Úprava role bez odebrání člena.
- Externí penetrační test — vnitřní bezpečnostní revize proběhla, nezávislý test zatím ne.
- Přikládání souborů rovnou ve formuláři — dnes je nutné podat oznámení a teprve pak se k němu přihlásit.
Co SafeHouseCrew nenahrazuje
Hranice mezi nástrojem a povinností.
- Nenahradí příslušnou osobu. Zákon vyžaduje konkrétního člověka s nezávislostí a odbornou způsobilostí. Systém mu jen dává nástroj.
- Nenahradí vnitřní předpis produkce o oznamování ani proškolení štábu.
- Nenahradí externí oznamovací kanál ministerstva — oznamovatel má vždy právo obrátit se přímo na něj.
- Nerozhoduje o důvodnosti oznámení. Posouzení je práce příslušné osoby; systém hlídá lhůty a vede stopu.
- Není důkazní systém pro soud sám o sobě — auditní log je silná stopa, ale právní hodnotu posuzuje soud.