Jak zbudować bezpieczną sieć wirtualną do nauki i testowania cyberbezpieczeństwa?

Zbuduj odizolowany lab do nauki cyberbezpieczeństwa. Poznaj topologię z Kali Linux, tryby sieci w hypervisorze i zasady konfiguracji maszyn wirtualnych. Sprawdź checklistę bezpieczeństwa oraz scenariusze ćwiczeń red, blue i purple team z metrykami postępu.
06 listopada 2026
blog

Założenia i cele bezpiecznego labu do nauki cyberbezpieczeństwa

Bezpieczny lab do nauki cyberbezpieczeństwa powinien pozwalać na popełnianie błędów bez narażania prywatnych plików, urządzeń domowników i cudzych systemów. Jego zadaniem nie jest wyłącznie uruchomienie narzędzi do testów, lecz stworzenie kontrolowanego środowiska, w którym można obserwować skutki działań, analizować je i powtarzać eksperymenty. Sama wirtualizacja nie gwarantuje izolacji — maszyny wirtualne nadal korzystają z zasobów fizycznego komputera, a zależnie od ustawień mogą komunikować się z otoczeniem.

Najpierw określ, czego chcesz się nauczyć

Cel nauki wyznacza wymagania wobec środowiska. Do poznawania protokołów i analizy ruchu wystarczy niewielki lab, natomiast badanie zdarzeń występujących w kilku systemach wymaga szerszej obserwacji. Nie warto od razu odtwarzać całej infrastruktury przedsiębiorstwa: każda dodatkowa usługa zwiększa zużycie zasobów i liczbę zależności, które trzeba rozumieć.

Podstawowe kierunki pracy różnią się przede wszystkim oczekiwanym rezultatem:

  • Nauka podstaw sieci i systemów — celem jest zrozumienie komunikacji, uprawnień oraz wpływu konfiguracji na działanie usług.
  • Testowanie zabezpieczeń — służy sprawdzaniu, czy określona słabość jest możliwa do wykorzystania i jakie ma konsekwencje, wyłącznie na zasobach objętych zgodą.
  • Nauka obrony i analizy zdarzeń — koncentruje się na rozpoznawaniu niepożądanych działań, interpretacji śladów oraz ocenie skuteczności zabezpieczeń.

Te zastosowania można łączyć, ale na początku warto wybrać jedno pytanie badawcze. Przykładowo: czy zmiana uprawnień rzeczywiście ogranicza dostęp do danych? Tak określony cel pomaga odróżnić udany eksperyment od samego uruchomienia narzędzia.

Wyznacz zakres testów i granice ryzyka

Przed budową labu zapisz, które systemy należą do środowiska ćwiczeniowego, jakie działania są dozwolone i czego nie wolno obejmować testami. Testuj wyłącznie własne zasoby lub te, na których badanie masz jednoznaczną zgodę, z uwzględnieniem jej zakresu. Dostępność urządzenia w sieci nie oznacza uprawnienia do jego skanowania ani sprawdzania podatności.

Do ćwiczeń używaj danych syntetycznych i osobnych kont, bez haseł wykorzystywanych prywatnie lub zawodowo. Celowo podatny system należy traktować jako potencjalnie przejęty. Nie powinien przechowywać niczego, czego ujawnienie, utrata lub zmiana mogłyby wyrządzić szkodę. Komputer gospodarza nie jest przy tym częścią poligonu — pozostaje zasobem wymagającym ochrony.

Warto też z góry wykluczyć działania o ryzyku nieadekwatnym do poziomu przygotowania. Analiza aktywnego złośliwego oprogramowania, zwłaszcza zdolnego do samodzielnego rozprzestrzeniania, wymaga odrębnego podejścia do bezpieczeństwa. Nie należy traktować jej jako zwykłego rozszerzenia początkującego labu.

Przyjmij kryteria użytecznego środowiska

Dobry lab powinien być ograniczony zakresem, obserwowalny i odtwarzalny. Oznacza to, że wiesz, na jakie zasoby mogą wpłynąć Twoje działania, potrafisz zebrać informacje o ich skutkach i możesz wrócić do znanego stanu początkowego. Dokumentowanie założeń oraz zmian pozwala później ustalić, czy wynik wynikał z badanego mechanizmu, czy z przypadkowej różnicy w konfiguracji.

Uwzględnij również ograniczenia sprzętowe. Środowisko powinno zostawiać komputerowi gospodarza zapas pamięci, przestrzeni dyskowej i mocy obliczeniowej. Przeciążenie może powodować opóźnienia lub utratę części danych obserwacyjnych, utrudniając poprawną interpretację wyników. Mniejszy lab, którego zachowanie rozumiesz i kontrolujesz, ma większą wartość edukacyjną niż rozbudowane środowisko działające w sposób nieprzewidywalny.

Proponowana topologia labu: Kali (atakujący), ofiara, serwer usług, opcjonalnie SIEM

Na początek wystarczą trzy maszyny wirtualne: stanowisko testowe z Kali Linux, maszyna będąca celem ćwiczeń oraz serwer usług. Każda pełni inną funkcję, dzięki czemu łatwiej powiązać działanie testera z reakcją aplikacji i śladami pozostawionymi w logach. W Cognity często słyszymy pytania, jak praktycznie zaplanować taki podział ról w labie — odpowiadamy na nie także na blogu. Czwarta maszyna, z systemem SIEM, przyda się wtedy, gdy obok testowania zabezpieczeń chcesz ćwiczyć wykrywanie zdarzeń i ich analizę.

Kali Linux — stanowisko do prowadzenia testów

