Przejdz do tresci
Avanet

Ręczna konfiguracja Sophos DNS Protection w macOS

Na Macu można ręcznie korzystać z Sophos DNS Protection na dwa sposoby: Traditional DNS polega na wpisaniu dwóch adresów IP resolwerów w usłudze sieciowej macOS, a Secure DNS instaluje profil konfiguracji zawierający adres URL DNS-over-HTTPS właściwy dla tenantu i location. Oba rozwiązania nadają się do pojedynczych urządzeń testowych; w zarządzanym środowisku konfigurację należy wdrażać przez MDM.

Istotne jest ograniczenie produktu: DNS Protection Endpoint Policy w Sophos Fusion (dawniej Sophos Central) nie obsługuje obecnie macOS. Ręcznie zainstalowany profil DoH również nie zmienia Maca w endpoint zarządzany przez tę politykę. Ustawia jedynie konfigurację DNS systemu macOS.

Procedura, w której firewall pełni rolę centralnego resolwera, dotyczy innej architektury. Opisano ją w artykule Konfiguracja Sophos DNS Protection z Sophos Firewall.

Wybór między Traditional DNS a Secure DNS

Secure DNS (DoH) jest zazwyczaj lepszym wyborem dla bezpośrednio skonfigurowanego Maca: zapytania DNS są szyfrowane przez HTTPS, a Secure-DNS-location jest przypisywana za pomocą indywidualnego adresu URL. Profil działa w całym systemie i pozostaje aktywny po przełączeniu między sieciami Wi-Fi. Najpierw trzeba jednak ustalić, jak współdziała z klientami VPN, domenami wewnętrznymi, captive portalami oraz innymi profilami DNS lub filtrowania.

Traditional DNS over IPv4 jest prostszy i nadaje się do ograniczonego testu lub sieci, której publiczny wychodzący adres IP zarejestrowano w Traditional-DNS-location. Przypisanie odbywa się na podstawie tego publicznego źródłowego adresu IP. Ustawienie obowiązuje osobno dla każdej usługi sieciowej macOS; oprócz Wi-Fi należy więc oddzielnie sprawdzić na przykład Ethernet i inne aktywne usługi. Ta metoda nie pozwala wiarygodnie przypisać location, gdy Mac korzysta z niezarejestrowanego wychodzącego adresu IP.

Nie konfiguruj obu wariantów jednocześnie jako rzekomego mechanizmu awaryjnego. Profil DoH może zastąpić ręcznie wpisane resolwery; wiele profili DNS lub VPN także może ze sobą konkurować. Dla pilotażu wybierz i udokumentuj dokładnie jedną ścieżkę.

Przygotowanie przed zmianą

Potrzebne są:

  • Dostęp do My Products > DNS Protection w Sophos Fusion.
  • Odpowiednia location i przypisana Filtering Policy.
  • Dla Traditional DNS: włączone Traditional DNS over IPv4, zarejestrowany publiczny adres IPv4 lub FQDN oraz dwa adresy IP w sekcji Installers.
  • Dla Secure DNS: location z włączonym Secure DNS i wygenerowanym adresem DNS over HTTPS URL.
  • Uprawnienia lokalnego administratora do instalacji profilu.
  • Dotychczasowe ustawienia DNS i przetestowana procedura powrotu.

Przed rozpoczęciem zanotuj aktywne usługi sieciowe w System Settings > Network. W przypadku statycznie wpisanych serwerów DNS zachowaj istniejące wartości; w przypadku serwerów dostarczanych automatycznie przez DHCP udokumentuj Automatic/DHCP jako stan początkowy. Wybierz także co najmniej jedną wewnętrzną i jedną publiczną domenę testową. Nie publikuj rzeczywistych adresów URL DoH w zgłoszeniach ani repozytoriach skryptów, ponieważ przypisują one zapytania do location.

