Blog 24/7

retencja logów

TAB. 1Hasłopo polsku
Po angielskulog retention
Którą formą pisaćpo polsku Polska nazwa przyjęła się w tekstach i w wyszukiwarce — używaj jej samodzielnie.
Inne formyokres przechowywania logów · przechowywanie logów · polityka przechowywania logów
KategoriaSOC, wywiad o zagrożeniach i reagowanie

Retencja logów to polityka określająca, jak długo i w jakiej postaci przechowuje się dzienniki zdarzeń systemów, aplikacji i urządzeń sieciowych. Od niej zależy, czy incydent sprzed miesięcy da się jeszcze odtworzyć. Zarządzanie logami, w tym ich przechowywanie, opisuje m.in. publikacja NIST SP 800-92 [1]. OWASP formułuje zasadę dwustronną: logów nie wolno niszczyć przed upływem wymaganego okresu przechowywania ani trzymać dłużej, niż ten okres przewiduje [2].

Jak działa

Polityka retencji odpowiada na kilka pytań: które logi się zbiera, gdzie się je przechowuje, jak długo, kto ma do nich dostęp i jak się je usuwa. OWASP podkreśla, że okresy wynikają z obowiązków prawnych, regulacyjnych i umownych [2]. Ta sama zasada dotyczy tymczasowych logów debugowania oraz kopii i wyciągów z logów [2].

Logi przechodzą zwykle przez kilka poziomów przechowywania, od szybkiego i drogiego do taniego i wolnego. Schemat poniżej pokazuje typowy cykl życia wpisu.

RYS. 1Cykl życia wpisu w logu

Amerykańskie memorandum M-21-31 definiuje przechowywanie aktywne jako takie, które ułatwia częste użycie i łatwy dostęp, a przechowywanie zimne jako minimalizujące koszty przy zachowaniu pewnego poziomu dostępu [3].

Okresy przechowywania

Nie ma jednego okresu retencji obowiązującego wszystkich. Wybrane punkty odniesienia zestawia tabela.

ŹródłoCo mówi o okresie
OMB M-21-31 (USA, 2021)dla wielu kategorii logów 12 miesięcy aktywnie i 18 miesięcy w archiwum [3]
OMB M-21-31, pełny zapis pakietówwystarczy 72 godziny [3]
UKSC i NIS2 według Sekurakabrak sztywnego okresu [5]
RODOnie dłużej, niż to niezbędne do celów przetwarzania [4]

Memorandum M-21-31 z 27 sierpnia 2021 roku dotyczy federalnych agencji USA i zostało wydane po incydentach takich jak SolarWinds [3]. Zastrzega, że podane okresy są wartościami minimalnymi [3]. Przewiduje też uwzględnienie tych wymagań w kolejnej wersji SP 800-92 [3].

W Polsce przepisy nie wskazują jednej liczby. Sekurak, omawiając NIS2 i ustawę o KSC, zauważa, że akty te nie narzucają sztywnej retencji [5]. Autor proponuje model trzech stref: gorącej na 30–60 dni z pełnym indeksowaniem, ciepłej na 6–12 miesięcy i zimnej na co najmniej 24 miesiące, uzasadniając ją cyklem audytów [5].

Retencja a ochrona danych

Logi serwera WWW zawierają zwykle adresy IP. RODO w motywie 30 wskazuje, że osobom fizycznym mogą zostać przypisane identyfikatory internetowe, takie jak adresy IP i identyfikatory plików cookie [4]. Do takich logów stosuje się więc zasadę ograniczenia przechowywania: dane w formie umożliwiającej identyfikację wolno przechowywać nie dłużej, niż jest to niezbędne do celów przetwarzania [4]. Okres retencji powinien zatem wynikać z celu, na przykład z potrzeb reagowania na incydenty, i być opisany przez administratora danych.

OWASP wymienia dane, których w ogóle nie należy zapisywać w logach: hasła, identyfikatory sesji, tokeny dostępowe, klucze szyfrujące i dane kart płatniczych [2]. Wpis zawierający token sesyjny przedłuża ryzyko o cały okres retencji.

