Kontrola dostępu i szyfrowanie
Chroń dane w spoczynku
Kontrola dostępu i szyfrowanie to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 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.
Ochrona danych w spoczynku
Bazy danych przechowują najcenniejsze dane, dlatego najważniejsze są dwa mechanizmy: kontrola dostępu (kto może dotykać danych) oraz szyfrowanie (dzięki któremu skradzione dane stają się bezużyteczne).
Razem chronią dane zarówno podczas działania systemu, jak i w przypadku wykradzenia dysków lub kopii zapasowych.
Uwierzytelnianie a autoryzacja
Rozróżniaj te dwa pojęcia:
- Uwierzytelnianie potwierdza, kim jesteś (logowanie, certyfikat, token IAM).
- Autoryzacja określa, co możesz zrobić po zidentyfikowaniu.
Silne zabezpieczenia bazy danych wymagają obu mechanizmów: zweryfikowanych tożsamości i ściśle ograniczonych uprawnień.
Zasada najmniejszych uprawnień
Przyznaj każdemu kontu tylko te uprawnienia, których potrzebuje, i żadnych dodatkowych. Usługa raportująca powinna mieć dostęp tylko do odczytu, a aplikacja zapisująca dane nie powinna mieć możliwości usuwania tabel za pomocą DROP.
CREATE ROLE report_reader;
GRANT SELECT ON sales.* TO report_reader;
GRANT report_reader TO 'analytics_svc'@'%';Kontrola dostępu oparta na rolach
RBAC grupuje uprawnienia w role i przypisuje role użytkownikom. Takie rozwiązanie skaluje się lepiej niż przyznawanie uprawnień poszczególnym użytkownikom i ułatwia audyty.
- Zdefiniuj role:
read_only,app_writer,dba. - Przypisz użytkowników do ról.
- Regularnie przeglądaj członkostwo w rolach.
Bezpieczeństwo na poziomie wierszy i kolumn
Precyzyjna kontrola ogranicza dostęp w obrębie tabeli.
- Poziom kolumn: ukryj kolumny z wynagrodzeniami lub numerami SSN przed niektórymi rolami.
- Bezpieczeństwo na poziomie wierszy (RLS): dzierżawca widzi tylko własne wiersze.
-- PostgreSQL row-level security
ALTER TABLE orders ENABLE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation ON orders
USING (tenant_id = current_setting('app.tenant')::int);Szyfrowanie danych w spoczynku
Szyfrowanie danych w spoczynku chroni dane na dysku. Jeśli ktoś ukradnie dysk lub plik kopii zapasowej, jego zawartość będzie nieczytelna bez klucza.
Dostępne opcje obejmują szyfrowanie całego dysku, szyfrowanie systemu plików oraz bazodanowe Transparent Data Encryption (TDE).
Transparent Data Encryption
TDE automatycznie szyfruje pliki bazy danych. Aplikacje nie wymagają żadnych zmian — silnik szyfruje dane podczas zapisu i odszyfrowuje je podczas odczytu. Chroni to przed kradzieżą plików, ale nie przed atakującym, który ma już prawidłową sesję bazy danych.
-- SQL Server example concept
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE tde_cert;
ALTER DATABASE appdb SET ENCRYPTION ON;Szyfrowanie na poziomie kolumn
W przypadku szczególnie poufnych pól (numery kart, dane medyczne) szyfruj poszczególne kolumny. Tekst jawny nigdy nie jest przechowywany w bazie danych, nawet w przypadku administratora bazy danych.
Kompromis polega na tym, że zaszyfrowane kolumny trudno indeksować i przeszukiwać, dlatego stosuj tę metodę wybiórczo.
Szyfrowanie podczas przesyłania
Dane wymagają ochrony także podczas transmisji. Wymagaj używania TLS dla wszystkich połączeń klienta z bazą danych, aby nie można było przechwycić danych uwierzytelniających ani zestawów wyników.
-- PostgreSQL: force SSL in pg_hba.conf
hostssl appdb webapp 0.0.0.0/0 scram-sha-256
-- reject non-TLS:
hostnossl appdb all 0.0.0.0/0 rejectZarządzanie kluczami
Szyfrowanie jest tak silne, jak sposób zarządzania kluczami. Nigdy nie przechowuj kluczy obok chronionych przez nie danych.
- Korzystaj z usługi zarządzania kluczami (KMS) lub HSM.
- Regularnie zmieniaj klucze.
- Rozdziel obowiązki: administrator bazy danych nie powinien mieć również głównego klucza.
Połącz wszystkie elementy
Model warstwowy dla danych w spoczynku:
- Uwierzytelniaj każde połączenie (TLS + silne dane uwierzytelniające).
- Stosuj autoryzację za pomocą RBAC i zasady najmniejszych uprawnień.
- W razie potrzeby stosuj RLS i zabezpieczenia na poziomie kolumn.
- Szyfruj dane w spoczynku (TDE), a szczególnie poufne kolumny szyfruj dodatkowo.
- Zarządzaj kluczami w systemie KMS oddzielonym od bazy danych.
Szybkie sprawdzenie
Zastanów się, przed czym chroni każdy z mechanizmów.
Podsumowanie
Dane w spoczynku chroni się, łącząc kontrolę dostępu i szyfrowanie:
- Rozróżniaj uwierzytelnianie i autoryzację.
- Stosuj zasadę najmniejszych uprawnień i RBAC, a w razie potrzeby także zabezpieczenia na poziomie wierszy i kolumn.
- Szyfruj dane w spoczynku (TDE, szyfrowanie na poziomie kolumn) oraz podczas przesyłania (TLS).
- Zarządzaj kluczami oddzielnie w systemie KMS i regularnie je zmieniaj.
Często zadawane pytania
Czy lekcja „Kontrola dostępu i szyfrowanie” jest bezpłatna?
Tak — pełny tekst „Kontrola dostępu i szyfrowanie” 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 „Kontrola dostępu i szyfrowanie”?
Chroń dane w spoczynku Ć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 2 z 4.
Ile czasu zajmuje lekcja „Kontrola dostępu i szyfrowanie”?
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