Wariant A: konfiguracja Traditional DNS

  1. W Sophos Fusion otwórz My Products > DNS Protection > Installers i obok pozycji IP addresses kliknij Copy. Spowoduje to skopiowanie obu adresów IP resolwerów. Używaj wyłącznie wartości z własnego tenantu.
  2. Na Macu otwórz System Settings > Network.
  3. Wybierz aktywną usługę, na przykład Wi-Fi, a następnie otwórz Details > DNS.
  4. W sekcji DNS Servers za pomocą przycisku + dodaj oba adresy Sophos i usuń dotychczasowe ręcznie wpisane resolwery innych dostawców. Trzeci resolwer nie byłby wyłącznie rezerwowy i mógłby omijać filtrowanie oraz raportowanie.
  5. Potwierdź przyciskiem OK.
  6. Powtórz procedurę dla każdej innej faktycznie używanej usługi sieciowej.

Nazwy i rozmieszczenie poszczególnych przycisków mogą się nieznacznie różnić między wersjami macOS. Ważne jest, aby serwery DNS zmienić w wybranej usłudze sieciowej, a nie w przeglądarce ani tylko w jednej aplikacji.

Następnie na krótko rozłącz i ponownie połącz Wi-Fi albo ponownie połącz daną usługę. Nie przełączaj od razu wszystkich Maców: najpierw przetestuj urządzenie pilotażowe w każdym istotnym typie sieci.

Wariant B: konfiguracja Secure DNS za pomocą profilu

1. Skopiowanie adresu URL DoH

Podczas tworzenia lub edytowania Secure-DNS-location w Sophos Fusion skopiuj wygenerowany DNS over HTTPS URL. Skopiuj cały adres URL; nie składaj samodzielnie nazwy hosta ani ścieżki.

2. Wygenerowanie profilu

Na Macu utwórz w Terminalu plik sophos-dns.sh i wklej do niego ten skrypt:

#!/bin/bash
set -eu

DOH_URL=${1:?Usage: $0 <doh_url>}
case "$DOH_URL" in
  https://*) ;;
  *) echo "The DoH URL must start with https://" >&2; exit 1 ;;
esac

OUTPUT="dns-config.mobileconfig"
UUID1=$(uuidgen)
UUID2=$(uuidgen)

cat > "$OUTPUT" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>PayloadContent</key>
  <array>
    <dict>
      <key>PayloadDescription</key>
      <string>Configures DNS settings</string>
      <key>PayloadDisplayName</key>
      <string>DNS Settings</string>
      <key>PayloadIdentifier</key>
      <string>com.apple.dnsSettings.managed.custom</string>
      <key>PayloadType</key>
      <string>com.apple.dnsSettings.managed</string>
      <key>PayloadUUID</key>
      <string>$UUID1</string>
      <key>PayloadVersion</key>
      <integer>1</integer>
      <key>DNSSettings</key>
      <dict>
        <key>DNSProtocol</key>
        <string>HTTPS</string>
        <key>ServerURL</key>
        <string>$DOH_URL</string>
      </dict>
    </dict>
  </array>
  <key>PayloadDescription</key>
  <string>DNS Protection DoH</string>
  <key>PayloadDisplayName</key>
  <string>DNS-Global DNS over HTTPS</string>
  <key>PayloadIdentifier</key>
  <string>com.example.dns.profile</string>
  <key>PayloadRemovalDisallowed</key>
  <false/>
  <key>PayloadType</key>
  <string>Configuration</string>
  <key>PayloadUUID</key>
  <string>$UUID2</string>
  <key>PayloadVersion</key>
  <integer>1</integer>
  <key>PayloadScope</key>
  <string>System</string>
</dict>
</plist>
EOF

plutil -lint "$OUTPUT"
open "$OUTPUT"

Skrypt wprowadza lokalną zmianę stanu: nadpisuje istniejący plik dns-config.mobileconfig w bieżącym katalogu, a następnie otwiera okno instalacji. Adres URL Sophos zastępuje placeholder; cudzysłowy chronią znaki specjalne:

