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.
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

Stan bieżący a stan trwały w Home Assistant: co musi przetrwać ponowne uruchomienie?
Home Assistant nie zachowuje trwale każdej bieżącej wartości; konfiguracja, rejestry, wybrane przywracane stany, historia i dane wdrożeniowe pełnią różne funkcje podczas ponownego uruchamiania.

Jak Home Assistant uwierzytelnia sesje lokalne i zdalne?
Lokalne i zdalne sesje Home Assistant korzystają z tego samego modelu tożsamości po stronie serwera; zdalny dostęp zmienia trasę i granicę TLS, ale nie...

Dlaczego zapytania do historii Home Assistant mogą zwalniać w miarę przyrostu danych rejestratora?
Wzrost liczby rekordów może zwiększyć koszt zapytań do historii, gdy żądany zakres obejmuje więcej wierszy, rośnie liczba chybień pamięci podręcznej lub operacje na pamięci...

