Přeskočit na hlavní obsah

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

  1. 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
  2. Nelogujte příliš málo ani hodně
  3. Logujte timestamp, identifikační informaci, IP adresu, ID uživatele
  4. Nelogujte osobní nebo citlivé údaje
  5. 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
  1. Zaznamenejte takové aktivity a označte je jako závažné
    1. 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í

  1. Vytvořte a spravujte řešení bezpečným způsobem
    1. Encodujte a validujte nebezpečné znaky před zalogováním (zabránění log injection útoku)
    2. Nelogujte citlivé údaje (heslo, session ID, kreditní karty, rodná čísla)
    3. Chraňte integritu logu (vhodně upravte oprávnění logovacích souborů a zvažte audit)
    4. 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

Kam dál

Zranitelnosti

Cheat sheety

Checklisty