Profile trafiają do Ustawień z nazwą, podpisującym i przyciskiem Zainstaluj, a wiersz podpisującego jest tym, który czyta większość ludzi. Ten wiersz odpowiada na jedno pytanie: kto spakował te ustawienia, zgodnie z regułami weryfikacji podpisu. Nie mówi, że ładunek VPN wskazuje bramę twojego pracodawcy ani że osadzony certyfikat główny należy do twojego magazynu zaufania TLS. Poniższy przegląd otwiera pakiet w kolejności, w jakiej urządzenie go zastosuje.

Zacznij od koperty: kto podpisał ten profil

W iOS profil pojawia się w Ustawieniach, Ogólne, VPN i zarządzanie urządzeniem, a podpisujący jest widoczny nad przyciskiem Zainstaluj. Przeczytaj tę nazwę, zanim cokolwiek dotkniesz, i zapytaj, czy to organizacja, od której spodziewałeś się ustawień. Ważny podpis strony, której nie rozpoznajesz, nadal jest ważnym podpisem i autoryzuje jej konfigurację, a nie twoją. Ten sam ekran mówi też, czy profil jest w ogóle podpisany.

Jeśli masz plik na Macu, zbadaj go, zanim trafi do telefonu. Narzędzie security dekoduje kopertę CMS i drukuje plist, który odczyta urządzenie, czyli tę samą treść bez przycisku Zainstaluj na drodze. Dokumentacja Apple dotycząca wymuszania konfiguracji opisuje podpisywanie jako walidację pochodzenia, i dokładnie taki zakres jest tu omawiany.

security cms -D -i corp-vpn.mobileconfig -o corp-vpn.plist
plutil -p corp-vpn.plist

Zatrzymaj się tutaj, jeśli podpisujący nie jest tym, kogo oczekiwałeś, albo jeśli plik jest niepodpisany i dotarł kanałem, który nie może za niego ręczyć. Nic później w tym przeglądzie nie czyni niezaufanej koperty godną zaufania.

Otwórz każdy ładunek i nazwij, co instaluje

Profil jest kontenerem, a ciekawa część to tablica PayloadContent w środku. Każdy wpis niesie PayloadType, który mówi, co urządzenie zainstaluje: zarządzaną konfigurację VPN, tożsamość PKCS#12, certyfikat główny albo rejestrację zarządzania. Wydrukuj typy, zanim przeczytasz jakiekolwiek ustawienia.

plutil -extract PayloadContent xml1 -o - corp-vpn.plist |
  grep -E 'PayloadType|PayloadDisplayName'

Ładunek VPN nazywa połączenie: adres serwera, metodę uwierzytelniania i ewentualnie regułę dla aplikacji lub na żądanie. Ładunek tożsamości dostarcza poświadczenie klienta, które to połączenie przedstawi. Ładunek certyfikatu głównego dodaje punkt zaufania, a ładunek zarządzania oddaje bieżącą kontrolę serwerowi. To cztery różne zobowiązania, a podpis obejmuje pakiet, nie ręcząc za każde z osobna. Czytaj je w tej kolejności, bo VPN jest bezużyteczny bez tożsamości, a tożsamość znaczy niewiele bez wiedzy, kto ją wydał.

Ochrona hasłem na pliku to znowu osobna właściwość. Zaszyfrowany pakiet ukrywa zawartość przed kimś bez hasła, ale nie rozstrzyga, czy powinieneś autoryzować to, co jest w środku. Traktuj hasło jako mechanizm dostarczania, nie jako przegląd.

Prześledź certyfikaty do połączenia, które ich używa

Wypisz certyfikaty w pakiecie i dopasuj każdy do zadania. Certyfikat klienta identyfikuje to urządzenie wobec bramy, wystawiający go urząd CA należy do łańcucha zaufania tego połączenia, a certyfikat główny zainstalowany dla proxy lub usługi wewnętrznej nie jest automatycznie punktem zaufania dla każdej witryny HTTPS. W iOS certyfikat główny zainstalowany ręcznie pozostaje niezaufany dla TLS, dopóki nie włączysz go w Ustawieniach, Ogólne, Ustawienia zaufania certyfikatów, natomiast certyfikat główny dostarczony przez zarządzanie jest zaufany bez tego kroku. Ta różnica jest dokładnie tym, dlaczego cel ładunku ma znaczenie.

openssl pkcs7 -inform DER -in corp-vpn.mobileconfig -print_certs -noout
security find-certificate -a -c "Corp Root" -p | openssl x509 -noout -subject -dates

Dostawca, który przenosi twój ruch, nie jest z tego powodu punktem końcowym TLS każdej odwiedzanej witryny. Przechwytywanie wymaga ścieżki ruchu i punktu zaufania akceptowanego przez aplikację, a profil niosący jeden certyfikat nie dowodzi ani jednego, ani drugiego. Zapytaj, które połączenie używa certyfikatu i które aplikacje go zaakceptują, zamiast zakładać, że instalacja profilu odszyfrowuje wszystko.

Po instalacji: zweryfikuj i wiedz, co robi usunięcie

Gdy profil jest zainstalowany, potwierdź to z urządzenia, a nie z pobranego pliku. Ekran ustawień wymienia zainstalowany profil, jego podpisującego i jego ładunki, a ekran VPN pokazuje, czy połączenie jest skonfigurowane zgodnie z zamiarem. Usunięcie pobranego pliku niczego nie usuwa; zainstalowana konfiguracja jest osobnym obiektem.

profiles show -type configuration
scutil --nc list

Jeśli profil obejmuje rejestrację zarządzania, przeczytaj konsekwencje usunięcia przed instalacją, nie po niej. Usunięcie tej rejestracji zabiera ze sobą powiązane konfiguracje i może usunąć aplikacje zarządzane, w zależności od tego, jak zarejestrowano urządzenie. To nie jest krok naprawczy, który warto wypróbować, gdy certyfikat wygląda źle. Zapytaj administratora, który ładunek odpowiada za problem, zanim cokolwiek usuniesz.

Przegląd kończy się czterema osobnymi odpowiedziami: kto podpisał pakiet, jakie ładunki instaluje, jakiej tożsamości i zaufania używa każde połączenie oraz co zabierze ze sobą usunięcie. Trzymaj je osobno, a podpisany profil staje się przejrzaną decyzją zamiast zielonego znacznika.

Powiązane artykuły