CyberLab — wirtualne cyber laboratorium. Część 1
12.11.2017 | aktual.: 14.11.2017 08:43
Tytułem wstępu
Jakiś czas temu w moim poprzednim wpisie obiecałem opisać możliwości jakie daje wirtualizacja przy użyciu aplikacji VirtualBox. Od tamtej chwili upłynęło sporo czasu… Na swoje usprawiedliwienie napiszę tylko, że bardzo dużo działo się w moim życiu – zarówno prywatnym jak i zawodowym. Na szczęście są to zmiany pozytywne. Skoro czytasz ten wpis to zapewne już wiesz,że tematu nie porzuciłem, choć nieco zbyt długo zwlekałem z napisaniem tego wpisu. Ten tekst zaczyna mam nadzieję serię na temat możliwości jakie daje aplikacja VirtualBox i tego jak łatwo dzięki temu oprogramowaniu możemy zaprojektować,uruchomić, przetestować wirtualne cyber laboratorium :). Od razu wszystkich wyczulonych na piękno słowa pisanego ostrzegam i jednocześnie proszę o wyrozumiałość, nigdy nie byłem, nie jestem i z pewnością nie będę polonistą. Mam nadzieję, że wpis będzie dla Was zrozumiały i nie spowoduje oczopląsów ;).Zaczynamy.
Plan jest następujący
W tym wpisie chcę Wam przedstawić aplikację VirtualBox orazogólnie zarysować najważniejsze aspekty z nią związane. Wybór padł na VirtualBox z bardzo prostego powodu, jest to aplikacja bezpłatna oraz dostępna na wielu platformach systemowych. Dzięki temu nikt nie powinien mieć większych problemów jeśli będzie chciał samodzielnie wykonać CyberLAB, który mam nadzieję razem ze mną będziecie budować ;).
Tak wiem, wpisów na temat VirtualBox są w internecie pewnie tysiące, ale od czegoś trzeba zacząć. Więc zaczynamy od początku żeby kolejno zrealizować następujący plan:
1. VirtualBox – omówienie, instalacja, oraz konfiguracja.
2. Uruchomienie CyberLAB – przygotujemy „wirtualne laboratorium” w którym zbudujemy i będziemy testować wirtualną infrastrukturę.Zbudujemy model infrastruktury z routerem, siecią LAN, serwerami i stacjami roboczymi. Przybliżę Wam kilka bardzo fajnych rozwiązań zarówno bezpłatnych również dla wykorzystania w firmie, jak i takich które są bezpłatne tylko do wykorzystania w domu/niekomercyjnie.
3. CyberLab WAN/LAN – uruchomimy i przetestujemy wirtualny router/firewall/utm może nawet w klastrze HA. Sprawdzimy jak działa wykrywanie włamań (IDS/IPS) oraz ochrona przed próbami włamań, jak działa filtrowanie ruchu, jak działa mechanizm QOS, jak można zablokować ruch z określonego kraju, jak zablokować dostęp do określonych stron www, jak w kilka minut zapewnić sobie bezpieczny dostęp do własnej sieci LAN z internetu za pomocą VPNa i wiele innych ciekawostek ;)
4. CyberLab LAN – zaprojektujemy i uruchomimy sieć LAN z podziałem na kilka podsieci (serwery, biuro, DMZ), stworzymy polityki dostępu do określonych stref, uruchomimy serwer ActiveDirectory (na linuxie też? Tak, a co! :D), DNS, DHCP oraz autoryzację dostępu do sieci internet dla stacji roboczych, uruchomimy monitoring ruchu i jeszcze kilka innych ciekawych tematów.
5. CyberLab SeCuRiTy – Uruchomimy system SIEM, który będzie zbierał informacje z hostów w naszym CyberLabie, pozwoli na zgromadzenie informacji o hostach, będzie monitorował i wykrywał włamania a na deser pozwoli korelować wszystkie zebrane informacje. Przetestujemy nasze systemy i ich konfigurację pod kątem występowania podatności, „utwardzimy” zabezpieczenia, uruchomimy system wykrywania włamań na hostach zintegrowany z SIEM. A na deser zamienimy się w testerów bezpieczeństwa i spróbujemy się włamać do stworzonego systemu obserwując jak na nasze działania zareagują wszystkie te cudowne systemy, które po drodze uruchomiliśmy, skonfigurowaliśmy w celu ochrony naszego wirtualnego CyberLabu.
Schemat naszego CyberLab będzie wyglądał mniej więcej tak.
3…2…1… - startujemy!!!
Pierwszą czynnością jaką musimy zrobić jest instalacja VirtualBox wraz z pakietem dodatków. W tym celu, jeżeli używacie systemu windows, przechodzimy na stronę projektu do sekcji pobierania https://www.virtualbox.org/wiki/Downloadsi klikamy na Windows hosts jak na poniższym screenie.
Następnie pobieramy dodatki do VirtualBoxa, klikając na link jak na poniższym screenie.
Po pobraniu niezbędnych plików przystępujemy do instalacji, która sprowadza się do kilku kliknięć „NEXT” oraz „INSTALL” na końcu kreatora instalacji.
Bardzo ważnym etapem jest instalacja sterownika karty sieciowej, należy sprawdzić czy zaznaczone jest pole które pozwoli na instalację i prawidłowe działanie sterownika w systemie.
Następnie instalujemy pakiet dodatków do VirtualBoxa,również potwierdzamy chęć instalacji, akceptujemy regulamin (trzeba przeskrolować na sam dół) a po chwili naszym oczom ukaże się komunikat potwierdzający prawidłową instalację.
Po instalacji najlepiej zrestartować komputer żeby mieć pewność że wszystko będzie działać prawidłowo.
Po restarcie uruchamiamy naszego VirtualBoxa i tutaj mała uwaga do osób korzystających z Hyper-V na swoich komputerach. Gdy na komputerze zainstalowany jest wirtualizator Microsoftu, VirtualBox może działać tylko w ograniczonym stopniu, gdyż Hyper-V ogranicza/uniemożliwia wykorzystanie sprzętowego wsparcia wirtualizacji VT‑x/VT-d. Przez to niemożliwe jest uruchomienie 64Bitowej maszyny wirtualnej w VirtualBox na systemie z działającym Hyper-V. Jest na to jednak rozwiązanie i nie jest to usunięcie Hyper-V ;)
Uruchamiamy CMD z podniesionymi uprawnieniami („uruchom jako administrator”) a następnie wyłączamy hypervisora Hyper-V następującą komendą i restartujemy komputer.
bcdedit /set hypervisorlaunchtype off
Spowoduje to oczywiście zatrzymanie wszystkich działających maszyn wirtualnych uruchomionych na Hyper-V, ale ich nie usunie, nie usunie również samego Hyper-V.
Aby uruchomić ponownie hypervisora wydajemy komendę:
bcdedit /set hypervisorlaunchtype auto
Ok, przebrnęliśmy przez proces instalacji w sposób mniej lub bardziej skomplikowany, możemy teraz uruchomić już VirtualBox i poznać się bliżej :).
Po uruchomieniu program wita nas minimalistycznym panelem zarządzania
Zanim przejdziemy dalej do szybkiego omówienia opcji jakie dostępne są z poziomu GUI VirtualBox, pobierzmy kilka obrazów ISO, które będą potrzebne nam za chwilę oraz w kolejnych etapach budowy naszego CyberLabu.
Do pobrania wg kolejności:
1. PfSense - https://www.pfsense.org/download/
2. Windows Server 2016 - https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-201... - Konieczne jest zalogowanie się kontem Microsoft.
3. Windows 10 Ent - https://www.microsoft.com/en-us/evalcenter/evaluate-windows-10-enterpr... - Konieczne jest zalogowanie się kontem Microsoft.
4. Debian 9 - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.2.1...
Jedną z pierwszych czynności jakie powinniśmy sprawdzić to lokalizacja w której będą przechowywane pliki naszych maszyn wirtualnych. Klikamy na Plik i wybieramy „Globalne ustawienia” a następnie wskazujemy miejsce w którym będą przechowywane pliki naszych maszyn wirtualnych.
Po kolei mamy ustawienia:
1. Wejście – czyli możliwość przypisania skrótów klawiszowych do poszczególnych funkcji VirtualBoxa
2. Ustawienia aktualizacji
3. Ustawienia języka w jakim GUI komunikuje się z użytkownikiem
4. Ustawienia ekranu, czyli ustawienia rozdzielczości dla maszyn wirtualnych
5. Ustawienia sieci typu NAT
6. Ustawienia dodatków, a w zasadzie „instalator/deinstalator” dodatków
7. PROXY – jeśli system musi komunikować się z siecią za pośrednictwem PROXY to w tym miejscu właśnie tą funkcjonalność konfigurujemy.
Oprócz ustawień globalnych mamy jeszcze całą gamę dodatkowych możliwości, jakie daje nam GUI VirtualBox.
Jedną z najważniejszych będzie Host Network Manager, czylikreator służący do zarządzania sieciami typu HOST ONLY.
Rodzaje dostępnych sieci oraz ich działanie obrazuje poniższa tabela:
Dokumentacja VirtualBox - 6.2. Introduction to networking modes
Jak zapewne zauważyliście “wszystko-mającym” rodzajem sieci w Virtualbox jest sieć typu Bridge. Maszyna wirtualna, która posiada kartę sieciową ustawioną w tryb Bridge występuje w sieci LAN jak normalne urządzenie.Nie sieci wirtualnej, a w waszej sieci LAN. Możliwe jest to dzięki wirtualizacji karty sieciowej i jej wykorzystaniu przez maszynę wirtualną równolegle do systemu operacyjnego. Dzięki temu wszystkie komputery i urządzenia w Waszej sieci LAN są w stanie komunikować się z maszyną wirtualną jak z każdym innym urządzeniem podłączonym do Waszej sieci LAN. Taka konfiguracja ma wiele zalet ale niesie również zagrożenia gdyż maszyna wirtualna jest dostępna w sieci LAN bez żadnej separacji. A co za tym idzie może być również dostępna z internetu, jeśli ruch zostanie do niej skierowany, lub jeśli konfiguracja zabezpieczeń sieci jest nieprawidłowa.
Aby temu zaradzić w powstały kolejne tryby obsługi sieci w VirtualBox, tryb host-only, internat oraz tryby NAT i NAT NETWORK. W tych trybach dostęp do maszyny wirtualnej z sieci internet jest ograniczony lub całkowicie nie możliwy.
Tryby NAT umożliwiają przekierowanie ruchu na określonych portach do maszyny wirtualnej, podobnie jak dzieje się to w przypadku konfiguracji każdego routera z uruchomioną obsługą NAT.
W kolejnym wpisie zajmiemy się uruchomieniem pierwszej maszyny wirtualnej jaką będzie nasz pierwszy router, skonfigurujemy sieć w taki sposób żeby umożliwić dostęp do internetu naszej maszynie wirtualnej z zainstalowanym PfSense, oraz utworzymy sieć LAN dla trzech niezależnych podsieci zgodnie z wcześniej zaprezentowanym schematem.
Aby uruchomić nasz CyberLab potrzebujemy komputera o minimalnej konfiguracji:
- Procesor 64Bit Amd/Intel posiadający sprzętowe wsparcie wirtualizacji (Intel VT lub AMD-V)
- Pamięć RAM - minimum 1GB wolnego RAMu po uruchomieniu komputera w praktyce zalecane minimum to 4G RAM, ale w przypadku wirtualizacji im więcej tym lepiej
- Około 100G wolnego miejsca na dysku, dysk najlepiej SSD. Choć nie jest to wymagane to bardzo podniesie komfort działania maszyn wirtualnych.
- System operacyjny zgodny z aktualną wersją VirtualBox - https://www.virtualbox.org/manual/ch01.html#hostossupport
Jeśli macie jakieś propozycje, chcielibyście o coś zapytać lub omówić jakiś temat dajcie znać w komentarzach.
Edycja:
- Dodałem wymagania sprzętowe niezbędne do uruchomienia CyberLabu.