chmod +x sophos-dns.sh
./sophos-dns.sh 'https://<tenant-specific-doh-url>/dns-query'

Kontynuuj tylko wtedy, gdy plutil zgłosi OK dla pliku dns-config.mobileconfig. Przykładowa domena w PayloadIdentifier jest wyłącznie stabilnym identyfikatorem technicznym, a nie adresem docelowym zapytań DNS.

3. Sprawdzenie i instalacja profilu

  1. Po otwarciu pliku potwierdź komunikat przyciskiem OK. Następnie otwórz Device Management.
  2. Kliknij dwukrotnie DNS-Global DNS over HTTPS.
  3. Sprawdź zawartość: muszą być widoczne DNS Settings, protokół HTTPS i oczekiwany adres URL serwera właściwy dla tenantu.
  4. Wybierz Install, zaakceptuj ponowne potwierdzenie i na żądanie uwierzytelnij się przy użyciu konta lokalnego administratora.
  5. W Device Management sprawdź, czy profil jest następnie wyświetlany jako zainstalowany.

Profil zainstalowany z pliku jest ręczny, nawet jeśli macOS oznacza jego payload jako managed. Sophos Fusion nie dostarcza go, nie inwentaryzuje ani nie usuwa. W przypadku wielu Maców administrator powinien rozpowszechnić ten sam payload DNS Settings przez zatwierdzony system MDM, zamiast zlecać użytkownikom osobne uruchamianie skryptów. Pola i reguły konfliktów właściwe dla MDM należy sprawdzić w używanym rozwiązaniu MDM.

Weryfikacja działania

Najpierw sprawdź stan aktywnych resolwerów i zwykłe rozwiązywanie nazwy:

scutil --dns
dig example.com

scutil --dns może wyświetlać wiele resolwerów dla VPN, domen wyszukiwania i usług systemowych. Nie szukaj więc tylko jednego adresu IP, lecz sprawdź, który resolwer odpowiada za domenę testową. dig potwierdza uzyskanie odpowiedzi, ale sam nie dowodzi zastosowania polityki Sophos ani użytego transportu.

Test akceptacyjny musi zatem objąć wszystkie poziomy:

  1. Uruchom test konfiguracji w DNS Protection > Installers.
  2. Rozwiąż nazwę zwykłej domeny publicznej.
  3. Użyj nieszkodliwej domeny, którą przypisana Filtering Policy celowo blokuje na potrzeby pilotażu.
  4. W raportach DNS Protection sprawdź, czy pojawiają się zapytanie, location i decyzja. Uwzględnij krótkie opóźnienie raportowania.
  5. Przetestuj nazwy wewnętrzne, VPN, portal gościnny/captive portal oraz co najmniej drugą zmianę sieci.

Po konfiguracji Traditional DNS sprawdź dodatkowo, czy bieżący publiczny wychodzący adres IP należy do location. Po konfiguracji Secure DNS upewnij się, że resolwera nie przejmuje drugi profil DNS, VPN ani filtrowania.

Oddzielna obsługa strony blokady i certyfikatu

Skuteczne zablokowanie przez DNS nie oznacza jeszcze, że strona blokady HTTPS pojawi się bez ostrzeżenia o certyfikacie. W tym celu należy zainstalować na Macu DNS Protection Root Certificate z DNS Protection > Installers, korzystając z kontrolowanego procesu zaufania. Nie jest to certyfikat Sophos Firewall do TLS Inspection.

To zadanie dotyczące certyfikatu powinno mieć osobnego właściciela i własny test pilotażowy. Na zarządzanych Macach certyfikat jest dystrybuowany przez MDM; na pojedynczym Macu testowym przed obdarzeniem zaufaniem sprawdza się pochodzenie i odcisk cyfrowy. Jeśli testowane jest wyłącznie rozwiązywanie nazw, ostrzeżenie o certyfikacie na stronie blokady HTTPS nie dowodzi awarii DNS Protection.

