Profili dolaze u Postavke s imenom, potpisnikom i gumbom Instaliraj, a redak potpisnika dio je koji većina ljudi čita. Taj redak odgovara na jedno pitanje: tko je zapakirao te postavke, prema pravilima provjere potpisa. Ne kaže da VPN payload pokazuje na gateway tvog poslodavca, niti da ugrađeni korijenski certifikat pripada tvom TLS spremištu povjerenja. Pregled u nastavku otvara paket redoslijedom kojim će ga uređaj primijeniti.

Počni od omotnice: tko je potpisao ovaj profil

Na iOS-u profil se pojavljuje u Postavkama, Općenito, VPN i Upravljanje uređajem, s potpisnikom prikazanim iznad gumba Instaliraj. Pročitaj to ime prije nego što bilo što dodirneš i pitaj se je li to organizacija od koje si očekivao postavke. Valjan potpis strane koju ne prepoznaješ i dalje je valjan potpis i ovlašćuje njihovu konfiguraciju, a ne tvoju. Isti ekran govori i je li profil uopće potpisan.

Ako imaš datoteku na Macu, pregledaj je prije nego stigne na telefon. Alat security dekodira CMS omotnicu i ispisuje plist koji će uređaj čitati, dakle isti sadržaj bez gumba Instaliraj na putu. Appleova dokumentacija o nametanju konfiguracije opisuje potpisivanje kao provjeru podrijetla, a to je upravo opseg opisan ovdje.

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

Zaustavi se ovdje ako potpisnik nije onaj kojeg si očekivao ili ako je datoteka nepotpisana i stigla je kanalom koji ne može jamčiti za nju. Ništa kasnije u ovom pregledu ne čini nepovjerljivu omotnicu vrijednom povjerenja.

Otvori svaki payload i imenuj što instalira

Profil je spremnik, a zanimljivi dio je polje PayloadContent unutra. Svaki unos nosi PayloadType koji kaže što će uređaj instalirati: upravljanu VPN konfiguraciju, PKCS#12 identitet, korijenski certifikat ili upis u upravljanje. Ispiši tipove prije nego što pročitaš bilo koju postavku.

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

VPN payload imenuje vezu: adresu poslužitelja, metodu autentikacije i moguće pravilo po aplikaciji ili na zahtjev. Identitetski payload dostavlja klijentsku vjerodajnicu koju će ta veza predstaviti. Payload korijenskog certifikata dodaje sidro povjerenja, a payload upravljanja predaje trajnu kontrolu poslužitelju. To su četiri različite obveze, a potpis pokriva paket umjesto da jamči za svaku zasebno. Čitaj ih tim redoslijedom, jer je VPN beskoristan bez identiteta, a identitet malo znači bez znanja tko ga je izdao.

Zaštita datoteke lozinkom opet je zasebno svojstvo. Šifrirani paket skriva sadržaj od nekoga bez lozinke, ali ne odlučuje trebaš li ovlastiti ono što je unutra. Tretiraj lozinku kao mehanizam dostave, a ne kao pregled.

Prati certifikate do veze koja ih koristi

Izlistaj certifikate u paketu i svaki poveži sa zadatkom. Klijentski certifikat identificira ovaj uređaj prema gatewayu, CA koji ga je izdao pripada lancu povjerenja te veze, a korijen instaliran za proxy ili internu uslugu nije automatski sidro za svaku HTTPS stranicu. Na iOS-u korijen instaliran ručno ostaje nepovjerljiv za TLS dok ga ne omogućiš u Postavkama, Općenito, Postavke povjerenja certifikata, dok je korijen dostavljen upravljanjem povjerljiv bez tog koraka. Ta razlika je upravo razlog zašto je svrha payloada važna.

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

Pružatelj koji prenosi tvoj promet nije zbog toga TLS odredište svake stranice koju posjetiš. Presretanje treba put prometa i sidro povjerenja koje aplikacija prihvaća, a profil s jednim certifikatom ne dokazuje ni jedno ni drugo. Pitaj koja veza koristi certifikat i koje će ga aplikacije prihvatiti, umjesto da pretpostaviš da instalacija profila dešifrira sve.

Nakon instalacije: provjeri i znaj što uklanjanje čini

Kad je profil instaliran, potvrdi to s uređaja, a ne iz datoteke koju si preuzeo. Zaslon postavki navodi instalirani profil, njegovog potpisnika i njegove payloade, a VPN zaslon pokazuje je li veza konfigurirana kako je zamišljeno. Brisanje preuzete datoteke ne uklanja ništa; instalirana konfiguracija je zaseban objekt.

profiles show -type configuration
scutil --nc list

Ako profil uključuje upis u upravljanje, pročitaj posljedice uklanjanja prije instalacije, a ne poslije. Uklanjanje tog upisa nosi sa sobom povezane konfiguracije i može ukloniti upravljane aplikacije, ovisno o tome kako je uređaj upisan. To nije korak popravka koji vrijedi isprobati kad certifikat izgleda pogrešno. Pitaj administratora koji payload je odgovoran za problem prije nego bilo što ukloniš.

Pregled završava s četiri odvojena odgovora: tko je potpisao paket, koje payloade instalira, koji identitet i povjerenje koristi svaka veza i što bi uklanjanje odnijelo sa sobom. Drži ih odvojeno i potpisani profil postaje pregledana odluka umjesto zelene kvačice.

Povezani članci