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

  1. Ustaw silne hasło dla użytkownika root
  2. Sprawdź domyślny port serwera i zmień go w razie potrzeby
  3. Utwórz nowego użytkownika z ograniczonymi uprawnieniami
  4. 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

  1. Ustaw politykę haseł w pliku pg_hba.conf (scram-sha-256 zamiast md5)
  2. Zmień port serwera w postgresql.conf
  3. Dodaj użytkownika tylko do odczytu dla wybranej bazy
  4. 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

  1. Sprawdź listę wszystkich użytkowników i ich uprawnienia
  2. Wskaż, które konta mają dostęp do zapisu i czy są potrzebne
  3. 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ę!

  1. Jaki jest domyślny port MySQL?
  2. Jakie uprawnienia nadaje GRANT ALL?
  3. Dlaczego warto szyfrować połączenia z SZBD?
  4. 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