Maszyna z Kali Linux reprezentuje stronę atakującą, ale jej zadaniem jest przede wszystkim dostarczanie narzędzi do kontrolowanych testów: rozpoznawania usług, analizy ruchu czy oceny bezpieczeństwa aplikacji. Kali nie jest celem ćwiczeń ani bramą zapewniającą pozostałym maszynom dostęp do Internetu. Oddzielne stanowisko testowe pozwala zachować czytelny podział ról i łatwiej ustalić, skąd pochodził ruch widoczny na badanych systemach.

Ofiara — cel o znanych właściwościach

Rolę ofiary powinna pełnić maszyna przygotowana specjalnie do nauki, na przykład z celowo podatną aplikacją OWASP Juice Shop. Warto wybrać cel z dokumentacją, która opisuje jego przeznaczenie i zakres ćwiczeń. Dzięki temu można odróżnić zamierzoną podatność od przypadkowego błędu konfiguracji labu.

Ofiara służy do obserwowania skutków testów, dlatego nie powinna jednocześnie przechowywać ważnych materiałów ani obsługiwać funkcji potrzebnych całemu środowisku. Używaj wyłącznie sztucznych danych i kont przeznaczonych do ćwiczeń — bez prywatnych dokumentów, rzeczywistych haseł czy kluczy dostępowych.

Serwer usług — punkt odniesienia dla normalnego działania

Osobny serwer może udostępniać prostą stronę WWW, zasób plikowy lub inną usługę potrzebną w wybranym scenariuszu. W przeciwieństwie do celowo podatnej ofiary powinien reprezentować system skonfigurowany zgodnie z przyjętymi wymaganiami bezpieczeństwa. Pozwala to porównywać zachowanie usługi podatnej i zabezpieczonej oraz oceniać, czy działania testowe zakłócają zwykłą pracę środowiska.

Rozdzielenie tych ról ma praktyczną zaletę: awaria lub przywrócenie maszyny-ofiary nie musi przerywać działania usług pomocniczych. Na początku wystarczy jedna jasno określona funkcja serwera; dodawanie wielu usług naraz utrudnia ustalenie przyczyn błędów.

SIEM — opcjonalne stanowisko obserwacji

SIEM zbiera i koreluje zdarzenia z podłączonych źródeł, pomagając odtworzyć przebieg testu z perspektywy obrońcy. Największą wartość daje wtedy, gdy otrzymuje logi z ofiary i serwera usług. Nie zastępuje tych maszyn ani nie blokuje automatycznie każdego zagrożenia.

Samo umieszczenie SIEM w labie nie zapewnia widoczności całego ruchu. Logi systemowe i aplikacyjne wymagają przekazywania do systemu analitycznego, a obserwacja komunikacji sieciowej — odpowiedniego źródła telemetrii. Przy ograniczonych zasobach można zacząć od analizy logów lokalnych, a SIEM dołączyć, gdy celem stanie się centralne monitorowanie i budowanie reguł detekcji.

Logiczny układ komunikacji

Topologię warto rozpatrywać jako trzy obszary: stanowisko testowe, systemy poddawane obserwacji oraz monitoring. Kali inicjuje testy wyłącznie wobec celów objętych danym ćwiczeniem. Ofiara korzysta z serwera usług tylko wtedy, gdy wymaga tego scenariusz, natomiast monitorowane maszyny przekazują zdarzenia do SIEM. Obecność maszyn w jednym labie nie oznacza, że wszystkie muszą swobodnie komunikować się ze sobą. Taki podział określa potrzebne relacje, zanim zostaną dobrane tryby sieciowe i techniczne mechanizmy izolacji.

Tryby sieci w hypervisorze (NAT, Host-only, Bridged) – zastosowania i ryzyka

Tryb karty sieciowej maszyny wirtualnej określa, z kim może ona nawiązywać połączenia i z jakich sieci będzie osiągalna. W labie cyberbezpieczeństwa to istotniejszy wybór niż sama wygoda dostępu do Internetu. Brak bezpośredniego dostępu do maszyny z zewnątrz nie oznacza, że maszyna nie może komunikować się z siecią domową. Szczególnie łatwo przeoczyć tę różnicę przy korzystaniu z NAT.

TrybSposób działaniaTypowe zastosowanie w labieNajważniejsze ryzyko
NATMaszyna korzysta z translacji adresów, aby inicjować połączenia poza swoją sieć wirtualną.Pobieranie aktualizacji, pakietów i narzędzi.Możliwy dostęp do Internetu i urządzeń w sieciach osiągalnych przez hosta.
Host-onlyTworzy prywatną sieć obejmującą hosta i podłączone do niej maszyny wirtualne.Lokalne ćwiczenia oraz dostęp do usług labu z komputera gospodarza.Host pozostaje dostępny dla maszyn laboratoryjnych.
BridgedPodłącza maszynę do sieci fizycznej jako osobny węzeł.Testy wymagające obecności w wydzielonej sieci fizycznej.Bezpośrednia ekspozycja labu na tę sieć i możliwość oddziaływania na jej urządzenia.

NAT: wygodny dostęp na zewnątrz, nie pełna izolacja

W trybie NAT maszyna wirtualna zwykle może inicjować połączenia wychodzące, natomiast urządzenia z sieci fizycznej nie mogą domyślnie rozpoczynać połączeń bezpośrednio do niej. Udostępnienie usługi na zewnątrz często wymaga przekierowania portu. To praktyczne rozwiązanie podczas przygotowywania środowiska, gdy trzeba pobrać oprogramowanie lub dokumentację.

