Implementace logování a monitorování
- Logování = koncept používaný pro účely ladění a diagnostiky
- Monitorování = živá kontrola aplikačních a bezpečnostních logů pomocí různých forem automatizace
Zajišťuje
- Detekci narušení systému
- Forenzní analýzu a vyšetřování
- Splnění požadavků na dodržování předpisů
Implementace
- Dodržujte společný formát napříč aplikacemi i organizací
- Apache Logging Services pomáhá zajistit konzistenci logování mezi Java, PHP, .Net a C++ aplikacemi
- Nelogujte příliš málo ani hodně
- Logujte timestamp, identifikační informaci, IP adresu, ID uživatele
- Nelogujte osobní nebo citlivé údaje
- Synchronizujte čas na jednotlivých nodech
Logování pro účely detekce a reakce na narušení systému
- Díky logování je možné identifikovat aktivity, které naznačují, že se uživatel chová škodlivě
- Mezi takové aktivity patří
- odeslání údajů mimo očekávaný číselný rozsah
- odeslání údajů zahrnujících změny údajů, které by neměly být modifikovatelné
- porušení pravidel řízení přístupu na serveru
- Zaznamenejte takové aktivity a označte je jako závažné
- V ideálním případě je identifikujte a na útok reagujte (zneplatnění session, zablokování účtu)
- Některé mechanismy umožňují na útoky reagovat v reálném čase
Návrh bezpečnostního logování
- Vytvořte a spravujte řešení bezpečným způsobem
- Encodujte a validujte nebezpečné znaky před zalogováním (zabránění log injection útoku)
- Nelogujte citlivé údaje (heslo, session ID, kreditní karty, rodná čísla)
- Chraňte integritu logu (vhodně upravte oprávnění logovacích souborů a zvažte audit)
- Předávejte logy z distribuovaných systémů do centrální, zabezpečené logovací služby
- Zajistí, že se data neztratí, pokud je jeden node kompromitován
- Umožňuje centralizovaný monitoring