Wycofanie zmian i usunięcie konfiguracji

Wycofanie Traditional DNS

W System Settings > Network > <Usługa> > Details > DNS usuń adresy IP Sophos i odtwórz dokładnie udokumentowany stan początkowy: wcześniejsze statyczne resolwery albo automatyczne ustawienia z DHCP. Powtórz to dla każdej zmienionej usługi sieciowej, połącz się ponownie i sprawdź rozwiązywanie nazw publicznych oraz wewnętrznych.

Usunięcie profilu Secure DNS

  1. Otwórz Device Management.
  2. Wybierz DNS-Global DNS over HTTPS i funkcję usunięcia profilu.
  3. Uwierzytelnij usunięcie i sprawdź, czy profil nie znajduje się już na liście.
  4. Ponownie połącz się z siecią i za pomocą scutil --dns oraz dig example.com sprawdź, czy wcześniejszy resolwer jest znów aktywny.

Wygenerowany profil pozwala na usunięcie (PayloadRemovalDisallowed ma wartość false). Jeśli funkcja usuwania jest niedostępna lub operacja zostaje odrzucona, urządzenie bądź profil mogą być zarządzane przez organizację. Nie próbuj obchodzić tego lokalnie; właściwy administrator MDM powinien usunąć przypisanie. Pliki sophos-dns.sh i dns-config.mobileconfig można bezpiecznie usunąć po udokumentowanej, udanej instalacji, ale nie usunie to już zainstalowanego profilu.

Rozwiązywanie problemów według objawów

Internet nie działa po zmianie

Najpierw wycofaj zmianę. Następnie rozpatruj połączenie sieciowe, captive portal i dostępność przez IP niezależnie od DNS. W przypadku Traditional DNS sprawdź, czy oba resolwery zostały poprawnie zastosowane i czy firewall lub dostawca zezwala na DNS przez UDP/TCP 53. W przypadku Secure DNS musi być możliwe połączenie HTTPS z adresem URL DoH właściwym dla tenantu.

Domeny publiczne działają, ale nazwy wewnętrzne nie

Przy systemowym profilu DoH Mac zasadniczo wysyła zapytania DNS do skonfigurowanej usługi. DNS Protection nie zna automatycznie stref wewnętrznych. Split DNS przez VPN lub wewnętrzne resolwery trzeba zaplanować przed wdrożeniem i przetestować z faktycznie używanymi profilami VPN/MDM. Publiczna lista dozwolonych domen nie zastąpi autorytatywnego wewnętrznego serwera DNS.

Test konfiguracji nie wykrywa DNS Protection

W przypadku Traditional DNS porównaj bieżący publiczny źródłowy adres IP z location, zwłaszcza po zmianie sieci, Multi-WAN lub dostawcy. W przypadku Secure DNS sprawdź pełny adres URL w zainstalowanym profilu i poszukaj konkurencyjnych profili DNS lub VPN. Następnie połącz się ponownie i powtórz test.

Nie można zainstalować profilu

Najpierw uruchom plutil -lint dns-config.mobileconfig. Następnie w Device Management poszukaj wczytanego lub zainstalowanego profilu o tym samym identyfikatorze oraz ograniczeń organizacyjnych. Nie instaluj wielu nieznacznie zmienionych profili jeden na drugim; usuń stary profil w kontrolowany sposób albo zastąp go przez MDM.

Zablokowana strona HTTPS wyświetla ostrzeżenie o certyfikacie

Sprawdź osobno politykę DNS i zaufanie do certyfikatu głównego. Jeśli blokada pojawia się w raporcie, decyzja DNS prawdopodobnie już działa. Następnie zleć właścicielowi certyfikatu sprawdzenie dystrybucji certyfikatu, łańcucha zaufania i dostępności strony blokady, zamiast pochopnie łagodzić Filtering Policy.