Installerer du en signeret VPN-profil på iPhone? Læs nyttelasterne
En signeret profil beviser, hvem der har pakket den, ikke hvad den installerer. Gennemgå konvolutten, hver nyttelast og hvert certifikat, før du stoler på en VPN eller en rod-CA.
Profiler ankommer i Indstillinger med et navn, en signer og en Installer-knap, og signerlinjen er den del, de fleste læser. Den linje besvarer ét spørgsmål: hvem har pakket disse indstillinger, efter reglerne for signaturverifikation. Den siger ikke, at VPN-nyttelasten peger på din arbejdsgivers gateway, eller at et indlejret rodcertifikat hører til i dit TLS-tillidslager. Gennemgangen nedenfor åbner pakken i den rækkefølge, enheden vil anvende den.
Begynd med konvolutten: hvem har signeret denne profil
På iOS vises profilen under Indstillinger, Generelt, VPN og Enhedsstyring, med signeren vist over Installer-knappen. Læs det navn, før du trykker på noget, og spørg, om det er den organisation, du forventede at modtage indstillinger fra. En gyldig signatur fra en part, du ikke genkender, er stadig en gyldig signatur, og den autoriserer deres konfiguration frem for din. Den samme skærm fortæller også, om profilen overhovedet er signeret.
Har du filen på en Mac, så undersøg den, før den når telefonen. Sikkerhedsværktøjet afkoder CMS-konvolutten og udskriver den plist, enheden vil læse, altså det samme indhold uden en Installer-knap i vejen. Apples dokumentation om håndhævelse af konfiguration beskriver signering som oprindelsesvalidering, og det er netop det omfang, der beskrives her.
security cms -D -i corp-vpn.mobileconfig -o corp-vpn.plist
plutil -p corp-vpn.plist
Stop her, hvis signeren ikke er den, du forventede, eller hvis filen er usigneret og er ankommet via en kanal, der ikke kan stå inde for den. Intet senere i denne gennemgang gør en upålidelig konvolut pålidelig.
Åbn hver nyttelast, og navngiv hvad den installerer
En profil er en beholder, og den interessante del er PayloadContent det array, der ligger indeni. Hver post bærer en PayloadType , der angiver, hvad enheden installerer: en administreret VPN-konfiguration, en PKCS#12-identitet, et rodcertifikat eller en styringstilmelding. Udskriv typerne, før du læser nogen af indstillingerne.
plutil -extract PayloadContent xml1 -o - corp-vpn.plist |
grep -E 'PayloadType|PayloadDisplayName'
En VPN-nyttelast navngiver en forbindelse: serveradresse, godkendelsesmetode og muligvis en regel pr. app eller on demand. En identitetsnyttelast leverer den klientlegitimation, som forbindelsen vil fremvise. En rodcertifikatnyttelast tilføjer et tillidsanker, og en styringsnyttelast overdrager løbende kontrol til en server. Det er fire forskellige forpligtelser, og signaturen dækker pakken i stedet for at garantere hver enkelt særskilt. Læs dem i den rækkefølge, fordi VPN er ubrugelig uden identiteten, og identiteten betyder lidt uden at vide, hvem der udstedte den.
Adgangskodebeskyttelse af filen er igen en særskilt egenskab. En krypteret pakke skjuler indholdet for en person uden adgangskoden; den afgør ikke, om du bør godkende det, der er indeni. Behandl adgangskoden som en leveringsmekanisme, ikke som en gennemgang.
Følg certifikaterne til den forbindelse, der bruger dem
List certifikaterne i pakken, og knyt hvert enkelt til en opgave. Klientcertifikatet identificerer denne enhed over for gatewayen, den CA, der har udstedt det, hører til i tillidskæden for den forbindelse, og en rod, der er installeret til en proxy eller en intern tjeneste, er ikke automatisk et anker for hvert HTTPS-site. På iOS forbliver en rod, der er installeret manuelt, ubetroet til TLS, indtil du aktiverer den under Indstillinger, Om, Indstillinger for certifikattillid, mens en rod, der leveres af styring, er betroet uden det trin. Den forskel er præcis derfor, nyttelastens formål betyder noget.
openssl pkcs7 -inform DER -in corp-vpn.mobileconfig -print_certs -noout
security find-certificate -a -c "Corp Root" -p | openssl x509 -noout -subject -dates
En udbyder, der transporterer din trafik, er ikke af den grund TLS-endepunktet for hvert websted, du besøger. Aflytning kræver trafikvejen og et tillidsanker, som applikationen accepterer, og en profil med ét certifikat beviser ingen af delene. Spørg, hvilken forbindelse der bruger certifikatet, og hvilke applikationer der vil acceptere det, i stedet for at antage, at installation af profilen dekrypterer alt.
Efter installation: verificer, og vid, hvad fjernelse gør
Når profilen er installeret, bekræft den fra enheden i stedet for fra den fil, du hentede. Indstillingsskærmen viser den installerede profil, dens signer og dens nyttelaster, og VPN-skærmen viser, om forbindelsen er konfigureret som tilsigtet. Sletning af den hentede fil fjerner intet; den installerede konfiguration er et særskilt objekt.
profiles show -type configuration
scutil --nc list
Hvis profilen indeholder en styringstilmelding, så læs fjernelseskonsekvenserne, før du installerer den, ikke bagefter. Fjernelse af den tilmelding tager de tilknyttede konfigurationer med og kan fjerne administrerede apps, afhængigt af hvordan enheden blev tilmeldt. Det er ikke et reparationsskridt, man prøver, når et certifikat ser forkert ud. Spørg administratoren, hvilken nyttelast der ejer problemet, før du fjerner noget.
Gennemgangen slutter med fire særskilte svar: hvem der signerede pakken, hvilke nyttelaster den installerer, hvilken identitet og tillid hver forbindelse bruger, og hvad fjernelse ville tage med sig. Hold dem adskilt, og en signeret profil bliver en gennemgået beslutning i stedet for et grønt flueben.