NAT nie zastępuje polityki bezpieczeństwa. Maszyna może nadal dotrzeć do domowego routera, serwera NAS czy innych zasobów dostępnych przez hosta, jeśli dodatkowe mechanizmy tego nie blokują. Nie należy więc traktować NAT jako bezpiecznej granicy dla celowo podatnej maszyny.

Warto też sprawdzić znaczenie tej nazwy w konkretnym hypervisorze. Przykładowo VirtualBox rozróżnia tryby NAT i NAT Network: pierwszy domyślnie nie zapewnia bezpośredniej komunikacji między maszynami, a drugi pozwala połączyć je we wspólnej sieci z translacją adresów. Podobna etykieta nie zawsze oznacza identyczne zachowanie.

Host-only: prywatna sieć, ale z udziałem hosta

Host-only umożliwia komunikację między maszynami wirtualnymi oraz komputerem, na którym działa hypervisor. Sam ten tryb nie zapewnia wyjścia do sieci fizycznej ani Internetu. Dobrze sprawdza się wtedy, gdy chcesz otwierać laboratoryjną aplikację w przeglądarce hosta lub korzystać z jego narzędzi administracyjnych.

Ograniczeniem jest właśnie obecność hosta w tej samej sieci. Usługi nasłuchujące na jego interfejsie laboratoryjnym mogą być osiągalne z maszyn testowych. Host-only nie oznacza zatem izolacji od komputera gospodarza. Jeżeli potrzebna jest komunikacja wyłącznie między maszynami wirtualnymi, warto odróżnić ten tryb od sieci wewnętrznej lub prywatnej, której nazwa zależy od hypervisora.

Bridged: maszyna wirtualna w sieci fizycznej

Tryb Bridged, czyli mostkowany, sprawia, że maszyna wirtualna uczestniczy w sieci fizycznej podobnie jak osobny komputer. Może otrzymać adres z działającego w niej serwera DHCP i udostępniać usługi innym urządzeniom, o ile pozwalają na to reguły sieciowe i zapory.

To uzasadniony wybór przy ćwiczeniach z fizycznymi urządzeniami w wydzielonej sieci testowej, ale nie powinien być domyślnym trybem dla podatnych maszyn w domowej lub firmowej sieci. Błędnie skierowany skan albo niezabezpieczona usługa mogą wtedy oddziaływać poza labem. Bridged warto wybierać ze względu na konkretny cel ćwiczenia, nie tylko dlatego, że upraszcza uzyskanie łączności.

Izolacja labu od sieci domowej i Internetu: segmentacja, reguły, blokady i testy szczelności

Maszynę celowo podatną na ataki należy traktować tak, jakby była już przejęta. Nie powinna mieć dostępu do domowego routera, prywatnych komputerów, dysku sieciowego ani panelu zarządzania hypervisorem. Bezpieczna izolacja oznacza, że nawet pełne przejęcie maszyny wirtualnej nie daje napastnikowi swobodnej drogi poza środowisko ćwiczeniowe. Sama odrębna adresacja nie zapewnia takiej ochrony — potrzebna jest granica sieciowa, która rzeczywiście kontroluje komunikację.

Segmentacja: oddziel ćwiczenia od zasobów, które chronisz

Podstawowy podział obejmuje strefę labu oraz sieć domową. Jeżeli ćwiczenie wymaga rozdzielenia ról, wewnątrz labu można dodatkowo wydzielić segment testowy i segment usług. Ruch między nimi powinien przechodzić przez punkt kontroli, na przykład wirtualną zaporę. Maszyny znajdujące się w jednym segmencie mogą komunikować się bez przechodzenia przez tę zaporę, dlatego jej reguły nie muszą obejmować całego ruchu wewnętrznego.

Osobno należy potraktować dostęp administracyjny. Komputer gospodarza nie staje się bezpieczny tylko dlatego, że uruchamia maszyny wirtualne. Jeśli ma interfejs dostępny z labu, jego usługi mogą być osiągalne dla uczestniczących w ćwiczeniu systemów. Dopuszczaj wyłącznie potrzebny ruch zarządzający, inicjowany z zaufanej strony, bez przyznawania maszynom testowym ogólnego dostępu do gospodarza.

VLAN lub osobna podsieć wyznaczają granicę segmentu, ale nie zastępują kontroli dostępu. O skuteczności separacji decyduje to, czy istnieje droga między segmentami i jakie reguły obowiązują na tej drodze. Wirtualna zapora również nie pomoże, jeżeli dodatkowy interfejs maszyny umożliwi jej ominięcie.

Reguły i blokady: domyślnie zabraniaj, zezwalaj na konkretny cel

Na granicy labu przyjmij zasadę „blokuj wszystko, czego jawnie nie dopuszczono”. Wyjątki powinny określać źródło, cel, usługę oraz uzasadnienie. Szeroka reguła pozwalająca na cały ruch wychodzący odbiera izolacji znaczną część wartości: przejęta maszyna mogłaby wysyłać dane lub kontaktować się z zewnętrzną infrastrukturą.

  • Lab → sieć domowa i zarządzanie: blokuj dostęp do urządzeń domowych, gospodarza oraz interfejsów administracyjnych, poza ściśle uzasadnionymi wyjątkami.
  • Lab → Internet: domyślnie blokuj. Samo odcięcie prywatnych zakresów adresowych nie zatrzyma komunikacji z publicznymi adresami.
  • Sieci zewnętrzne → lab: nie udostępniaj usług podatnych maszyn przez przekierowania portów ani inne mechanizmy publikowania.
  • Między segmentami labu: dopuszczaj tylko komunikację potrzebną w danym scenariuszu, zamiast zezwalać na dowolne połączenia między wszystkimi maszynami.

