INF
Wstępna konfiguracja SZBD
Bezpieczeństwo · Porty · Hasła · Użytkownicy · Ćwiczenia praktyczne
Teoria Bezpieczna konfiguracja SZBD
Podczas konfiguracji systemu zarządzania bazą danych (SZBD) należy zadbać o:
- Politykę haseł i poziom bezpieczeństwa
- Określenie portów serwera (np. 3306 dla MySQL, 5432 dla PostgreSQL)
- Tworzenie użytkowników i nadawanie im odpowiednich uprawnień
- Szyfrowanie komunikacji pomiędzy klientem i serwerem (SSL/TLS)
- Regularne aktualizacje systemu i bazy danych
Ćwiczenie 1 Podstawowa konfiguracja MySQL
- Ustaw silne hasło dla użytkownika root
- Sprawdź domyślny port serwera i zmień go w razie potrzeby
- Utwórz nowego użytkownika z ograniczonymi uprawnieniami
- Włącz szyfrowanie połączeń SSL (jeśli dostępne)
-- Ustaw hasło i politykę haseł
ALTER USER 'root'@'localhost' IDENTIFIED BY 'SuperSilneHasło123!';
-- Sprawdź port (domyślnie: 3306) w my.cnf
-- Dodaj użytkownika z ograniczeniami:
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'bezpieczneHaslo!';
GRANT SELECT, INSERT ON szkola.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;
Rozwinięcie teorii Bezpieczeństwo w SZBD
- Hasła użytkowników powinny spełniać wymagania długości i złożoności (cyfry, małe/duże litery, znaki specjalne)
- Warto zmieniać domyślne porty serwera, aby utrudnić automatyczne ataki
- Tworząc użytkowników, nadaj tylko niezbędne uprawnienia (zasada minimalnych uprawnień)
- Włącz szyfrowanie komunikacji, aby dane przesyłane siecią były zabezpieczone przed podsłuchem
- Stosuj regularne backupy i chroń pliki kopii zapasowych
Ćwiczenie 2 Zaawansowana konfiguracja PostgreSQL
- Ustaw politykę haseł w pliku pg_hba.conf (scram-sha-256 zamiast md5)
- Zmień port serwera w postgresql.conf
- Dodaj użytkownika tylko do odczytu dla wybranej bazy
- Włącz szyfrowanie SSL (parametr ssl = on)
# pg_hba.conf – wymagane uwierzytelnianie scram-sha-256
host all all 127.0.0.1/32 scram-sha-256
# postgresql.conf – zmiana portu
port = 5433
# Dodaj użytkownika tylko do odczytu
CREATE USER czytelnik WITH PASSWORD 'hasloCzytelnika!';
GRANT CONNECT ON DATABASE szkola TO czytelnik;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO czytelnik;
# Włącz SSL
ssl = on
Ćwiczenie 3 Audyt uprawnień i bezpieczeństwo kopii zapasowych
- Sprawdź listę wszystkich użytkowników i ich uprawnienia
- Wskaż, które konta mają dostęp do zapisu i czy są potrzebne
- Opisz procedurę wykonywania i zabezpieczania kopii zapasowych
-- Podgląd użytkowników (MySQL)
SELECT user, host FROM mysql.user;
-- Backup bazy MySQL
mysqldump -u root -p szkola > szkola_backup.sql
-- Zalecenia: przechowuj backup poza folderem serwera, najlepiej na oddzielnym, zaszyfrowanym dysku!
Quiz Sprawdź swoją wiedzę!
- Jaki jest domyślny port MySQL?
- Jakie uprawnienia nadaje GRANT ALL?
- Dlaczego warto szyfrować połączenia z SZBD?
- Wymień zasadę minimalnych uprawnień
- 3306 (MySQL)
- Wszystkie możliwe operacje na tabelach/bazie
- Aby chronić dane przesyłane przez sieć przed podsłuchem
- Nadaj użytkownikom tylko te uprawnienia, które są konieczne do wykonania zadania
Checklista Sprawdź swoje umiejętności
- Umiem skonfigurować politykę haseł i port serwera
- Tworzę użytkowników z odpowiednimi uprawnieniami
- Włączam szyfrowanie komunikacji
- Wykonuję audit uprawnień i zabezpieczam backupy
Materiały: INF.03 — Wstępna konfiguracja SZBD · Autor: Tomasz Puchała © 2025