Instalarea unui profil VPN semnat pe iPhone? Citește încărcăturile
Un profil semnat dovedește cine l-a împachetat, nu ce instalează. Parcurge plicul, fiecare încărcătură și fiecare certificat înainte de a avea încredere într-un VPN sau într-o autoritate de certificare rădăcină.
Profilurile ajung în Setări cu un nume, un semnatar și un buton Instalează, iar linia semnatarului este partea pe care o citește majoritatea oamenilor. Acea linie răspunde la o singură întrebare: cine a împachetat aceste setări, conform regulilor de verificare a semnăturii. Nu spune că încărcătura VPN indică gateway-ul angajatorului tău sau că un certificat rădăcină încorporat aparține depozitului tău de încredere TLS. Ghidul de mai jos deschide pachetul în ordinea în care dispozitivul îl va aplica.
Începe cu plicul: cine a semnat acest profil
Pe iOS, profilul apare în Setări, General, VPN și Gestionarea dispozitivului, cu semnatarul afișat deasupra butonului Instalează. Citește acel nume înainte de a atinge ceva și întreabă-te dacă este organizația de la care te așteptai să primești setări. O semnătură validă de la o parte pe care nu o recunoști rămâne o semnătură validă și autorizează configurația ei, nu pe a ta. Același ecran îți spune și dacă profilul este semnat deloc.
Dacă ai fișierul pe un Mac, inspectează-l înainte să ajungă pe telefon. Instrumentul security decodează plicul CMS și tipărește plist-ul pe care îl va citi dispozitivul, adică același conținut fără un buton Instalează în cale. Documentația Apple despre impunerea configurației descrie semnarea ca validare a originii, iar acesta este exact domeniul descris aici.
security cms -D -i corp-vpn.mobileconfig -o corp-vpn.plist
plutil -p corp-vpn.plist
Oprește-te aici dacă semnatarul nu este cine te așteptai sau dacă fișierul este nesemnat și a ajuns pe un canal care nu poate garanta pentru acesta. Nimic mai departe în acest ghid nu face un plic neîncrezut demn de încredere.
Deschide fiecare încărcătură și numește ce instalează
Un profil este un container, iar partea interesantă este tabloul PayloadContent din interior. Fiecare intrare poartă un PayloadType care spune ce va instala dispozitivul: o configurație VPN gestionată, o identitate PKCS#12, un certificat rădăcină sau o înrolare de gestionare. Tipărește tipurile înainte de a citi vreuna dintre setări.
plutil -extract PayloadContent xml1 -o - corp-vpn.plist |
grep -E 'PayloadType|PayloadDisplayName'
O încărcătură VPN numește o conexiune: adresa serverului, metoda de autentificare și, posibil, o regulă pe aplicație sau la cerere. O încărcătură de identitate furnizează acreditarea de client pe care o va prezenta acea conexiune. O încărcătură de certificat rădăcină adaugă o ancoră de încredere, iar o încărcătură de gestionare predă controlul continuu unui server. Sunt patru angajamente diferite, iar semnătura acoperă pachetul în loc să garanteze pentru fiecare în parte. Citește-le în această ordine, fiindcă VPN-ul este inutil fără identitate, iar identitatea înseamnă puțin fără să știi cine a emis-o.
Protecția prin parolă a fișierului este din nou o proprietate separată. Un pachet criptat ascunde conținutul de cineva fără parolă, dar nu decide dacă ar trebui să autorizezi ce este înăuntru. Tratează parola ca mecanism de livrare, nu ca verificare.
Urmărește certificatele până la conexiunea care le folosește
Listează certificatele din pachet și potrivește fiecare cu o sarcină. Certificatul de client identifică acest dispozitiv în fața gateway-ului, autoritatea de certificare care l-a emis aparține lanțului de încredere pentru acea conexiune, iar un certificat rădăcină instalat pentru un proxy sau un serviciu intern nu este automat o ancoră pentru fiecare site HTTPS. Pe iOS, un certificat rădăcină instalat manual rămâne neîncrezut pentru TLS până când îl activezi în Setări, General, Setări de încredere a certificatelor, în timp ce un certificat rădăcină livrat prin gestionare este de încredere fără acest pas. Această diferență este exact motivul pentru care scopul încărcăturii contează.
openssl pkcs7 -inform DER -in corp-vpn.mobileconfig -print_certs -noout
security find-certificate -a -c "Corp Root" -p | openssl x509 -noout -subject -dates
Un furnizor care transportă traficul tău nu este, din acest motiv, punctul terminal TLS al fiecărui site pe care îl vizitezi. Interceptarea are nevoie de calea traficului și de o ancoră de încredere acceptată de aplicație, iar un profil care poartă un singur certificat nu dovedește niciuna. Întreabă ce conexiune folosește certificatul și ce aplicații îl vor accepta, în loc să presupui că instalarea profilului decriptează totul.
După instalare: verifică și află ce face eliminarea
După ce profilul este instalat, confirmă-l de pe dispozitiv, nu din fișierul descărcat. Ecranul de setări listează profilul instalat, semnatarul și încărcăturile sale, iar ecranul VPN arată dacă conexiunea este configurată cum trebuie. Ștergerea fișierului descărcat nu elimină nimic; configurația instalată este un obiect separat.
profiles show -type configuration
scutil --nc list
Dacă profilul include o înrolare de gestionare, citește consecințele eliminării înainte de a-l instala, nu după. Eliminarea acelei înrolări ia cu ea configurațiile asociate și poate elimina aplicațiile gestionate, în funcție de modul în care a fost înrolat dispozitivul. Nu este un pas de reparație de încercat când un certificat pare greșit. Întreabă administratorul care încărcătură deține problema înainte de a elimina ceva.
Ghidul se încheie cu patru răspunsuri separate: cine a semnat pachetul, ce încărcături instalează, ce identitate și încredere folosește fiecare conexiune și ce ar lua cu ea eliminarea. Ține-le separate și un profil semnat devine o decizie verificată în loc de o bifă verde.