Głównym celem projektu jest wykazanie, że tradycyjne modele bezpieczeństwa ("Zamek i Fosa"), stosowane w hurtowniach danych, są niewystarczające ("nieporadne") w obliczu dynamicznego charakteru danych strumieniowych Big Data.
- Apache Kafka (broker wiadomości)
- Apache Zookeeper (koordynacja klastra)
- Python (biblioteka
kafka-pythondla producenta i konsumenta) - Docker & Docker Compose (konteneryzacja środowiska)
- OpenSSL & Keytool (generowanie certyfikatów CA i kluczy)
- Wireshark (analiza pakietów sieciowych)
Podstawowa różnica w bezpieczeństwie wynika z odmiennego charakteru danych w obu podejściach.
| Cecha | Tradycyjna Hurtownia Danych | Architektura Big Data (strumieniowa) |
|---|---|---|
| Charakter Danych | Ustrukturyzowane, transakcyjne, historyczne. | Nieustrukturyzowane, strumieniowe, wysoka częstotliwość. |
| Przetwarzanie | Wsadowe (batch). Cykliczne ładowanie (ETL), np. raz na dobę. | Potokowe (stream). Przetwarzanie ciągłe "w locie", tuż po nadejściu. |
| Stan Danych | Dane "w spoczynku" (Data at Rest). | Dane "w ruchu" (Data in Motion). |
| Model Ochrony | "Zamek i Fosa". Silna ochrona perymetru sieciowego i centralnej bazy. | "Zero Trust". Ochrona każdej interakcji, szyfrowanie end-to-end, granularna autoryzacja. |
| Wniosek | Model centralny nie skaluje się do systemów rozproszonych. | Wymagane jest podejście warstwowe i rozproszone. |
"Tradycyjna baza danych, zoptymalizowana pod kątem spójności transakcyjnej, nie jest zaprojektowana do obsługi tak intensywnego obciążenia zapisem jak strumienie Big Data."
Stworzono symulację potoku danych, w którym Producent (symulator czujnika IoT) wysyła odczyty temperatury do Brokera (Kafka), a Konsument je odbiera.
Rys. 1. Schemat logiczny zaimplementowanego rozwiązania.
Proces zabezpieczania potoku został przeprowadzony w 4 krokach:
- Stan: Domyślna konfiguracja
PLAINTEXT. - Zagrożenie: Dane przesyłane są jawnym tekstem. Każdy w sieci może je podsłuchać i zmodyfikować.
- Dowód: Analiza Wireshark pokazująca czytelny JSON z danymi sensora.
- Rozwiązanie: Implementacja szyfrowania kanału komunikacyjnego.
- Działanie: Wygenerowanie własnego CA i certyfikatów dla brokera. Konfiguracja portu 9093 z protokołem
SSL. - Efekt: Zapewnienie poufności. Dane w Wiresharku są zaszyfrowane.
- Rozwiązanie: Wymuszenie identyfikacji klientów (Authentication).
- Działanie: Konfiguracja mechanizmu
SASL_PLAINoraz plików JAAS. - Efekt: Broker wie, KTO się łączy. Próba połączenia z błędnym hasłem kończy się błędem uwierzytelniania SASL.
- Rozwiązanie: Zasada najmniejszych uprawnień (Authorization).
- Działanie: Włączenie
AclAuthorizerw Kafce. Zdefiniowanie reguł:Producer-> Może tylko PISAĆ (Write).Consumer-> Może tylko CZYTAĆ (Read).
- Symulacja Ataku: Użytkownik zalogowany jako
Consumerpróbuje wysłać dane do brokera. - Wynik: Operacja zablokowana przez serwer. Błąd
TopicAuthorizationFailedError.
W środowiskach Big Data samo zabezpieczenie perymetru sieciowego jest nieskuteczne. Niezbędne jest wdrożenie wielowarstwowego modelu bezpieczeństwa obejmującego:
- Szyfrowanie (dla poufności danych w ruchu).
- Uwierzytelnianie (dla weryfikacji tożsamości maszyn/serwisów).
- Autoryzację ACL (dla kontroli dostępu do konkretnych zasobów).
Tylko takie podejście pozwala na bezpieczne przetwarzanie strumieni danych o wysokiej intensywności w rozproszonym środowisku.