Polityka musi obejmować zarówno IPv4, jak i IPv6, jeżeli oba protokoły są aktywne. Uwzględnij też usługi pośredniczące: dostępny serwer DNS lub proxy może przekazywać ruch poza lab, mimo że bezpośrednie połączenia są blokowane.

Jeśli potrzebujesz pobrać aktualizacje lub narzędzia, potraktuj dostęp do Internetu jako kontrolowany wyjątek: dla wskazanej maszyny, niezbędnych usług i określonego czasu. Bezpieczniejszą alternatywą bywa pobranie materiałów poza labem i ich kontrolowane przeniesienie. Po zamknięciu wyjątku sprawdź, czy wcześniej zestawione połączenia nie pozostały aktywne w tablicy stanów zapory.

Testy szczelności: sprawdź blokadę, nie tylko zapis reguł

W Cognity omawiamy weryfikację izolacji labu zarówno od strony technicznej, jak i praktycznej — zgodnie z realiami pracy uczestników. Testuj z wnętrza każdej odizolowanej strefy, zwłaszcza z maszyny będącej celem ataków. Używaj wyłącznie własnych lub autoryzowanych punktów testowych. Nie skanuj całej sieci domowej — do weryfikacji granicy wystarczy kontrolowany host z usługą, o której wiesz, że działa.

Obszar testuCo zweryfikowaćOczekiwany wynik
Sieć domowa i gospodarzPróbę połączenia z kontrolowaną usługą poza labem.Blokada potwierdzona na granicy labu.
InternetBezpośrednie połączenie z autoryzowanym publicznym punktem testowym oraz rozwiązywanie nazw.Brak niedozwolonej komunikacji, także przez pośredników.
Segmenty wewnętrzneUsługę dozwoloną i usługę zabronioną między tymi samymi strefami.Działa wyłącznie jawnie dopuszczony ruch.
Dostęp do labu z zewnątrzPróbę połączenia z własnego urządzenia poza strefą ćwiczeń.Podatne usługi nie są osiągalne.

Brak odpowiedzi na ping nie jest dowodem izolacji. ICMP może być blokowany, podczas gdy połączenia TCP lub UDP nadal działają. Wyniki prób zestawiaj z logami zapory, licznikami reguł lub przechwyceniem ruchu na granicy segmentu. Pozwala to odróżnić rzeczywistą blokadę od niedziałającej usługi czy błędu DNS. Testy powtarzaj po zmianie reguł, dodaniu interfejsu sieciowego oraz uruchomieniu VPN na gospodarzu — każda taka zmiana może utworzyć niezamierzoną drogę komunikacji.

💡 Pro tip: Przygotuj krótki test kontrolny izolacji i uruchamiaj go także po przywróceniu migawki lub sklonowaniu maszyny: sprawdzaj jedno połączenie dozwolone oraz próby połączeń, które powinny być blokowane. Wyniki porównuj z licznikami reguł lub logami zapory — samo niepowodzenie połączenia może oznaczać awarię usługi, a nie skuteczną izolację.

Konfiguracja maszyn wirtualnych: adresacja, DNS/DHCP, routing oraz ograniczenia komunikacji

Konfiguracja sieciowa maszyn powinna jednoznacznie określać trzy rzeczy: adres każdego systemu, sposób rozwiązywania nazw oraz dozwolone kierunki komunikacji. W prostym labie działającym w jednej podsieci wystarczą adresy IP z odpowiednią maską. Brama domyślna i zewnętrzny DNS nie są potrzebne do komunikacji między maszynami w tym samym segmencie. Warto zacząć od takiej konfiguracji i dodawać kolejne elementy tylko wtedy, gdy wymaga ich ćwiczenie.

Adresacja: stałe adresy czy DHCP?

Wybierz prywatną podsieć, która nie pokrywa się z adresacją sieci domowej, połączeń VPN ani innych sieci wirtualnych na komputerze. Przykładowo można wykorzystać 10.77.10.0/24, ale dopiero po sprawdzeniu, czy ten zakres nie jest już używany. Nakładające się zakresy utrudniają routing i mogą kierować ruch do innej sieci niż zamierzona.

Stałe adresy sprawdzają się przy usługach, do których pozostałe maszyny mają trafiać zawsze pod tym samym adresem. DHCP ułatwia natomiast obsługę często tworzonych i usuwanych systemów. Rozwiązaniem pośrednim są rezerwacje DHCP: konfigurację przekazuje serwer, lecz określony interfejs otrzymuje przewidywalny adres.

Element konfiguracjiPrzykładZastosowanie
Podsieć i maska10.77.10.0/24, czyli 255.255.255.0Wspólny segment dla maszyn uczestniczących w ćwiczeniu
Zakres adresów statycznych10.77.10.10–10.77.10.49Systemy wymagające stałej adresacji
Pula dynamiczna DHCP10.77.10.100–10.77.10.199Maszyny tymczasowe i klienckie
Brama domyślnaBrak w wariancie jednopodsieciowym bez dostępu poza segmentZapobiega dodaniu niepotrzebnej trasy domyślnej

Adresów przypisywanych ręcznie nie umieszczaj w puli dynamicznej. Zapisuj również powiązanie nazwy maszyny, adresu IP i adresu MAC. Po klonowaniu systemu sprawdź, czy kopia nie odziedziczyła statycznego IP oryginału; przy rezerwacjach DHCP znaczenie ma także unikalny MAC.

