Przejdz do tresci
Avanet

Sophos Endpoint macOS CLI i uprawnienia

Automatyczny macOS Rollout ma dwa poziomy: Sophos Installer rejestruje i instaluje komponenty, a profile MDM zezwalają na funkcje systemowe i prywatności chronione przez Apple. Udany instalator nie oznacza więc pełnej ochrony.

Dla Jamf Pro służy Wdrażanie Sophos Endpoint w macOS przez MDM. Ten artykuł dotyczy parametrów CLI i kontroli uprawnień.

Jeżeli instalacja, rejestracja lub aktualizacja już się nie powiodła, należy najpierw użyć runbooka rozwiązywania problemów macOS, aby rozpocząć od objawu. Ten artykuł następnie pogłębia parametry CLI oraz kontrolę TCC/MDM.

Przygotowanie instalatora

W macOS Monterey 12.4 i nowszym archiwum nie wolno rozpakowywać w Documents, Downloads ani na pulpicie. Sophos zaleca katalog w Home użytkownika.

Terminal należy uruchomić z katalogu zawierającego Sophos Installer.app; sudo wymaga lokalnego administratora. Sophos dokumentuje dokładnie to polecenie dla nienadzorowanej instalacji Sophos Anti-Virus i Intercept X:

sudo ./Sophos\ Installer.app/Contents/MacOS/Sophos\ Installer --products antivirus intercept --quiet

Instalator jest powiązany z tenantem i należy go traktować jako poufny artefakt wdrożeniowy. Polecenie instaluje i rejestruje licencjonowane składniki. Najpierw uruchom je na urządzeniu pilotażowym, a następnie sprawdź w Central urządzenie, produkty, Health i obowiązującą politykę. Do wycofania użyj dezinstalatora udokumentowanego przez Sophos zamiast usuwać pojedyncze pliki. Jeśli instalacja nadal się nie powiedzie, zachowaj logi instalatora i archiwum SDU dla Sophos Support.

Ustawianie grupy i Tags

--devicegroup przypisuje komputer do grupy lub podgrupy Central:

sudo ./Sophos\ Installer.app/Contents/MacOS/Sophos\ Installer \
  --install --quiet \
  --devicegroup "Workstations\Switzerland\Mac"

Spacje w ścieżce grupy muszą być poprawnie escaped. Instalator może utworzyć brakującą grupę. Po Rollout nadal trzeba sprawdzić skuteczną politykę.

Tags można podać wielokrotnie:

sudo ./Sophos\ Installer.app/Contents/MacOS/Sophos\ Installer \
  --install --quiet \
  --tag=Country:CH \
  --tag=Department:Design \
  --tag=VIP

Tags pomagają w wyszukiwaniu i operacjach. Nie zastępują Policy Group, dopóki polityki nie są przypisywane według Tags.

Produkty i Agent Mode

--products przyjmuje listę produktów oddzieloną spacjami. Udokumentowane wartości obejmują antivirus, intercept, mdr, xdr, deviceEncryption i all.

Pełna ochrona Anti-Virus i Intercept X:

sudo ./Sophos\ Installer.app/Contents/MacOS/Sophos\ Installer \
  --install --quiet --products antivirus intercept

Samo xdr nie tworzy pełnej ochrony malware. Wymagany jest zgodny produkt innego dostawcy. XDR-only na Macu wymaga co najmniej macOS 13 Ventura.

Produkty bez licencji nie są instalowane. Po Rollout należy sprawdzić Agent Mode w Central.

Proxy i Message Relay

Dla jawnego Proxy dostępne są:

--proxyaddress <URL>
--proxyport <port>
--proxyusername <user>
--proxypassword <password>

Message Relay podaje się z IP i portem 8190:

--messagerelays 192.0.2.10:8190 192.0.2.11:8190

Instalator utworzony przy pobraniu zna istniejące wtedy Update Caches i Message Relays. Po zmianie infrastruktury należy użyć aktualnego instalatora lub jawnie wskazać Relay przez CLI.

Haseł Proxy nie wolno trwale przechowywać w czytelnych skryptach, profilach MDM ani wynikach. Lepsza jest funkcja Secrets platformy Deployment.

Nadpisywanie nazw komputera i domeny

--computernameoverride i --domainnameoverride wpływają na wyświetlanie w Sophos Fusion (dawniej Sophos Central) i są przeznaczone dla nowej instalacji.

--computernameoverride CH-ZRH-MAC-042
--domainnameoverride corp.example

Computer Name przekazuje się bez dodatkowych cudzysłowów. Późniejsza zmiana może utworzyć drugi obiekt urządzenia. Overrides powinny korzystać z udokumentowanego źródła nazw.

--mcsPreferHostname zgłasza użytkowników jako domain\username zamiast machine\username. Może to ograniczyć lokalne duplikaty, ale musi pasować do strategii tożsamości.

Tenant i Registration Server

--customertoken <UUID> przypisuje instalację do klienta Central. --mgmtserver <URL> ustawia MCS Registration Server. Obie wartości zwykle pochodzą z instalatora tenantu i nie są wymyślane ręcznie.

--bypasstaegisidcheck pomija odmienny Taegis Tenant ID Check. To konkretny przypadek specjalny, nie standardowy parametr Rollout. Przed użyciem należy wyjaśnić rozbieżność Tenant IDs.

Sterowanie nazwami przez plist

Alternatywnie nazwę komputera, domenę i opis ustawia plik:

/Library/Preferences/com.sophos.mcs-overrides.plist

