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.