DNS i DHCP: przekazuj tylko potrzebną konfigurację

W niewielkim środowisku można używać samych adresów IP lub lokalnych wpisów w plikach hosts. Wewnętrzny DNS staje się przydatny, gdy ćwiczenia obejmują aplikacje korzystające z nazw, wiele usług albo uwierzytelnianie domenowe. Dla zwykłych nazw testowych można zastosować domenę lab.test, na przykład web.lab.test. Końcówka .test jest zarezerwowana do takich zastosowań.

Jeśli lab ma działać bez rozwiązywania nazw internetowych, lokalny resolver nie powinien przekazywać zapytań do zewnętrznych serwerów ani samodzielnie wykonywać rekursji w Internecie. Nie ustawiaj publicznego DNS jako serwera zapasowego. System może z niego korzystać w sposób, który nie odpowiada prostemu założeniu „tylko po awarii pierwszego”.

W podstawowym wariancie pozostaw jeden serwer DHCP w danym segmencie. Sprawdź, czy adresów nie rozdaje już usługa hypervisora. DHCP przekazuje nie tylko IP i maskę, lecz także opcje bramy oraz DNS — w labie bez routingu poza podsieć opcję bramy należy pominąć. Po zmianie ustawień odnowienie dzierżawy pozwoli klientowi pobrać aktualne parametry.

Routing: bez zbędnych tras domyślnych

Maszyny w jednej podsieci komunikują się bez routera. Jeżeli scenariusz wymaga dostępu do innego segmentu laboratoryjnego, dodaj trasę do konkretnej podsieci przez wskazany router, zamiast automatycznie kierować przez niego cały ruch. Brama musi być osiągalna przez lokalny interfejs, a komunikacja wymaga również poprawnej drogi powrotnej.

Po uruchomieniu maszyny sprawdź jej rzeczywistą tablicę routingu, zwłaszcza gdy ma więcej niż jedną kartę sieciową. W Linuksie służą do tego polecenia ip route i ip -6 route, a w Windows route print. IPv6 wymaga osobnej uwagi: adres i trasa domyślna mogą pojawić się automatycznie dzięki ogłoszeniom routera, niezależnie od ręcznej konfiguracji IPv4.

Ograniczenia komunikacji na poziomie systemu gościa

Na każdej maszynie dopasuj nasłuchujące usługi i lokalną zaporę do jej zadania. Usługa potrzebna wyłącznie wewnątrz systemu powinna nasłuchiwać na interfejsie loopback. Usługę udostępnianą innym maszynom przypisz, jeśli to możliwe, do konkretnego adresu laboratoryjnego zamiast do wszystkich interfejsów.

Reguły zapory opisuj przez źródło, cel, protokół i port. Przykładowo dostęp administracyjny SSH można dopuścić tylko z wybranego adresu, a testowaną aplikację HTTP udostępnić maszynom uczestniczącym w ćwiczeniu. W zaporze stanowej uwzględnij ruch odpowiedzi dla dozwolonych połączeń. Nie zastępuj diagnozy problemu wyłączeniem całej zapory — sprawdź kolejno adres docelowy, rozwiązywanie nazwy, trasę, nasłuch usługi i właściwą regułę. Dzięki temu konfiguracja pozostaje czytelna, a wynik ćwiczenia nie zależy od przypadkowo otwartego dostępu.

Checklista bezpieczeństwa: snapshoty, aktualizacje, wyłączenie forwardingu, ograniczenie udostępnień

Przed uruchomieniem ćwiczenia sprawdź nie tylko maszyny wirtualne, lecz także ich powiązania z hostem. Wspólny schowek, zapis do katalogu gospodarza czy dodatkowa karta sieciowa mogą naruszyć izolację starannie przygotowanego labu. Poniższa checklista pomaga ograniczyć takie ryzyko i zachować możliwość powrotu do znanego, sprawdzonego stanu.

Snapshoty: przygotuj punkt powrotu przed testem

Utwórz migawkę bazową po skonfigurowaniu i sprawdzeniu maszyny, a kolejną przed ćwiczeniem zmieniającym jej stan. W nazwie lub opisie zapisz datę, wersję środowiska i najważniejsze ustawienia. Unikaj niejednoznacznych oznaczeń typu „działa” — po kilku sesjach trudno ustalić, co faktycznie obejmują.

Migawka pozwala szybko cofnąć zmiany, ale nie zastępuje kopii zapasowej: zwykle zależy od plików maszyny i tego samego nośnika. Zachowaj osobną kopię konfiguracji oraz obrazu bazowego. Pamiętaj też, że przywrócenie snapshotu nie cofnie zmian zapisanych w folderach współdzielonych ani w zewnętrznych usługach. Jeśli ćwiczenie obejmuje kilka współpracujących maszyn, przygotuj ich spójny stan, najlepiej po kontrolowanym wyłączeniu.

Aktualizacje: oddziel ochronę platformy od podatności ćwiczeniowych

Aktualizuj system gospodarza, hypervisor oraz używane komponenty integracyjne. Dotyczy to również narzędzi administracyjnych i maszyn, które nie mają być celowo podatne. Luki w warstwie wirtualizacji mogą zagrozić hostowi niezależnie od zabezpieczeń systemu gościa.

Celowo podatną maszynę traktuj jako udokumentowany wyjątek, nie jako wzorzec utrzymania całego labu. Jej aktualizacja może usunąć podatność potrzebną do ćwiczenia. Zapisz więc wymaganą wersję i uzasadnienie pozostawienia jej bez poprawek. Aktualizacje pozostałych komponentów wykonuj w kontrolowanym oknie serwisowym; nie pozostawiaj dodatkowego dostępu do Internetu tylko dlatego, że wcześniej służył do pobrania pakietów.

