Apple IncludeAllNetworks: co nadal omija VPN
IncludeAllNetworks kieruje ruch przez VPN z udokumentowanymi wyjątkami, w tym z bezpośrednią usługą komórkową operatora. Przeczytaj profil, zanim oskarżysz o obejście.
Otwierasz profil w konsoli MDM, widzisz zaznaczony IncludeAllNetworks i zakładasz, że każdy pakiet z tego urządzenia trafia teraz do tunelu. Sam schemat Apple tego nie obiecuje. To ustawienie kieruje ruch przez VPN z wyjątkami, z których część to opcjonalne przełączniki, a część jest konieczna, aby system w ogóle działał. Poniższy opis podąża za tym dokumentem od profilu na zewnątrz, więc pierwszą rzeczą, którą czytasz, jest samo ustawienie, a nie przechwycenie z urządzenia, którego nikt jeszcze nie zidentyfikował.
Dwa z tych wyjątków wyjaśniają większość zamieszania i oba dotyczą usługi komórkowej.
Zacznij od profilu zarządzanego, nie od przechwycenia
Otwórz schemat zarządzanego profilu VPN i przeczytaj opis właściwości, zanim przeczytasz jakikolwiek dziennik pakietów. Zwróć uwagę, że opis dotyczy routingu z wyjątkami, a nie gwarancji pełnego tunelu. Właśnie to jedno zdanie decyduje o tym, jak zinterpretujesz wszystko, co zobaczysz później.
Zapisz trzy rzeczy, będąc w konsoli: identyfikator ładunku, który niesie ustawienie, wersję zarządzanego systemu operacyjnego na urządzeniu i to, która implementacja VPN jest rzeczywiście zainstalowana. Opis klucza w dokumentacji nie mówi nic o tym, czy klient innej firmy pokazuje go we własnym interfejsie konfiguracji.
Czytaj wyjątek komórkowy jako dwa różne przypadki
W obsługiwanych konfiguracjach ExcludeCellularServices wyłącza ruch usług komórkowych, który można routować przez internet, ale tylko gdy jest włączony razem z IncludeAllNetworks. Schemat podaje Wi-Fi Calling, IMS i usługi związane z wiadomościami jako przykłady tej kategorii. Te przepływy mogą z założenia opuszczać tunel i żaden przegląd profilu nie przeprowadzi ich przez niego, dopóki wyjątek jest włączony.
Drugi przypadek jest odrębny i nie zależy od żadnego przełącznika. Niektórzy operatorzy dostarczają usługi komórkowe bezpośrednio przez własną sieć, a nie przez internet, a Apple dokumentuje tę kategorię jako zawsze wyłączoną z tunelu. To nie jest opisany wyżej warunkowy przypadek routingu przez internet, więc profil, w którym wyczyszczono wszystkie pola wyjątków, nadal go nie obejmie. Traktowanie obu jako jednej funkcji to miejsce, w którym zaczyna się większość sporów o wyciek.
Jeśli twoje wymaganie dosłownie mówi, że żaden pakiet nigdy nie opuszcza tunelu, ten drugi przypadek już czyni to wymaganie niemożliwym na urządzeniu komórkowym. Musisz to wiedzieć przed przeglądem projektu, a nie po nim.
Sprawdź, które klucze twoja platforma rzeczywiście udostępnia
Schemat opisuje także niezbędny ruch połączeń sieciowych i sieci captive oraz osobne mechanizmy sterowania dla innych kategorii, takich jak sieci lokalne i komunikacja między urządzeniami. To udokumentowane zależności konfiguracji, a nie obserwacje twojego urządzenia. Potwierdź każdą z nich względem zarządzanej wersji systemu operacyjnego, ponieważ dostępność zmienia się między wersjami, a klucz profilu po cichu ignorowany wygląda dokładnie jak klucz, który wykonuje swoją pracę.
Minimalny ładunek dla tej decyzji wygląda zwykle tak, z flagą komórkową podaną jawnie, a nie odziedziczoną z szablonu:
<key>IncludeAllNetworks</key><true/>
<key>ExcludeCellularServices</key><true/>
<key>ExcludeLocalNetworks</key><true/>
Jeśli w dostarczonym profilu brakuje jakiegoś klucza, urządzenie wraca do wartości domyślnej tego klucza, która niekoniecznie jest wartością, jaką miał na myśli autor szablonu. Porównaj dostarczony ładunek z szablonem, zamiast czytać tylko szablon.
Ustal, czym jest nieznana nazwa hosta
Gdy pojawia się podejrzana nazwa, ustal, co obserwacja naprawdę reprezentuje: nazwę, o którą poprosił system, resolver, który odpowiedział, cel połączenia albo etykietę wydrukowaną przez narzędzie. Nazwa związana z operatorem sama w sobie nie identyfikuje ani procesu źródłowego, ani zastosowanego wyjątku. Ściganie jej jako dowodu obejścia to sposób, w jaki wątek pomocy spędza tydzień na niewłaściwej warstwie.
Używaj obsługiwanej diagnostyki i porozmawiaj z administratorem, który jest właścicielem profilu, a następnie porównaj przepływ z zamierzoną polityką. To porównanie, a nie nazwa hosta, mówi ci, czy ruch był oczekiwany.
Rozwiąż wymaganie, zamiast osłabiać system
Nie instaluj niewyjaśnionego certyfikatu głównego i nie wyłączaj usług systemowych tylko po to, by przechwycenie było cichsze. Wyciszenie przechwycenia usuwa dowód i pozostawia wyjątek na miejscu, co jest gorszym miejscem niż pierwotne pytanie. Jeśli reguła zgodności zabrania kategorii, którą platforma świadomie wyłącza, zanieś ten konflikt właścicielom urządzenia i sieci z sekcją schematu w ręku.
Zakończ opis, notując, który wyjątek wyjaśniał ruch, do której wersji systemu operacyjnego ma zastosowanie i która wartość profilu go wywołała. Ikona połączenia nie pogodzi dwóch niezgodnych założeń o tym, jak daleko sięga zasięg ruchu systemu operacyjnego.