CLI Overrides mają pierwszeństwo. Wartości mają 1 do 256 znaków i nie mogą zawierać nowych linii ani znaków <, >, &, ', " i /.

Zmiana pliku po instalacji może utworzyć nowy obiekt Central, pozostawiając stary. Zmianę ładuje restart lub MCS Restart:

sudo launchctl stop com.sophos.mcs

Uprawnienia bezpieczeństwa macOS

Zależnie od wersji i komponentów Sophos potrzebuje w szczególności:

  • zatwierdzonych System Extensions,
  • zatwierdzonych Network Extensions i Content Filter,
  • Full Disk Access,
  • zgód na powiadomienia,
  • uprawnień Web lub Scan Extension.

Aktualne profile pobiera się z Sophos Fusion przed instalatorem. Profile własne trzeba porównać z aktualną dokumentacją, ponieważ Team IDs, Bundle IDs i Payloads mogą się zmieniać.

Sprawdzanie uprawnień

Lokalny interfejs pokazuje brakujące wymagania w About lub Health. Sophos dokumentuje także sprawdzenie Terminal i Remote Deployment.

Odbiór porównuje trzy poziomy:

  1. MDM zgłasza wszystkie profile jako zainstalowane.
  2. Lokalny agent nie zgłasza brakującej Security Permission.
  3. Central poprawnie pokazuje Health, komponenty i Last Active.

Przy złym stanie nie należy ślepo rozprowadzać nowych profili. Najpierw trzeba ustalić brakującą Extension lub zgodę prywatności.

Do szczegółowej kontroli tylko do odczytu administrator najpierw nadaje Terminalowi Full Disk Access, a następnie uruchamia:

sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db 'select * from access' | grep -i sophos

Polecenie odczytuje bazę TCC Apple, filtruje wpisy Sophos i nie zmienia uprawnień. Wyniki zależą od licencji i zainstalowanych produktów. Po kontroli należy ponownie odebrać Terminalowi Full Disk Access.

Przy zdalnym wdrożeniu plik override kopiuje się tylko do analizy; aktywna policy pozostaje bez zmian:

sudo cp /Library/Application\ Support/com.apple.TCC/MDMOverrides.plist ~/Desktop/

Należy porównać payloady MDM z faktycznie zainstalowanymi komponentami. Dla com.sophos.endpoint.uiserver pełny wymóg podpisu kodu musi brzmieć:

identifier "com.sophos.endpoint.uiserver" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "2H5GFH3774"

Trzeba porównać cały wymóg, nie tylko Team ID 2H5GFH3774. Jeśli różni się identyfikator, anchor, warunek certyfikatu lub Team ID, nie wolno edytować bazy TCC ani plist ani osłabiać wymogu. Zamiast tego należy ponownie wdrożyć aktualny, zgodny profil Sophos MDM, a czerwony stan Self Help eskalować z archiwum SDU.

Potem należy jawnie usunąć kopię diagnostyczną, ponieważ zawiera dane policy bezpieczeństwa:

rm -f ~/Desktop/MDMOverrides.plist

Błędy Update w macOS

Brak uprawnień może wyglądać jak problem Update lub Health. W macOS 14 i 15 brak Full Disk Access dla SophosUpdater może blokować aktualizacje w wersjach Endpoint starszych niż 2024.3 (10.9.1). Od Endpoint 2024.4 (10.9.5) Sophos Updater service health staje się czerwony przy braku uprawnienia nawet bez błędu aktualizacji. Sam czerwony stan nie dowodzi więc bieżącej awarii. Administrator może wykonać oficjalną kontrolę tylko do odczytu:

sudo log show --predicate "subsystem == 'com.sophos.macendpoint'" --last 1d | grep -i 'Error renaming Installer directory'

Wynik wskazuje na konkretny problem z uprawnieniami. Dla stanu sprzed 2024.3 (10.9.1) bez MDM należy ręcznie włączyć SophosUpdater.app w System Settings > Privacy & Security > Full Disk Access; jeśli go nie ma, dodać /Library/Sophos Anti-Virus/SophosUpdater.app przyciskiem plus. Przy prewencyjnym czerwonym Health od 2024.4 (10.9.5) należy zamiast tego użyć Endpoint Self Help > Prerequisites > Allow Full Disk Access, ponieważ zwykły selektor może nie pokazywać Updatera, którego macOS nie zablokował. Z MDM w obu przypadkach wdrożyć aktualny profil Sophos zgodny z zainstalowanymi komponentami. Ponownie sprawdzić Self Help, Updater Health, Agent Version, Last Agent Update i Events. Jeśli stan pozostaje po pełnym cyklu kontroli, zebrać archiwum SDU i eskalować do Sophos Support. Odebrać Full Disk Access nadany wyłącznie Terminalowi do diagnostyki; SophosUpdater nadal wymaga własnego uprawnienia.

Przy błędzie użyć lokalnych Events, Self Help i SDU. Sprawdzić także profil MDM, czas systemu, proxy, certyfikaty root i domeny Sophos.

Często zadawane pytania

Dlaczego w Sophos Fusion pojawia się drugi obiekt Mac?

Późniejsze zmiany Computer lub Domain Overrides mogą tworzyć nową tożsamość. Nazwy należy ustalić przed pierwszą instalacją, a stare obiekty czyścić dopiero po poprawnym przypisaniu.

Czy udana cicha instalacja dowodzi poprawnego Rollout?

Nie. Muszą również działać profile MDM, lokalne uprawnienia, Agent Mode, Health, komunikacja Central i skuteczne Policies.