Forwarding: wyłącz przekazywanie ruchu tam, gdzie jest zbędne

Sprawdź przekazywanie pakietów zarówno dla IPv4, jak i IPv6 na maszynach, które nie mają pełnić funkcji routera. Zweryfikuj nie tylko stan bieżący, ale również ustawienia utrwalane po restarcie. Usługi VPN, oprogramowanie kontenerowe lub funkcje udostępniania połączenia mogą zmieniać sposób obsługi ruchu.

Nie wyłączaj jednak forwardingu bez sprawdzenia zależności: na hoście może być potrzebny do działania zamierzonego NAT-u hypervisora. Oddziel też przekazywanie pakietów między interfejsami od przekierowania portów. To różne mechanizmy — niepotrzebne mapowania portów należy usunąć osobno.

Udostępnienia: ogranicz wygodne skróty między gościem a hostem

  • Foldery współdzielone: domyślnie je wyłącz. Jeśli są konieczne, udostępnij wyłącznie osobny katalog roboczy, najlepiej tylko do odczytu. Nie podłączaj katalogu domowego, kopii zapasowych ani zasobów zawierających klucze i hasła.
  • Schowek oraz przeciąganie i upuszczanie: wyłącz integrację, szczególnie na maszynach podatnych. Przypadkowe wklejenie hasła lub polecenia może mieć skutki poza labem.
  • USB i inne urządzenia hosta: usuń automatyczne przechwytywanie urządzeń. Podłączaj jedynie te, które są niezbędne w danym ćwiczeniu.
  • Dane uwierzytelniające: używaj osobnych kont testowych. Nie zapisuj w maszynach laboratoryjnych prywatnych tokenów, kluczy SSH ani haseł używanych w innych systemach.

Po przywróceniu migawki ponownie przejrzyj ustawienia bezpieczeństwa. Snapshot może odtworzyć starsze poprawki lub ustawienia gościa, natomiast część opcji hypervisora pozostaje zarządzana niezależnie. Sama udana operacja przywracania nie oznacza, że środowisko jest gotowe do bezpiecznego testu.

Przykładowy plan ćwiczeń i scenariusze treningowe (blue/red/purple team) z metrykami postępu

Dobry scenariusz treningowy zaczyna się od pytania, na które da się odpowiedzieć po zakończeniu testu: czy rozpoznasz nietypowe logowanie, zauważysz rozpoznanie usług albo odtworzysz przebieg zdarzenia z logów? Samo uruchomienie narzędzia nie jest jeszcze wynikiem. Każde ćwiczenie powinno mieć określony zakres, oczekiwany rezultat i sposób pomiaru. Działania ofensywne ogranicz do maszyn labowych, do których masz uprawnienia; korzystaj z kont testowych i danych syntetycznych.

Blue, red i purple team — trzy sposoby pracy w labie

Blue team skupia się na obronie: obserwacji zdarzeń, wykrywaniu nieprawidłowości, analizie i reakcji. To dobry punkt wyjścia do nauki pracy z logami oraz odróżniania zwykłej aktywności od sygnałów incydentu. Red team przyjmuje perspektywę atakującego i sprawdza, czy w ustalonym zakresie można osiągnąć konkretny cel, na przykład uzyskać dostęp do przygotowanego zasobu testowego. W małym labie będą to uproszczone scenariusze ofensywne, a nie pełne operacje red teamingowe.

Purple team łączy obie perspektywy: po wykonaniu działania sprawdzasz jego ślady, oceniasz wykrywanie i poprawiasz mechanizmy obronne. Możesz pracować samodzielnie, zmieniając role. Najważniejszy jest przepływ informacji między testem ofensywnym a analizą obronną, nie liczba uczestników.

Plan czterech sesji treningowych

  • Sesja 1 — blue team: rozpoznanie nietypowych logowań. Najpierw zarejestruj zwykłą aktywność użytkownika testowego, następnie wykonaj ustaloną serię nieudanych logowań zakończoną poprawnym logowaniem. Odszukaj zdarzenia i ustal konto, źródło oraz kolejność prób. Kryterium sukcesu: poprawna oś czasu i uzasadnienie, dlaczego aktywność wymaga weryfikacji. Same nieudane logowania nie przesądzają jeszcze o ataku.
  • Sesja 2 — red team: rozpoznanie wskazanej maszyny. Zidentyfikuj dostępne usługi wyłącznie na wyznaczonym celu labowym. Zapisz ustalenia i oddziel informacje potwierdzone od przypuszczeń, na przykład dotyczących wersji oprogramowania. Kryterium sukcesu: zgodność rozpoznania z rzeczywistą konfiguracją celu, a nie liczba wygenerowanych żądań.
  • Sesja 3 — purple team: od działania do detekcji. Powtórz rozpoznanie z poprzedniej sesji i sprawdź, co zarejestrowały dostępne źródła danych. Jeżeli korzystasz z SIEM, oceń również działanie reguły wykrywania. Brak alertu rozpatrz osobno od braku logów: przyczyną może być zarówno luka w widoczności, jak i niewłaściwy warunek detekcji. Kryterium sukcesu: wskazanie przyczyny oraz potwierdzenie efektu poprawki w ponownym teście.
  • Sesja 4 — blue/purple team: reakcja i odtworzenie przebiegu. Przygotuj sekwencję obejmującą logowanie na konto testowe i zmianę kontrolnego pliku. Na podstawie zebranych danych ustal, co się wydarzyło, a następnie przećwicz reakcję, na przykład zablokowanie tego konta. Kryterium sukcesu: poprawne ustalenia oraz potwierdzenie, że blokada działa i nie uniemożliwia korzystania z usługi innemu uprawnionemu kontu.

