Zabezpieczanie Proxmox Home Lab: przewodnik krok po kroku
Aby lepiej zrozumieć funkcje i możliwości Proxmox, nowi użytkownicy często decydują się na stworzenie środowiska testowego z wykorzystaniem hosta Proxmox, zwanego domowym laboratorium Proxmox. Konieczne jest zapewnienie odpowiednich środków bezpieczeństwa w ramach konfiguracji domowego laboratorium Proxmox. W tym wpisie na blogu omówiono najlepsze rozwiązania dotyczące bezpieczeństwa Proxmox, które należy wdrożyć, aby zapobiec utracie danych i chronić się przed cyberzagrożeniami.
Dlaczego zabezpieczenie domowego laboratorium Proxmox jest niezbędne
Bez odpowiednich środków bezpieczeństwa środowisko Proxmox może stać się podatne na cyberzagrożenia, wycieki danych i nieautoryzowany dostęp. Bezpieczeństwo domowego laboratorium Proxmox ma kluczowe znaczenie zarówno w celach osobistych, jak i zawodowych. Nieautoryzowani użytkownicy uzyskujący dostęp do hosta Proxmox mogą stanowić zagrożenie dla samego hosta, maszyn wirtualnych, Urządzenia NAS oraz innych hostów podłączonych do sieci. Nieautoryzowany dostęp może prowadzić do infekcji złośliwym oprogramowaniem i oprogramowaniem wymuszającym okup, powodując wycieki i utratę danych. Ponieważ hosty Proxmox zazwyczaj działają na sprzęcie fizycznym, osoby atakujące mogą wykorzystywać te zasoby sprzętowe do wydobywania kryptowalut, prowadzenia innych cyberprzestępczych działań, włączania hosta Proxmox do botnetu, uruchamiania złośliwych skryptów itp. Czynniki te mogą znacznie obniżyć wydajność hosta i maszyn wirtualnych.
Podstawowe środki bezpieczeństwa dla Proxmox
Aby zmniejszyć ryzyko nieautoryzowanego dostępu do domowego laboratorium Proxmox, należy zrozumieć, jak zabezpieczyć środowisko Proxmox, oraz wdrożyć podstawowe praktyki bezpieczeństwa.
Ustaw silne hasła i włącz uwierzytelnianie dwuskładnikowe (2FA)
Stosowanie silnych haseł do kont w zakresie administracji stanowi pierwszą linię obrony. Należy używać unikalnych haseł składających się z co najmniej 8 znaków. Hasło powinno zawierać małe i wielkie litery, cyfry oraz znaki specjalne. Aby ułatwić sobie zapamiętanie hasła, można używać fraz haseł spełniających te wymagania. Silne hasło spełniające wymagania dotyczące złożoności stanowi barierę dla atakujących, ponieważ ataki metodą brute force nie są w stanie go łatwo złamać. W celu zwiększenia bezpieczeństwa można skonfigurować uwierzytelnianie dwuskładnikowe (uwierzytelnianie wieloskładnikowe, MFA lub 2FA). Proxmox obsługuje konfigurację uwierzytelniania dwuskładnikowego na wiele sposobów, np. przy użyciu jednorazowego hasła opartego na czasie (TOTP) lub YubiKey OTP. Ustawienia uwierzytelniania można edytować w interfejsie internetowym Proxmox VE pod adresem: Uprawnienia > Dwuskładnikowe .
Zabezpiecz dostęp SSH
Zarządzanie systemem Proxmox odbywa się za pośrednictwem graficznego interfejsu użytkownika, ale najbardziej szczegółową konfigurację można przeprowadzić w wierszu poleceń poprzez połączenie SSH. Na hoście Proxmox dostępny jest serwer SSH, podobny do tego na maszynach z systemem Linux, służący do zarządzania hostem. Jeśli atakujący uzyskają dostęp SSH do hosta, mogą uzyskać pełny dostęp i uruchomić złośliwe oprogramowanie.Można wdrożyć dodatkowe środki bezpieczeństwa, aby zmniejszyć ryzyko nieautoryzowanego dostępu. Na przykład można zmienić standardowy port SSH (22) na port niestandardowy (9522). Należy wyłączyć logowanie jako użytkownik root i używać sudo w celu uzyskania uprawnień do administracji. Korzystanie z kluczy publicznych zamiast haseł do logowania przez SSH wymaga bardziej skomplikowanej konfiguracji, ale może zapewnić większe bezpieczeństwo.
Wdrożenie sieci VLAN w celu segmentacji sieci
Warto rozważyć skonfigurowanie VLAN jeśli chcesz podłączyć jakiekolwiek urządzenie, które może stanowić potencjalne zagrożenie dla sieci połączonej z hostem Proxmox lub maszynami wirtualnymi. Sieci VLAN służą do segmentacji sieci w drugiej warstwie modelu OSI, umożliwiając logiczne oddzielenie urządzeń w tej samej sieci fizycznej. Przykłady sieci VLAN w Proxmox VE wykorzystywanych w domowym laboratorium obejmują:
- Sieć VLAN do zarządzania: Wyłącznie dla interfejsu graficznego Proxmox, SSH i narzędzi do administracji.
- Sieci VLAN dla maszyn wirtualnych: Dla konkretnych obciążeń, takich jak serwery WWW, bazy danych lub środowiska programistyczne.
- VLAN pamięci masowej: Przeznaczony dla serwerów NAS, NFS, iSCSI lub serwera kopii zapasowych Proxmox.
- VLAN IoT: Oddziela urządzenia inteligentnego domu od infrastruktury krytycznej.
Korzystanie z sieci VLAN minimalizuje powierzchnię ataku i zapewnia następujące korzyści:
- Ogranicza rozprzestrzenianie się złośliwego oprogramowania między różnymi sieciami VLAN.
- Uniemożliwia zainfekowanym maszynom wirtualnym dostęp do interfejsu zarządzania Proxmox.
- Zapewnia ścisłą kontrolę dostępu między usługami.
Na przykład, jeśli złośliwe oprogramowanie zainfekuje maszynę wirtualną podłączoną do sieci VLAN 20 i rozprzestrzeni się w sieci, nie będzie mogło uzyskać dostępu do interfejsu zarządzania hostem Proxmox podłączonego do sieci VLAN 10. Zaleca się skonfigurowanie zapory sieciowej Proxmox oraz reguł zapory w trzeciej warstwie modelu OSI, oprócz skonfigurowania sieci VLAN w drugiej warstwie.
- Zezwól na dostęp SSH do Proxmox wyłącznie z sieci VLAN administratora 10 (192.168.10.0/24).
- Zablokuj całą komunikację między siecią VLAN gości 30 (192.168.30.0/24) a siecią VLAN zarządzania Proxmox.
- Zezwól na dostęp do NAS tylko maszynom wirtualnym, które tego wymagają, a nie całej sieci.
Przykład architektury VLAN dla domowego laboratorium Proxmox przedstawiono w tabeli.
| ID VLAN | Przeznaczenie | Podsieć | Dostęp |
| 10 | Zarządzanie | 192.168.10.0/24 | Interfejs graficzny Proxmox, SSH, Zarządzanie hiperwizorem |
| 20 | Sieć serwerów/maszyn wirtualnych | 192.168.20.0/24 | Serwery WWW, serwery aplikacji, maszyny wirtualne z bazami danych |
| 30 | VLAN gości | 192.168.30.0/24 | Urządzenia o minimalnym poziomie zaufania (laptopy gości, IoT) |
| 40 | VLAN magazynu | 192.168.40.0/24 | NFS, iSCSI, NAS, serwer kopii zapasowych Proxmox |
| 50 | DMZ (dostępna publicznie) | 192.168.50.0/24 | Publiczne serwery WWW, serwery proxy odwrotne |
Należy użyć przełącznika zarządzalnego do utworzenia sieci VLAN i oznaczenia portów podłączonych do Proxmox. Sieci VLAN można utworzyć w konfiguracji sieciowej Proxmox, za pomocą edycji pliku konfiguracyjnego /etc/network/interfaces: Poniżej znajduje się przykładowa zawartość pliku konfiguracyjnego służącego do tworzenia sieci VLAN na interfejsach mostkowych: auto vmbr0 iface vmbr0 inet manual bridge-ports eno1 bridge-stp off bridge-fd 0 # VLAN zarządzania (ID 10) auto vmbr0.10 iface vmbr0.10 inet static address 192.168.10.2/24 vlan-raw-device vmbr0 # VLAN maszyny wirtualnej (ID 20) auto vmbr0.20 iface vmbr0.20 inet static address 192.168.20.2/24 vlan-raw-device vmbr0
Ogranicz dostęp przez zbędne porty
Atakujący mogą wykorzystać otwarte porty różnych usług, aby uzyskać dostęp do hosta Proxmox poprzez istniejące luki w zabezpieczeniach. Należy zablokować dostęp przez zbędne porty za pomocą zapory sieciowej lub ograniczyć dostęp do adresu IP Proxmox i określonych portów wyłącznie do zaufanych adresów IP zdefiniowanych ręcznie. Ponieważ Proxmox jest systemem oparty na systemie Linux , Proxmox VE wykorzystuje potężną zaporę sieciową opartą na iptables. W przypadku korzystania z klastra Proxmox zapora sieciowa przechowuje konfigurację i działa na każdym węźle klastra. Aby uzyskać dostęp do konfiguracji zapory sieciowej Proxmox w interfejsie internetowym Proxmox VE, przejdź do Centrum danych > Zapora sieciowa > Reguły bezpieczeństwa i dodaj nową grupę z niestandardowymi regułami zapory sieciowej.
Skonfiguruj maszynę wirtualną z zaporą sieciową lub routerem
Uruchomienie zapory sieciowej na hoście lub klastrze Proxmox pozwala chronić nie tylko hosty Proxmox w domowym laboratorium Proxmox. Można skonfigurować dedykowaną maszynę wirtualną przeznaczoną do zadań związanych z zaporą sieciową, aby chronić całą sieć i wszystkie podłączone urządzenia. Taka konfiguracja jest powszechnie nazywana architekturą „wirtualnej zapory sieciowej” lub „maszyny wirtualnej z zaporą sieciową”. W ten sposób można przeprowadzić wdrażanie popularnych rozwiązań zapory sieciowej, takich jak pfSense, OPNsense lub zaporów opartych na systemie Linux, np. iptables.Należy pamiętać, że taka konfiguracja domowego laboratorium Proxmox z maszyną wirtualną pełniącą funkcję zapory sieciowej może być wygodna, jeśli host Proxmox działa nieprzerwanie. Jeśli jest on okresowo wyłączany, maszyna wirtualna pełniąca funkcję zapory sieciowej dla całej sieci również zostanie wyłączona. Może to powodować problemy, jeśli maszyna wirtualna pełniąca funkcję zapory sieciowej służy do zapewnienia dostępu do Internetu dla wszystkich urządzeń w sieci (w takim przypadku wygodniejsze może być użycie fizycznego urządzenia skonfigurowanego jako zapora sieciowa). Przed podjęciem decyzji o użyciu maszyny wirtualnej pełniącej funkcję zapory sieciowej należy przeanalizować zalety i wady tej konfiguracji w kontekście własnego środowiska.
Szyfrowanie dysków ZFS w celu ochrony danych
Jeśli korzystasz z systemu plików ZFS na hoście Proxmox i potrzebujesz najwyższego poziomu bezpieczeństwa, rozważ włączenie szyfrowania ZFS w Proxmox w celu zaszyfrowania pul pamięci masowej i zapobiegania nieautoryzowanemu dostępowi do dysków zawierających dane. Zachowaj ostrożność przed wykonaniem jakichkolwiek operacji na dyskach i systemach plików. Wykonaj kopię zapasową ważnych danych przed zmianą konfiguracji pamięci masowej. Przykład szyfrowania puli ZFS na hoście Proxmox: zfs create nazwa_puli/safe -o encryption=on -o keyformat=passphrase
Nigdy nie wystawiaj Proxmox na publiczny dostęp z Internetu
Nie zezwalaj na publiczny dostęp do hosta Proxmox z Internetu. Jeśli chcesz zapewnić dostęp do hosta Proxmox z lokalizacji zewnętrznych, skonfiguruj zaporę sieciową tak, aby zezwalała na dostęp do hosta Proxmox z określonych adresów IP poprzez jawne zdefiniowanie adresów IP i numerów portów. W tym celu możesz skorzystać z funkcji przekierowania portów w zaporze sieciowej. Alternatywnie możesz skonfigurować serwer VPN w środowisku, w którym znajduje się domowe laboratorium Proxmox, i korzystać z połączenia VPN w celu uzyskania dostępu do hosta Proxmox z sieci zewnętrznych.
Monitorowanie i audyt bezpieczeństwa Proxmox
Monitorowanie Hosty Proxmox w domowym laboratorium mogą pomóc w podniesieniu ogólnego poziomu bezpieczeństwa. Należy monitorować logi na hoście Proxmox oraz zwracać uwagę na wykorzystanie Procesora, pamięci RAM i dysku. Należy upewnić się, że wbudowane logi Proxmox są włączone:
- Syslog: /var/log/syslog – Ogólne logi systemowe.
- Uwierzytelnianie: /var/log/auth.log – Próby logowania przez SSH i interfejs graficzny.
- Logi specyficzne dla Proxmox: /var/log/pve/ – Logi związane z usługami Proxmox.
Dodatkowo można korzystać ze specjalnych scentralizowanych narzędzi monitorujących (rozwiązań bezpłatnych lub płatnych) do monitorowania hostów Proxmox oraz systemów operacyjnych gości na maszynach wirtualnych. Należy skonfigurować alerty i powiadomienia, aby jak najszybciej usuwać ewentualne problemy. Podczas konfigurowania automatycznego uwierzytelniania należy zwrócić uwagę na następujące warunki:
- Ponad 5 nieudanych prób logowania przez SSH w ciągu 5 minut.
- Wykorzystanie Procesora maszyny wirtualnej utrzymuje się powyżej 90% przez ponad 10 minut.
- Wykrycie nieoczekiwanego otwartego portu na hoście Proxmox.
Należy przeprowadzać okresowe audyty i skanowania bezpieczeństwa. Należy regularnie instalować poprawki bezpieczeństwa i aktualizacje w celu usunięcia znanych luk w zabezpieczeniach. Należy sprawdzać reguły zapory sieciowej, aby upewnić się, że są one optymalne, biorąc pod uwagę najnowsze zmiany w infrastrukturze.
Ochrona kopii zapasowych Proxmox przed oprogramowaniem wymuszającym okup
Kopie zapasowe Proxmox pozwalają chronić dane w środowisku wirtualnym Proxmox. Należy regularnie wykonać kopie zapasowe maszyn wirtualnych i przechowywać je w bezpiecznym miejscu. Jeśli oprogramowanie ransomware zainfekuje maszyny wirtualne i nieodwracalnie zaszyfruje dane, można przywrócić kopie zapasowe, aby uniknąć utraty danych. Jednak kopie zapasowe również stanowią cel dla oprogramowania wymuszającego okup. Należy upewnić się, że dostęp do magazynu kopii zapasowych i aplikacji mają wyłącznie uprawnieni użytkownicy. Należy stosować magazyn w izolacji fizycznej (fizycznie odłączony) oraz niezmienność kopii zapasowej w celu zapewnienia optymalnej ochrony przed oprogramowaniem wymuszającym okup dla domowego laboratorium Proxmox i kopii zapasowych Proxmox. Magazyn w izolacji fizycznej może stanowić fizycznie odłączony dysk twardy (HDD), dysk optyczny, kaseta taśmowa itp. Kopia zapasowa Proxmox Niezmienność kopii zapasowych to funkcja oparta na podejściu „zapisuj raz, odczytuj wielokrotnie” (WORM). Po zapisaniu danych nie można ich modyfikować ani usuwać do momentu upływu okresu niezmienności. NAKIVO Backup & Replication to dedykowane rozwiązanie do ochrony danych, które oferuje wsparcie dla funkcji niezmienności. Niezmienne kopie zapasowe można skonfigurować w lokalnym repozytoria kopii zapasowych podłączonym do systemów Linux Transportery, Amazon S3, w chmurze oraz w magazynie obiektowym zgodnym ze standardem S3.
Wnioski
Skuteczne środki bezpieczeństwa w Proxmox obejmują rygorystyczną politykę uwierzytelniania, segmentację sieci, ograniczenia dostępu w zaporze sieciowej, zabezpieczenia SSH w Proxmox, monitorowanie środowiska, wykonywanie kopii zapasowych danych oraz ochronę przed oprogramowaniem wymuszającym okup. Wprowadź te środki w swoim środowisku Proxmox w warunkach laboratoryjnych, aby zmniejszyć ryzyko infekcji złośliwym oprogramowaniem i zapobiec utracie danych. Używaj NAKIVO Backup & Replication do wykonywania kopii zapasowych maszyn wirtualnych Proxmox i chroń kopie zapasowe przed oprogramowaniem wymuszającym okup, korzystając z niezmienności.