Wdrażanie Sophos NDR na Nutanix AHV
W środowisku Nutanix AHV urządzenia NDR nie importuje się z pojedynczego, gotowego pliku maszyny wirtualnej. Sophos Fusion (dawniej Sophos Central) generuje pakiet zawierający dwa dyski QCOW2, obraz seed ISO oraz skrypt ndr-sensor.sh. Skrypt tworzy maszynę wirtualną i cztery interfejsy przeznaczone do zarządzania, obsługi Syslog, ERSPAN oraz lokalnego SPAN. Wdrożenie jest zakończone dopiero wtedy, gdy urządzenie ma w Sophos Fusion status Connected, a pakiety są widoczne w wybranej ścieżce przechwytywania.
Zakres: Opisane kroki w Prism i polecenia
aclidotyczą Nutanix AOS/AHV 6.8. W starszej lub nowszej wersji menu i sposób działania mogą się różnić. Dotyczy to zwłaszcza poniższego kroku konfiguracji trybu CPU passthrough, przeznaczonego dla wersji 6.8 i nowszych. W przypadku innej wersji najpierw sprawdź obsługiwaną w niej składnię, zamiast używać tych poleceń bez zmian.
Przed wdrożeniem
Przed utworzeniem konfiguracji NDR zaplanuj następujące elementy:
- Tenant Sophos Fusion ma pakiet licencji Sophos Network Detection and Response integration license pack, a używane konto administratora może tworzyć integracje i urządzenia.
- Administratorzy Nutanix zatwierdzili okno serwisowe, dostęp do Prism przez port
9440oraz dostęp SSH/SCP jako użytkownikadmindo maszyny Controller VM (CVM). - Maszyna wirtualna spełnia międzyplatformowe wymaganie minimalne wynoszące
160 GBprzestrzeni systemowej. Ponadto w usłudze Prism Image Service i klastrze AHV zarezerwowano wystarczającą ilość wolnego miejsca na oba przesłane obrazy QCOW2, obraz seed ISO i utworzone z nich dyski maszyny wirtualnej. Wymagana przestrzeń do przesłania i aprowizacji zależy od rozmiarów faktycznie wygenerowanego pakietu. - Urządzenie otrzymuje ustawienia DNS i bramy z sieci zarządzającej. Przed wdrożeniem na zaporze zezwolono na aktualne porty i domeny ruchu wychodzącego wymienione w dokumencie Sophos Appliance requirements. Zamiast kopiować statyczną listę z tego runbooka, użyj wskazanej tam listy odpowiedniej dla zapór obsługujących symbole wieloznaczne lub pozbawionych tej funkcji. Jeśli używany jest DHCP, przydzielony adres musi zostać zarezerwowany. W przypadku konfiguracji ręcznej przygotuj adres IP, maskę podsieci, bramę i dane serwera DNS.
- Wybrano odpowiednie wirtualne podsieci AHV do zarządzania, obsługi Syslog i odbierania tunelowanego ruchu ERSPAN. Dla wszystkich trzech ścieżek można użyć jednej podsieci. Ich rozdzielenie jest jednak wskazane, jeśli wymagają tego strefy bezpieczeństwa, routing lub zakresy odpowiedzialności.
- Określono źródło ruchu lustrzanego: lokalny SPAN Nutanix, ERSPAN z innego segmentu sieci albo oba te źródła. Źródła, kierunek i oczekiwana przepływność są udokumentowane, aby przypadkowo nie powielać ruchu z całego hosta lub ze zbyt szeroko określonego łącza nadrzędnego.
- Sprawdzono rezerwę procesora i pamięci RAM w klastrze AHV. Skrypt instalacyjny proponuje
4rdzenie procesora i16 GBpamięci RAM. Jeśli używane są oba interfejsy SPAN, maszyna wirtualna wymaga8rdzeni procesora. Przy większym natężeniu ruchu ostateczny rozmiar zasobów musi być zgodny z zatwierdzonymi wytycznymi dotyczącymi wymiarowania NDR. Domyślne wartości skryptu nie stanowią potwierdzenia wystarczającej wydajności. - Przed uruchomieniem zespół Nutanix na podstawie modelu procesora i inwentaryzacji hostów potwierdza, że host docelowy udostępnia wymagane przez NDR flagi procesora:
pdpe1gbdla funkcji Packet Capture iavx2dla funkcji Machine Learning. Jeśli którejś flagi brakuje albo nie można jednoznacznie potwierdzić jej obecności, nie uruchamiaj maszyny wirtualnej i wybierz odpowiedni host docelowy. W systemach AOS/AHV 6.8 i nowszych przed uruchomieniem maszyny wirtualnej sprawdź również ustawieniecpu-passthrough.
Zapisz również jednoznaczne nazwy, na przykład ndr-ahv-prod-01, ndr-ahv-prod-01-root, ndr-ahv-prod-01-data i ndr-ahv-prod-01-seed. Dzięki temu w razie problemu można jednoznacznie powiązać maszynę wirtualną, obrazy i konfigurację Sophos Fusion.
Tworzenie konfiguracji NDR i pakietu urządzenia
- W Sophos Fusion otwórz Threat Analysis Center > Integrations > Marketplace i wybierz Sophos Network Detection and Response (NDR).
- W sekcji Data Ingest (Security Alerts) kliknij Add Configuration.
- W kroku Step 1 wprowadź unikatową nazwę i opis.
- W kroku Step 2 wybierz Create new appliance i ustaw opcję Virtual platform na Nutanix.
- Skonfiguruj dostęp do zarządzania urządzeniem:
- W przypadku opcji DHCP adres musi zostać zarezerwowany w systemie DHCP.
- W przypadku opcji Manual wprowadź wartości z własnego planu adresacji. Mogą to być na przykład adres
10.0.252.5, maska255.255.255.0, brama10.0.252.1i wewnętrzne serwery DNS. Są to wartości zastępcze i nie wolno ich kopiować bez sprawdzenia.
- W kroku Step 3 podaj co najmniej nazwę listy wykluczeń (Exclusion List). Wykluczenia domen (Domain Exclusions) lub protokołów (Protocol Exclusions) twórz tylko dla wcześniej uzasadnionych wyjątków. W szczególności nie wykluczaj całego protokołu najwyższego poziomu, takiego jak
TCPlubUDP, wyłącznie w celu zmniejszenia ilości danych. - Kliknij Save. Natychmiast skopiuj wyświetlone dane Appliance Credentials do zatwierdzonego sejfu haseł. Są one wyświetlane tylko raz.
- Potwierdź przyciskiem OK i poczekaj na wygenerowanie instalatora Nutanix. Jeśli konfiguracja nie pojawi się w sekcji Configured NDR integrations, odśwież widok.
- W kolumnie Actions wybierz akcję Download image, pobierz plik ZIP i rozpakuj go w chronionym katalogu roboczym.
Rozpakowany pakiet musi zawierać co najmniej następujące cztery powiązane pliki:
ndr-root.qcow2: dysk systemowyndr-data.qcow2: dysk danychseed.iso: dane autoryzacyjne i rozruchowendr-sensor.sh: tworzy maszynę wirtualną Nutanix
Plik ZIP, obraz seed ISO i dane uwierzytelniające traktuj jako informacje poufne. Nie mieszaj plików z różnych konfiguracji Sophos Fusion ani nie zmieniaj nazw samych plików. Po rozpakowaniu sprawdź nazwy i rozmiary plików pod kątem ewidentnie niekompletnego pobrania. Wiążących sum kontrolnych używaj tylko wtedy, gdy firma Sophos udostępnia je dla dokładnie tego pakietu.
Przesyłanie dysków QCOW2 i obrazu seed ISO do Prism
Zaloguj się do konsoli internetowej Nutanix na porcie 9440 i otwórz Home > Settings > Image Configuration. Przesyłaj pliki pojedynczo i za każdym razem poczekaj na całkowite zakończenie przesyłania:
- Dla pliku
ndr-root.qcow2: Upload Image, unikatowa nazwa zawierającaroot, Image type: DISK, Upload a file, wybierz plik, Save. - Dla pliku
ndr-data.qcow2: wykonaj te same czynności, używając unikatowej nazwy zawierającejdatai opcji Image type: DISK. - Dla pliku
seed.iso: unikatowa nazwa zawierającaseedlubISOi opcja Image type: ISO.
Przed przejściem do następnego kroku wszystkie trzy pozycje muszą być widoczne w sekcji Image Configuration, a żaden proces przesyłania nie może być w toku. Ich role nie są zamienne: plik seed nie jest dyskiem danych, a dwóch plików QCOW2 nie wolno zamienić miejscami w odpowiedziach na monity skryptu.
Tworzenie maszyny wirtualnej na CVM Nutanix
Wykonaj poniższe polecenia na zatwierdzonej stacji roboczej administratora. Zastąp <CVM-IP> adresem zarządzającym maszyny Nutanix Controller VM, a nie przyszłym adresem urządzenia NDR.
scp ndr-sensor.sh admin@<CVM-IP>:~/
ssh admin@<CVM-IP>
W starszych wersjach Nutanix przesyłanie przez SCP może wymagać starszego trybu tego protokołu:
scp -O ndr-sensor.sh admin@<CVM-IP>:~/
Polecenie scp jedynie kopiuje skrypt do katalogu domowego administratora CVM, a polecenie ssh otwiera sesję. Następnie uruchom skrypt instalacyjny na maszynie CVM:
bash ndr-sensor.sh
Zmiana wpływająca na AHV: Skrypt tworzy maszynę wirtualną, dyski i interfejsy sieciowe. Zapisz wybrane odpowiedzi oraz identyfikator UUID maszyny wirtualnej podany w danych wyjściowych. Jeśli wybrano niewłaściwy obraz lub niewłaściwą podsieć, przerwij działanie, zamiast uruchamiać skrypt ponownie z tą samą nazwą.
Odpowiadaj na monity w następującej kolejności:
- Nazwa maszyny wirtualnej. Domyślna wartość skryptu to
ndr-sensor, ale w środowisku produkcyjnym lepsza jest unikatowa nazwa właściwa dla danej lokalizacji. - Liczba rdzeni procesora. Wartość domyślna to
4, a w przypadku używania obu interfejsów SPAN —8. - Ilość pamięci w GB. Wartość domyślna to
16. - Nazwa przesłanego obrazu seed ISO.
- Nazwa obrazu głównego dysku QCOW2.
- Nazwa obrazu dysku danych QCOW2.
- Numer wirtualnej podsieci do zarządzania.
- Numer wirtualnej podsieci dla Syslog.
- Numer wirtualnej podsieci dla tunelowanego ruchu ERSPAN.
W monitach dotyczących obrazów litera L wyświetla dostępne obrazy. Porównaj pełną nazwę, a nie tylko wspólny prefiks. Po pomyślnym utworzeniu pojawi się komunikat Created vm <name> UUID <UUID>.
Prawidłowe rozumienie roli czterech interfejsów
Skrypt tworzy cztery funkcjonalnie odrębne karty sieciowe (NIC):
- Management: połączenie z Sophos Fusion, administracja i wychodzący dostęp do Internetu.
- Syslog: odbieranie integracji dzienników opartych na urządzeniu. Ta karta NIC nie staje się automatycznie źródłem pakietów dla NDR.
- ERSPAN: odbieranie enkapsulowanego, routowanego ruchu lustrzanego.
- SPAN: lokalny cel funkcji Nutanix Traffic Mirroring. Skrypt automatycznie tworzy tę kartę NIC jako
type=kSpanDestinationNic; nie wybiera się dla niej zwykłej wirtualnej podsieci.
Na końcu skrypt wyświetla dostosowane do środowiska przykłady poleceń acli oraz adres MAC docelowej karty NIC dla SPAN. Zachowaj te dane wyjściowe w dokumentacji zmiany. Obejmują one warianty dla wszystkich maszyn wirtualnych na hoście i dla pojedynczej karty NIC maszyny wirtualnej. Nie włączaj jeszcze sesji — najpierw sprawdź tryb CPU passthrough, pierwsze uruchomienie i połączenie z Sophos Fusion.
Sprawdzanie trybu CPU passthrough w AOS/AHV 6.8 i nowszych
Ten krok wykonuje się na maszynie CVM i jest on wymagany w Nutanix 6.8 i nowszych. Najpierw zidentyfikuj maszynę wirtualną i sprawdź jej bieżący stan:
acli vm.list
acli vm.get <VM-UUID>
Oba polecenia są tylko do odczytu. Zastąp <VM-UUID> identyfikatorem UUID zapisanym podczas tworzenia. Jeśli ustawienie cpu-passthrough ma już wartość True, nie trzeba niczego zmieniać. Jeśli ma wartość False, włącz je przed pierwszym uruchomieniem:
acli vm.update <VM-UUID> cpu-passthrough=true
acli vm.get <VM-UUID>
Pierwsze polecenie zmienia konfigurację maszyny wirtualnej, a drugie służy do kontroli po zmianie. Kontynuuj tylko wtedy, gdy dla właściwej maszyny wirtualnej jest wyświetlana wartość cpu-passthrough: True. Nie wykonuj tego kroku prewencyjnie w wersjach starszych niż 6.8.
Pierwsze uruchomienie i rejestracja
- W Prism otwórz Settings > VM.
- Kliknij nową maszynę wirtualną prawym przyciskiem myszy i wybierz Power on.
- Otwórz konsolę za pomocą opcji Launch Console i obserwuj proces rozruchowy. Pierwsze uruchomienie może potrwać do dziesięciu minut. Nie przerywaj go z powodu krótkich okresów bez widocznych danych wyjściowych.
- W Sophos Fusion otwórz Threat Analysis Center > Integrations > Configured > Integration Appliances.
- Poczekaj, aż to konkretne urządzenie uzyska status Connected.
Obraz seed ISO autoryzuje utworzone wcześniej urządzenie. Nie przewidziano drugiej, ręcznej rejestracji. Status Connected potwierdza działanie ścieżki zarządzania, ścieżki DNS/Internet oraz przypisanie do Sophos Fusion. Nie dowodzi jeszcze odbierania ruchu lustrzanego.
Do późniejszego dostępu użyj konta zadmin i hasła urządzenia zapisanego podczas tworzenia. Otwórz Appliance Manager w Sophos Fusion, korzystając z menu urządzenia oznaczonego trzema kropkami i opcji Open Appliance Manager. Ostrzeżenie o certyfikacie z podpisem własnym zaakceptuj dopiero po sprawdzeniu adresu docelowego i przypisania urządzenia.
Kontrolowane włączanie SPAN lub ERSPAN
Lokalny SPAN Nutanix
Użyj przykładów poleceń acli wygenerowanych przez skrypt. Zawierają one rzeczywisty adres MAC docelowej karty NIC dla SPAN. W przypadku powielania ruchu z całego hosta zastąp wartość zastępczą prawidłowym identyfikatorem UUID hosta. Identyfikatory UUID wyświetla na maszynie CVM następujące polecenie tylko do odczytu:
acli host.list
Użyta w przykładzie wartość identifier oznacza monitorowany interfejs źródłowy. Na przykład br0-up może być mostem złożonym z dwóch interfejsów fizycznych, a eth0 — pojedynczym interfejsem. Użyj identyfikatora dopiero po sprawdzeniu go na hoście docelowym.
Jeśli to możliwe, zacznij od pojedynczej, jednoznacznie nazwanej testowej karty NIC maszyny wirtualnej. Sesja obejmująca cały host zwielokrotnia obciążenie i zakres danych podlegających ochronie prywatności, dlatego można ją zatwierdzić dopiero po pomyślnym teście w małej skali. Nie kopiuj więc ogólnej składni powielania ruchu z tego artykułu: parametry sesji, docelowy adres MAC, identyfikator UUID hosta i identyfikator źródła muszą pochodzić z faktycznych danych wyjściowych skryptu oraz ze zweryfikowanego środowiska AHV.
ERSPAN spoza środowiska AHV
Użyj ERSPAN, gdy do źródła nie można dotrzeć za pomocą lokalnej funkcji Nutanix Traffic Mirroring. Skonfiguruj odbieranie ERSPAN w Appliance Manager i ustaw te same parametry na wysyłającym urządzeniu sieciowym. Po zastosowaniu ustawień urządzenie uruchomi się ponownie, a użytkownik zostanie wylogowany z sesji Appliance Manager. Obserwuj ponowne uruchamianie w Prism i ponownie poczekaj na status Connected.
Ten runbook obejmuje wyłącznie wdrożenie po stronie Nutanix i początkowy odbiór ruchu. Wybór źródeł powielania ruchu, kierunków, filtrów i poziomu nadsubskrypcji dla całej lokalizacji powinien zostać opisany w osobnym projekcie powielania ruchu. Nie włączaj jednocześnie szeroko zdefiniowanych lokalnych źródeł SPAN i ERSPAN, zanim każde z nich nie zostanie zmierzone oddzielnie.
Weryfikacja odbioru pakietów i stanu
Wykonaj kontrole w następującej kolejności, aby nie pomylić błędów zarządzania z błędami przechwytywania:
- Prism: maszyna wirtualna jest włączona, a oczekiwane dyski i cztery role kart NIC są obecne.
- Sophos Fusion: w sekcji Integration Appliances urządzenie ma status Connected.
- Appliance Manager: urządzenie jest dostępne i pokazuje ruch przychodzący na oczekiwanym interfejsie przechwytywania.
- Dziennik sensora: zaloguj się przez SSH jako użytkownik
zadminna adres IP interfejsu zarządzającego urządzenia NDR i uruchom następujące polecenie tylko do odczytu, śledzące dziennik na bieżąco:
sudo kubectl logs -f deploy/dragonfly
Wprowadź hasło użytkownika zadmin dla polecenia sudo. Następnie wygeneruj zwykły ruch testowy wyłącznie w zatwierdzonym źródle testowym i sprawdź, czy pakiety są rejestrowane dla oczekiwanego interfejsu SPAN. Zakończ tryb śledzenia kombinacją Ctrl+C, a następnie zakończ sesję SSH poleceniem exit.
Wpis dziennika zawierający pakiety potwierdza ich odbiór przez sensor, ale nie działanie całego łańcucha wykrywania. Na potrzeby odbioru wdrożenia zapisz źródło, kierunek, przedział czasu, obserwowany interfejs i status Sophos Fusion. Jeśli odbioru pakietów nie można potwierdzić, wdrożenie nie jest zakończone, nawet gdy status Connected jest zielony.
Rozwiązywanie problemów według objawów
Maszyna wirtualna nie została utworzona prawidłowo
Sprawdź końcowe dane wyjściowe skryptu, identyfikator UUID maszyny wirtualnej oraz nazwy trzech wybranych obrazów. Częste przyczyny to nadal trwające przesyłanie obrazu, zamienione miejscami obrazy dysku głównego i dysku danych lub niewłaściwa podsieć. Nie uruchamiaj ponownie skryptu bez sprawdzenia. Najpierw ustal w Prism, które maszyny wirtualne, dyski i karty NIC zostały już utworzone. Obiekty częściowe usuwaj wyłącznie w ramach zatwierdzonej zmiany i dopiero po jednoznacznym powiązaniu ich identyfikatorów UUID z nieudanym uruchomieniem.
Pierwsze uruchomienie zatrzymuje się lub Sophos Fusion nadal wyświetla Waiting for deployment
Poczekaj do dziesięciu minut na pierwsze uruchomienie i sprawdź konsolę Prism. Następnie sprawdź adres IP interfejsu zarządzającego lub rezerwację DHCP, bramę, DNS i wychodzącą ścieżkę internetową. Upewnij się również, że używany obraz seed ISO pochodzi z dokładnie tej samej konfiguracji Sophos Fusion co pliki QCOW2. W systemie AOS/AHV 6.8 lub nowszym polecenie acli vm.get <VM-UUID> musi pokazywać wartość cpu-passthrough: True.
Urządzenie ma status Connected, ale nie odbiera pakietów
Status Connected zawęża problem do ścieżki przechwytywania. Najpierw sprawdź, czy sesja powielania ruchu jest aktywna i wskazuje adres MAC docelowej karty NIC dla SPAN utworzonej przez skrypt. Następnie porównaj identyfikator UUID hosta, źródłową kartę NIC maszyny wirtualnej lub fizyczną wartość identifier oraz zamierzony kierunek. W przypadku ERSPAN nadawca i Appliance Manager muszą używać tych samych parametrów tunelu, a routowana ścieżka do karty NIC ERSPAN musi być osiągalna. Testuj lokalne źródła SPAN i ERSPAN oddzielnie.
Pakiety pojawiają się na niewłaściwym interfejsie lub tylko na jednym z nich
Porównaj cztery role kart NIC z danymi wyjściowymi skryptu. Zwykła podsieć na interfejsie zarządzającym, Syslog lub ERSPAN nie zastępuje specjalnej karty kSpanDestinationNic. 8 rdzeni procesora jest wymaganych tylko wtedy, gdy używane są oba interfejsy lub porty SPAN. Lokalna ścieżka SPAN używana razem z ERSPAN nie spełnia automatycznie tego warunku. Nie zmieniaj jednocześnie przypisania kart NIC, źródła powielanego ruchu i liczby procesorów. Zmieniaj tylko jedno założenie naraz i powtarzaj ten sam ruch testowy.
Polecenie scp nie działa ze starszą wersją Nutanix
Powtórz wyłącznie przesyłanie za pomocą polecenia scp -O ..., jeśli zdalny punkt końcowy nie obsługuje współczesnego procesu SCP/SFTP. Opcja -O wymusza starszy protokół SCP i nie jest ogólnym rozwiązaniem problemów z nieprawidłowymi danymi uwierzytelniającymi, zablokowanym dostępem SSH ani błędnym adresem CVM.
Ograniczone przywracanie stanu początkowego
Poniższe kroki stanowią ograniczone, odwracalne wytyczne wycofania zmiany wyłącznie dla wdrożenia wprowadzonego za pomocą tego runbooka. Nie są kompletną procedurą wycofania ani likwidacji udokumentowaną przez Sophos lub Nutanix. Najpierw wyłącz nowe źródło powielania ruchu. Zatrzyma to dodatkowe obciążenie związane z kopiowaniem bez zmiany routingu produkcyjnego ani oryginalnego ruchu. Aby usunąć lub wyłączyć sesję, użyj operacji odwrotnej, właściwej dla faktycznie utworzonej konfiguracji powielania ruchu Nutanix. Nie wymyślaj identyfikatora sesji ani nie usuwaj cudzej sesji. Następnie potwierdź w dzienniku sensora, że z tego źródła testowego nie docierają nowe pakiety.
Nową maszynę wirtualną NDR można następnie wyłączyć. Na początku zachowaj konfigurację Sophos Fusion, maszynę wirtualną, obrazy QCOW2 i obraz seed ISO do czasu zakończenia analizy problemu oraz podjęcia decyzji o ponownym uruchomieniu. Ponowne uruchomienie wykorzystuje tę samą, spójną konfigurację. Nowa konfiguracja Sophos Fusion wymaga nowego, w całości spójnego pakietu.
Ważne są następujące ograniczenia:
ndr-sensor.shnie jest instalatorem transakcyjnym z udokumentowanym automatycznym wycofaniem zmian. Po przerwaniu działania zinwentaryzuj oddzielnie istniejące obiekty maszyn wirtualnych, dysków i kart NIC, zanim cokolwiek usuniesz lub ponownie uruchomisz skrypt.- Wyłączenie lub usunięcie maszyny wirtualnej nie usuwa automatycznie sesji powielania ruchu Nutanix. Dlatego zawsze najpierw oddzielnie wyłącz i sprawdź ścieżkę przechwytywania.
- Usunięcie integracji Sophos Fusion, obrazu seed ISO lub zapisanych danych uwierzytelniających nie jest krótkoterminowym krokiem rozwiązywania problemów. Działania te utrudniają ponowne uruchomienie i wykonuje się je dopiero po udokumentowanym zatwierdzeniu likwidacji.
- Migawka nie zastępuje zatwierdzonego wycofania zmiany: przypisanie Sophos Fusion, autoryzacja seed, sesja powielania ruchu i zewnętrzna konfiguracja ERSPAN znajdują się poza migawką maszyny wirtualnej.
- Nie pozostawiaj sesji powielania ruchu obejmującej cały host jako stałego rozwiązania tymczasowego. Jeśli test w małej skali zakończy się niepowodzeniem, usuń ją przed dodaniem kolejnych źródeł lub kierunków.
W ten sposób wycofanie zmiany pozostaje ograniczone do nowo wprowadzonych obiektów NDR. Nie zmienia ono mostów produkcyjnych, łączy nadrzędnych, sieci VLAN, routingu ani reguł zapory. Pełna likwidacja, w tym ostateczna kolejność usuwania i skutki uboczne, wymaga osobno zweryfikowanej i zatwierdzonej procedury.