Metryki, które pokazują rzeczywisty postęp

Mierz czas do wykrycia od pierwszego działania testowego do alertu lub świadomego rozpoznania zdarzenia — zaznacz, którą z tych wartości zapisujesz. Osobno notuj czas reakcji, liczony od wykrycia do potwierdzenia skuteczności wybranego działania obronnego. Przy porównywaniu prób zachowuj te same punkty początkowe i końcowe.

Oceniaj też pokrycie detekcji: ile zaplanowanych zdarzeń wymagających wykrycia rzeczywiście rozpoznano. Sprawdzaj liczbę fałszywych alarmów podczas porównywalnej zwykłej aktywności oraz kompletność analizy — czy poprawnie ustalono źródło, konto, czas i skutek zdarzenia. Wyniki odnoś do danego scenariusza; wykrycie wszystkich prób w jednym ćwiczeniu nie dowodzi pełnej skuteczności obrony.

Po każdej sesji zapisz oczekiwany i rzeczywisty wynik, dowody oraz jedną zmianę do sprawdzenia. Następnie powtórz test w porównywalnych warunkach. Postęp oznacza nie tylko szybsze wykrycie, lecz także trafniejszą diagnozę, mniej fałszywych alarmów i skuteczną reakcję bez zbędnego zakłócania pracy usług.

💡 Pro tip: Przed pomiarem czasu wykrycia zsynchronizuj zegary maszyn z lokalnym źródłem czasu i ujednolić sposób zapisu stref czasowych w wynikach. Prowadź osobny dziennik działań testowych z dokładnymi znacznikami czasu, aby po ćwiczeniu porównać rzeczywisty przebieg z alertami i osią czasu odtworzoną przez obrońcę.

Rekomendacje dla małej firmy: minimalny zestaw dobrych praktyk

W małej firmie lab do nauki cyberbezpieczeństwa powinien odpowiadać na konkretne potrzeby: przygotować administratora do rozpoznawania incydentów, pomóc zweryfikować ustawienia usług albo umożliwić przećwiczenie reakcji na podejrzane zdarzenie. Nie musi odtwarzać całej infrastruktury przedsiębiorstwa. Na początek wystarczy środowisko obejmujące jeden ważny proces lub usługę, z jasno określonym opiekunem i zasadami użytkowania.

Warto rozróżnić lab szkoleniowy od środowiska przedprodukcyjnego. Pierwszy służy eksperymentom i może zawierać celowo podatne systemy. Drugie pozwala oceniać zmiany przed wdrożeniem, dlatego powinno możliwie wiernie odwzorowywać istotne cechy produkcji. Łączenie tych ról utrudnia utrzymanie wiarygodnych warunków testowych i zwiększa ryzyko przypadkowego wykorzystania niebezpiecznej konfiguracji w firmie.

Minimum organizacyjne przed uruchomieniem testów

  • Wyznacz osobę odpowiedzialną za lab. Powinna zatwierdzać dostęp, znać przeznaczenie środowiska i mieć uprawnienia do jego zatrzymania. Ustal również zastępstwo na czas jej nieobecności.
  • Zapisz zakres dozwolonych działań. Krótki regulamin powinien wskazywać zasoby objęte testami, osoby upoważnione oraz działania wymagające osobnej zgody. Dostęp do firmowej infrastruktury nie oznacza automatycznie pozwolenia na jej skanowanie lub testowanie podatności.
  • Używaj danych syntetycznych i odrębnych kont testowych. Do ćwiczeń nie przenoś baz klientów, skrzynek pocztowych ani haseł i kluczy używanych w działalności firmy. Realistyczny scenariusz zwykle można przygotować bez rzeczywistych danych osobowych i tajemnic przedsiębiorstwa.
  • Kontroluj dostęp pracowników i wykonawców. Nadawaj go imiennie, na określony czas i tylko w potrzebnym zakresie. Po zakończeniu współpracy odbieraj uprawnienia. Jeżeli test obejmuje usługę zewnętrznego dostawcy, wcześniej sprawdź warunki umowy i wymagane zgody.
  • Ustal prostą ścieżkę zgłoszenia problemu. Uczestnik powinien wiedzieć, komu zgłosić niezamierzoną komunikację z zasobami firmy, ujawnienie danych lub wpływ ćwiczenia na działającą usługę. W takiej sytuacji priorytetem jest przerwanie testu i ocena skutków, nie dokończenie zadania.

Rozwijaj środowisko według potrzeb, nie liczby narzędzi

Budżet powinien uwzględniać nie tylko sprzęt i licencje, lecz także czas na przygotowanie ćwiczeń, utrzymanie środowiska i analizę wyników. Zanim firma kupi kolejne rozwiązanie, warto sprawdzić, czy zespół potrafi wykorzystać informacje dostarczane przez obecne narzędzia. Rozbudowa ma sens wtedy, gdy usuwa konkretną przeszkodę w nauce lub umożliwia sprawdzenie istotnego zabezpieczenia. W Cognity łączymy teorię z praktyką – dlatego zagadnienia bezpiecznego testowania rozwijamy także w formie ćwiczeń na szkoleniach.