W WordPressie

Sam WordPress nie prowadzi dziennika zdarzeń bezpieczeństwa. Logi dostępu i błędów tworzy serwer WWW, a ich retencję ustala zwykle hosting; na hostingu współdzielonym właściciel strony ma na nią niewielki wpływ. Warto więc sprawdzić, ile dni logów przechowuje dostawca i czy można je pobierać.

Rdzeń ma tryb zapisu błędów PHP. Stała WP_DEBUG_LOG ustawiona na true zapisuje log w pliku debug.log w katalogu treści, zwykle wp-content/debug.log; można też podać inną ścieżkę [6]. Stała działa tylko przy włączonym WP_DEBUG [6]. Dokumentacja nie zaleca używania narzędzi debugowania na stronach produkcyjnych [6], co opisuje hasło tryb debugowania na produkcji. Plik w domyślnym miejscu może stać się jednym z publicznie dostępnych plików wrażliwych, dlatego bezpieczniej wskazać ścieżkę poza katalogiem publicznym.

// wp-config.php — log poza katalogiem publicznym, bez wyświetlania błędów
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', '/home/example/logs/wp-debug.log' );
define( 'WP_DEBUG_DISPLAY', false );

Logi mają znaczenie po włamaniu. Dokumentacja WordPress.org zauważa, że analiza śledcza jest dla właścicieli stron często bardzo trudna, m.in. z powodu braku dostępnych danych [7]. Jeśli dane są, można je analizować narzędziami takimi jak OSSEC albo Splunk [7]. Zbyt krótka retencja oznacza, że ślady wejścia napastnika znikną, zanim ktoś zacznie ich szukać.

Zagrożenia i skutki

Zbyt krótka retencja uniemożliwia ustalenie, jak i kiedy doszło do włamania. Im dłuższy czas przebywania atakującego w sieci, tym większa szansa, że logi z początku incydentu zostały już nadpisane. Bez nich informatyka śledcza nie odtworzy przebiegu zdarzeń, a wskaźniki kompromitacji nie dadzą się sprawdzić wstecz.

Zbyt długa retencja też ma koszty. Rośnie ilość danych osobowych, które mogą wyciec, oraz koszt przechowywania. Logi bez ochrony mogą też zostać zmienione przez napastnika, który chce zatrzeć ślady.

Dobre praktyki

  • Spisany okres retencji dla każdej kategorii logów, uzasadniony celem i przepisami [2].
  • Centralizacja logów poza serwerem strony, na przykład w SIEM (Security Information and Event Management), tak aby włamanie na serwer nie kasowało śladów.
  • Wykrywanie modyfikacji i usunięcia wpisów oraz jak najszybsze kopiowanie logów na nośnik tylko do odczytu [2]; pokrewne rozwiązanie opisuje hasło kopia niezmienna (immutable backup).
  • Rejestrowanie i monitorowanie każdego dostępu do logów [2].
  • Synchronizacja czasu na wszystkich serwerach i urządzeniach, bez której nie da się zestawić zdarzeń z różnych źródeł [2].
  • Kontrola integralności logów w całym okresie retencji i alarm, gdy zapis logów niespodziewanie ustanie; oba wymagania stawia M-21-31 [3].
  • Włączenie do retencji logów WAF, które często jako jedyne pokazują próby ataku na aplikację.
TAB. 2

Przypisy

7
  1. [1] SP 800-92: Guide to Computer Security Log Management · NIST
  2. [2] Logging Cheat Sheet · OWASP
  3. [3] M-21-31: Improving the Federal Government's Investigative and Remediation Capabilities Related to Cybersecurity Incidents · Office of Management and Budget (USA)
  4. [4] Rozporządzenie (UE) 2016/679 (RODO) · EUR-Lex
  5. [5] Mapowanie NIS2 w praktyce – jak Wazuh i Zabbix pokrywają wymagania art. 21 · Sekurak
  6. [6] Debugging in WordPress · WordPress.org
  7. [7] FAQ My site was hacked · WordPress.org
TAB. 3

Hasła w tym artykule

15
TAB. 4

Linkują tutaj

15

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com