Audytowanie i monitorowanie
Śledź aktywność w bazie danych
Audytowanie i monitorowanie to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Dlaczego audytować bazę danych
Audyt bazy danych rejestruje, kto co zrobił, kiedy i skąd. Jest niezbędny do wykrywania nadużyć, badania incydentów i wykazywania zgodności.
Kontrola dostępu zapobiega nieuprawnionym działaniom, a audyt informuje, kiedy mechanizmy kontroli zostały przetestowane lub ominięte.
Co poddawać audytowi
Rejestruj zdarzenia istotne dla bezpieczeństwa i zgodności:
- Logowania i nieudane próby logowania.
- Zmiany uprawnień i ról (
GRANT,REVOKE). - Zmiany schematu (
CREATE,ALTER,DROP). - Dostęp do poufnych tabel.
- Masowe eksporty danych.
Natywne rejestrowanie audytowe
Większość silników baz danych ma wbudowane funkcje audytu. Włącz je zamiast polegać wyłącznie na dziennikach aplikacji, ponieważ baza danych widzi każde zapytanie, niezależnie od klienta.
-- MySQL Enterprise / MariaDB audit plugin
INSTALL PLUGIN server_audit SONAME 'server_audit.so';
SET GLOBAL server_audit_logging = ON;
SET GLOBAL server_audit_events = 'CONNECT,QUERY,TABLE';pgAudit w PostgreSQL
PostgreSQL używa rozszerzenia pgAudit do tworzenia szczegółowych, uporządkowanych dzienników audytowych, które spełniają większość wymogów zgodności.
-- enable session and object auditing
LOAD 'pgaudit';
ALTER SYSTEM SET pgaudit.log = 'write, ddl, role';
SELECT pg_reload_conf();Nieudane logowania i brute force
Powtarzające się nieudane logowania z jednego źródła często sygnalizują atak brute force lub credential stuffing. Rejestruj je i wysyłaj alert po przekroczeniu ustalonego progu.
- Śledź nieudane próby dla każdego konta i źródłowego adresu IP.
- Blokuj dostęp lub ograniczaj częstotliwość prób po N nieudanych logowaniach.
- Wysyłaj alerty do zespołu bezpieczeństwa w czasie rzeczywistym.
Monitorowanie a audytowanie
Te pojęcia są powiązane, ale oznaczają coś innego:
- Audytowanie to trwały zapis zdarzeń do późniejszego przeglądu.
- Monitorowanie to analiza w czasie rzeczywistym, która generuje alerty.
Rejestrujesz zdarzenia w dziennikach, a następnie monitorujesz te dzienniki, aby szybko reagować.
Przekazywanie do systemu SIEM
Wysyłaj dzienniki audytowe do centralnego systemu SIEM (zarządzania informacjami i zdarzeniami bezpieczeństwa). Centralizacja dzienników zapobiega usunięciu lokalnych śladów przez atakującego i umożliwia korelację zdarzeń między systemami.
# ship postgres logs to a syslog collector
# /etc/rsyslog.d/pg.conf
if $programname == 'postgres' then @@siem.internal:514
& stopWykrywanie anomalii
Określ, jak wygląda normalne zachowanie, a następnie generuj alerty po wykryciu odchyleń:
- Konto tylko do odczytu nagle wykonujące
UPDATE. - Zapytania o 3:00 nad ranem z aplikacji działającej wyłącznie w godzinach pracy.
- Pojedyncze zapytanie zwracające miliony wierszy (możliwa eksfiltracja danych).
Ochrona logów
Same logi audytowe są celem ataków. Atakujący próbują je usuwać lub modyfikować, aby ukryć swoje ślady.
- Zapisuj logi w magazynie obsługującym wyłącznie dopisywanie lub w zdalnym magazynie.
- Ogranicz, kto może odczytywać lub usuwać dane audytowe.
- Używaj separacji
dbaw bazie danych, aby użytkownicy aplikacji nie mogli wyłączyć audytu.
Przechowywanie i przegląd
Audyt ma wartość tylko wtedy, gdy logi są przechowywane i faktycznie przeglądane.
- Ustal okres przechowywania zgodny z polityką (często rok lub dłużej).
- Planuj okresowe przeglądy, a nie tylko wyszukiwanie informacji w czasie incydentu.
- Automatyzuj raporty na potrzeby dowodów zgodności.
Kwestie wydajności
Audyt powoduje dodatkowy narzut. Dostosuj go tak, aby nie sparaliżował bazy danych.
- Audytuj wrażliwe tabele i działania uprzywilejowane, a nie każde polecenie
SELECT. - Przekieruj zapis logów na osobny dysk lub do strumienia.
- Najpierw przetestuj wpływ na wydajność w środowisku stagingowym.
Szybkie sprawdzenie
Odróżnij audyt od monitorowania.
Podsumowanie
Audyt i monitorowanie zapewniają wgląd w aktywność bazy danych:
- Audytuj logowania, zmiany uprawnień, zmiany schematu i dostęp do wrażliwych danych.
- Korzystaj z natywnych narzędzi (pgAudit, wtyczki audytowe) oraz centralnego systemu SIEM.
- Monitoruj logi, aby w czasie rzeczywistym alarmować o anomaliach.
- Chroń logi, przechowuj je i regularnie przeglądaj.
Często zadawane pytania
Czy lekcja „Audytowanie i monitorowanie” jest bezpłatna?
Tak — pełny tekst „Audytowanie i monitorowanie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Audytowanie i monitorowanie”?
Śledź aktywność w bazie danych Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Audytowanie i monitorowanie”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Ochrona przed SQL injection
- Kontrola dostępu i szyfrowanie
- Audytowanie i monitorowanie
- Bezpieczeństwo kopii zapasowych i odzyskiwania