Po ćwiczeniu zachowaj krótką notatkę: co sprawdzono, jakie ograniczenie wykryto i kto odpowiada za dalsze działanie. Wynik testu w labie jest podstawą do decyzji, a nie zgodą na automatyczne wdrożenie zmiany w produkcji. Każda taka zmiana powinna przejść firmowy proces oceny i zatwierdzenia, proporcjonalny do jej ryzyka.

Najczęściej zadawane pytania i odpowiedzi odnośnie Jak zbudować bezpieczną sieć wirtualną do nauki i testowania cyberbezpieczeństwa?

Jakie maszyny wirtualne przygotować do nauki cyberbezpieczeństwa?

Na początek wystarczą trzy maszyny wirtualne: Kali Linux, cel ćwiczeń i serwer usług. Rozdzielenie ich zadań ułatwia obserwację skutków testu oraz ustalenie przyczyn błędów.

  • Kali Linux dostarcza narzędzi do prowadzenia kontrolowanych testów.
  • Celowo podatna maszyna pozwala badać skutki wykorzystania znanych słabości.
  • Serwer usług stanowi punkt odniesienia dla poprawnie zabezpieczonego systemu.

Każdej maszynie przypisz konkretną rolę, zamiast od razu odtwarzać rozbudowaną infrastrukturę.

Jaki tryb sieci wybrać do izolowanego labu: NAT, Host-only czy Bridged?

Do komunikacji wyłącznie między maszynami wirtualnymi wybierz sieć wewnętrzną lub prywatną, zgodnie z nazewnictwem hypervisora. Host-only obejmuje również komputer gospodarza, więc nie izoluje od niego labu. NAT umożliwia połączenia wychodzące i nie gwarantuje odcięcia sieci domowej. Bridged podłącza maszynę do sieci fizycznej, dlatego nadaje się do ćwiczeń w wydzielonym środowisku, a nie jako domyślne ustawienie podatnego systemu.

Jak sprawdzić, czy lab jest odizolowany od sieci domowej i Internetu?

Izolację sprawdzaj próbami połączeń z kontrolowanymi usługami oraz analizą logów lub liczników zapory. Testuj z każdej strefy labu, szczególnie z maszyny będącej celem ćwiczeń.

  • Potwierdź działanie połączenia jawnie dozwolonego.
  • Sprawdź blokadę dostępu do własnego punktu testowego poza labem.
  • Uwzględnij IPv4, IPv6 oraz komunikację przez DNS i proxy.

Sam brak odpowiedzi na ping nie dowodzi izolacji: inne protokoły mogą nadal działać.

Czy maszyny w labie potrzebują Internetu, bramy domyślnej i serwera DNS?

Maszyny w jednej podsieci mogą komunikować się bez Internetu, bramy domyślnej i serwera DNS. Do prostych ćwiczeń wystarczą poprawne adresy IP oraz maski. Jeśli aplikacje wymagają nazw, można wykorzystać pliki hosts albo wewnętrzny DNS. W labie bez dostępu zewnętrznego nie ustawiaj publicznego serwera DNS jako zapasowego. Routing dodawaj dopiero wtedy, gdy scenariusz wymaga komunikacji z innym segmentem.

Czy snapshot maszyny wirtualnej zastępuje kopię zapasową labu?

Snapshot nie zastępuje kopii zapasowej, ponieważ zwykle zależy od plików maszyny i tego samego nośnika. Służy przede wszystkim do szybkiego cofania zmian po ćwiczeniu. Osobno zachowaj kopię konfiguracji oraz obrazu bazowego. Przywrócenie migawki nie odwróci zmian w folderach współdzielonych ani usługach zewnętrznych. Przy scenariuszu obejmującym kilka maszyn przygotuj ich spójny stan początkowy, najlepiej po kontrolowanym wyłączeniu.

Co wyłączyć w ustawieniach maszyny wirtualnej, aby lepiej chronić komputer gospodarza?

Domyślnie wyłącz foldery współdzielone, wspólny schowek, przeciąganie plików i automatyczne przechwytywanie USB. Te udogodnienia tworzą dodatkowe powiązania między systemem ćwiczeniowym a gospodarzem. Jeżeli wymiana plików jest konieczna, udostępnij osobny katalog roboczy, najlepiej tylko do odczytu. Nie udostępniaj katalogu domowego ani zasobów zawierających hasła, klucze lub kopie zapasowe. Integracje włączaj wyłącznie na potrzeby konkretnego ćwiczenia.

Czy SIEM jest potrzebny w początkującym labie cyberbezpieczeństwa?

SIEM nie jest niezbędny na początku — naukę analizy zdarzeń można rozpocząć od logów lokalnych. Warto go dołączyć, gdy celem staje się centralne zbieranie zdarzeń, ich korelacja i budowanie reguł wykrywania. Samo uruchomienie SIEM nie zapewnia widoczności całego labu. Trzeba skonfigurować przekazywanie logów, a do obserwacji ruchu sieciowego zapewnić odpowiednie źródło telemetrii.

Czy należy aktualizować celowo podatne maszyny w labie?

Celowo podatną maszynę można pozostawić bez wybranych poprawek, jeżeli są potrzebne do zachowania podatności ćwiczeniowej. Taki wyjątek powinien mieć zapisane uzasadnienie oraz wymaganą wersję oprogramowania. Nie obejmuje on gospodarza, hypervisora ani pozostałych systemów, które należy aktualizować. Jeśli pobieranie pakietów wymaga Internetu, dopuść dostęp tylko na czas prac, a po ich zakończeniu usuń wyjątek i sprawdź blokadę komunikacji.

icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments