Dlaczego przechowywać dzienniki audytu poza aplikacją serwera domowego, którą monitorują?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Dzienniki audytowe powinny być przechowywane poza monitorowaną aplikacją serwera domowego, ponieważ przejęty proces często może modyfikować, usuwać lub zatrzymywać własne lokalne dowody.

Dzienniki aplikacji mogą rejestrować działania administratorów, nieudane logowania, dostęp do plików, użycie tokenów, uruchomienia automatyzacji, wywołania narzędzi AI, zmiany uprawnień i usunięcia. Te dane są najbardziej wartościowe po awarii aplikacji lub przejęciu jej przez atakującego — dokładnie wtedy, gdy dzienniki przechowywane w zapisywalnej bazie danych lub woluminie aplikacji są najmniej godne zaufania. Zewnętrzne gromadzenie danych tworzy oddzielną granicę awarii i uprawnień. Poniższe sekcje wyjaśniają zdalne przekazywanie, przechowywanie wyłącznie z możliwością dopisywania, korelację, okres przechowywania, prywatność oraz testy wymagane do potwierdzenia, że dowody przetrwają.

Lokalne dzienniki dzielą granicę awarii i uprawnień aplikacji

Aplikacja zwykle potrzebuje uprawnień do tworzenia i rotacji własnych lokalnych dzienników. Jeśli atakujący uzyska tożsamość aplikacji lub rolę administratora bazy danych, te same uprawnienia mogą umożliwić wybiórcze usuwanie, zmianę znaczników czasu lub całkowite wymazanie dzienników.

Dokument Logging Cheat Sheet firmy OWASP wymaga ochrony przed manipulacją dziennikami podczas przesyłania i po zapisaniu. Przechowywanie jedynej kopii wewnątrz monitorowanego procesu pozostawia dowody pod kontrolą podejrzanego komponentu.

Migawki systemu plików mogą odzyskać część usuniętych lokalnych dzienników, ale mogą być wykonywane zbyt rzadko i nadal pozostawać zapisywalne za pośrednictwem tego samego przejętego administratora lub konta magazynu.

Zdalne przekazywanie zmusza atakującego do przekroczenia kolejnej granicy

Przekazujący dzienniki wysyła zdarzenia do innej usługi lub maszyny w miarę ich występowania. Po odebraniu monitorowana aplikacja nie powinna mieć uprawnień API ani uprawnień systemu plików pozwalających na przepisywanie starszych wpisów.

Centralne rejestrowanie gromadzi dane w oddzielnym repozytorium, w którym można wspólnie przeszukiwać zdarzenia z wielu systemów. Przejęcie aplikacji źródłowej nie daje już automatycznie kontroli nad przechowywaną historią audytową.

Miejscem docelowym może być inny energooszczędny serwer, urządzenie zabezpieczające, zarządzana usługa rejestrowania danych lub odizolowany zbiór danych NAS z oddzielną tożsamością. Niezależność ma większe znaczenie niż fizyczna odległość.

Podczas tymczasowych przerw w działaniu używaj lokalnego bufora, ale ogranicz jego rozmiar i przesyłaj dane po przywróceniu działania. W przeciwnym razie awaria serwera dzienników może zapełnić wolumin aplikacji lub po cichu utworzyć lukę w dowodach.

Przechowywanie wyłącznie z możliwością dopisywania i wykrywanie manipulacji chronią historię

Sama zdalna lokalizacja nie wystarczy, gdy administratorzy lub dane uwierzytelniające używane do odbierania danych mogą aktualizować dowolne historyczne wiersze. Model przechowywania powinien preferować dodawanie nowych zdarzeń zamiast edytowania istniejących.

Dziennik z możliwością wyłącznie dopisywania zachowuje sekwencyjne rekordy bez standardowych aktualizacji lub usuwania w miejscu. Niezmienne okresy przechowywania obiektów, zasady jednokrotnego zapisu, łańcuchy skrótów i podpisane punkty kontrolne mogą dodatkowo ułatwić wykrywanie nieautoryzowanych zmian.

Żaden projekt nie jest całkowicie odporny na manipulacje, gdy jeden administrator kontroluje każdy system i każdy klucz odzyskiwania. Praktycznym celem jest odporność na manipulacje oraz możliwość wykazania zmian dzięki niezależnym tożsamościom i mechanizmom kontroli magazynu.

-15% OFF

Zewnętrzne dzienniki korelują działania między granicami usług

Jeden domowy przepływ pracy może przebiegać przez odwrotne proxy, dostawcę tożsamości, aplikację, bazę danych, usługę magazynowania, silnik automatyzacji i zewnętrzne API. Lokalny dziennik aplikacji pokazuje tylko część sekwencji.

OWASP wskazuje brak telemetrii audytowej jako problem z widocznością w systemach, które pobierają dane i wykonują narzędzia. Wspólne identyfikatory żądań, identyfikatory użytkowników, identyfikatory zdarzeń, adresy źródłowe i znaczniki czasu pozwalają zewnętrznemu magazynowi dzienników odtworzyć, która usługa wykonała każdy krok.

Synchronizacja czasu jest częścią tych dowodów. Duże różnice wskazań zegarów mogą sprawić, że prawidłowa sekwencja obejmująca wiele usług będzie wyglądać na uporządkowaną w niewłaściwej kolejności.

Wytyczne ZimaSpace dotyczące oddzielania dzienników kontenerów zapobiegają również temu, by rozrost i rotacja dzienników operacyjnych splątały się z nieodwracalnym stanem aplikacji.

Okres przechowywania i kontrola dostępu zapewniają użyteczność oraz prywatność dowodów

Dzienniki audytowe mogą zawierać nazwy użytkowników, adresy IP, nazwy plików, wyszukiwane hasła, tożsamości urządzeń, nieudane dane uwierzytelniające i informacje o domowych zwyczajach. Przeniesienie ich poza aplikację koncentruje wrażliwe metadane w nowym miejscu.

Nowoczesne wytyczne dotyczące rejestrowania danych odpornego na manipulacje traktują mechanizmy integralności dzienników jako połączenie decyzji dotyczących gromadzenia, przesyłania, przechowywania, dostępu i przeglądania. Używaj szyfrowanego przesyłania, dedykowanej tożsamości do odbierania danych, dostępu analityków tylko do odczytu, udokumentowanego okresu przechowywania oraz alertów dotyczących przerw w przekazywaniu.

Przeprowadź test, generując znane zdarzenie administracyjne, potwierdzając jego zewnętrzne odebranie, usuwając lub odtwarzając aplikację i sprawdzając, czy historyczny rekord nadal można wyszukać. Następnie odłącz kolektor i potwierdź, że system zgłasza lukę, zamiast udawać, że rejestrowanie przebiega bez przerw.

Architektura dzienników działa poprawnie, gdy przejęcie aplikacji może przerwać przyszłe raportowanie, ale nie może po cichu przepisać dowodów już zaakceptowanych przez niezależny magazyn.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.