VPN enne sisselogimist macOS-is: avamine, sisselogimisaken, sessioon
FileVaulti avamine, sisselogimisaken ja kasutajasessioon on eraldi etapid. Sisselogimisel käivituv töölauaklient lahendab neist ainult viimase.
Siin on uskumus, mis maksab inimestele nädala: et Macil on üks hetk, mida nimetatakse enne sisselogimist, ja et VPN-klient kas käivitub siis või mitte. Masinal on tegelikult vähemalt kolm hetke, mil võrguühendus loeb, ja neid eristab see, kellel on sel hetkel lubatud volitusi hoida. Sisselogimisüksusest käivitatud klient katab neist täpselt ühe ja see on viimane.
Müüt, et üks säte katab kogu käivituse
Lugege tootelehte uuesti ja otsige, millist etappi funktsioon nimetab. Märkeruut kirjaga käivita sisselogimisel tähendab sisselogimisüksust, mis töötab pärast kasutajasessiooni tekkimist. Märkeruut kirjaga ühendai vajadusel tähendab, et klient avab ühenduse, kui liiklus vastab reeglile, mis nõuab endiselt, et klient ja selle volitused oleksid saadaval.
Kumbki neist ei jõua käivitusprotsessini. See ei ole piirang, mille tarnija oleks unustanud eemaldada; see on see, mida operatsioonisüsteem lubab. Enne kettamahu avamist ei ole töötavat süsteemi, millest klienti käivitada, ja pärast väljalogimist lahkuvad kasutaja saladused koos sessiooniga. Kaks eraldi seina ja kumbki ei alistu teisele märkeruudule.
Kui etapid eraldada, muudab algne küsimus kuju. Selle asemel et küsida, kas VPN käivitub enne sisselogimist, küsige, milline kolmest konkreetsest hetkest peab töötama, ja siis avastate, et igal on erinev omanik: krüpteerimiskiht, võrgulaiend või kasutajasessioon.
Mis igas etapis tegelikult juhtub
Käivitamine algab krüpteeritud kettamahuga, mis tuleb avada enne, kui on olemas kasutatav süsteem millegi üldise jaoks. See avamine toimub piiratud kontekstis piiratud volituste kogumiga ja Apple dokumenteerib selgelt, et krüpteeritud andmed jäävad ilma kehtiva avamiseta kättesaamatuks.
Järgmisena tuleb sisselogimisaken, kus süsteem töötab, aga kasutajasessiooni veel ei ole. Kasutajakonteksti laiend on juba lõppenud, kui kasutaja välja logis, ja globaalne süsteemilaiend võib veel töötada, kuid töötamine ei ole sama mis teie VPN-i vajaminevate volituste hoidmine.
Siis tuleb sessioon, kus tavaline klient saab lugeda sisselogimise võtmehoidlat, küsida teist faktorit ja rakendada lükatud marsruute. Enamik funktsioone, mida inimesed kirjeldavad kui enne sisselogimist, on tegelikult see etapp, mis käivitub sessiooni alguses, mitte enne seda.
| Stage | What it can use | What it cannot do |
|---|---|---|
| FileVault unlock | Credentials supplied at the console to unlock the volume | Run an ordinary VPN app or read a user keychain |
| Login window | System context, possibly a joined network | Use a user secret that only exists after login |
| User session | Login keychain, interactive MFA, full client features | Exist before the volume unlocks |
Miks launch daemon ei saa puuduva kasutaja eest sisse logida
Tõstetud õigused tunduvad probleemi lahendavat, aga ei lahenda. Launch daemon töötab süsteemiprotsessina, mille taga ei ole kasutajasessiooni, seega ei ole võtmehoidlat, mida avada, ega inimest, kes päringule vastaks. See saab avada sokli ja lugeda faili; mida see ei saa, on saada kasutajaks, kellele volitused kuuluvad. Õigus ei ole identiteet ja täpselt selles kohas lähevad need kaks segamini.
Mida inimesed sellesse lünka ehitavad, on skript, milles on parool sees, mis on hullem probleem kui see, millega nad alustasid.
Nõude aus versioon on kitsam. Kui masin peab jõudma kaitstud ressursini, kui kedagi kohal ei ole, siis identiteet, mida see ressurss aktsepteerib, peab olema selline, mida masin saab ilma inimeseta hoida: seadmesertifikaat, volitus süsteemi võtmehoidlas või konto, mille teine faktor ei ole push-teade kellegi taskus olevasse telefoni. Kujundage seda identiteeti teadlikult ja etapi küsimus vastab tavaliselt ise.
Windowsi enne sisselogimist funktsioon ei kandu üle
Windowsil on dokumenteeritud enne sisselogimist juurdepääsu mehhanism mõne kaugjuurdepääsu toote jaoks ja nimi rändab paremini kui võimekus. Windowsi juurutamisjuhendis kirjeldatud funktsioon ei ütle teile midagi selle kohta, kas sama tarnija rakendab macOS-is samaväärset.
Küsige avaldust, mis katab Maci riistvara, macOS-i versiooni, kliendi versiooni ja autentimismeetodi, mida te tegelikult kasutate. Üldine väide toetusest ei ole piisav, sest erinevus töötamise ja mittetöötamise vahel on sageli ühes neist neljast.
Kui tarnija ei saa vastata, on see vastus. Planeerige sessiooni etapp ja kujundage alternatiiv järelevalveta juhtumiks, selle asemel et avastada lünk juurutamise ajal.
Mida selle asemel küsida
Kirjutage nõue etappide keeles. Milline ressurss, kellele vajalik, millises kontekstis ja millise vastuvõetava viivitusega, kui ühendust veel ei ole?
Kui vastus on kasutaja, kes logib sisse ja vajab siis tunnelit, on vajadusel ühendamine ja käivitusüksus piisavad ja odavad. Kui vastus on masin, mis öösel taaskäivitub ja peab aru andma, vajab kujundus toetatud ketta avamise teed, seadme identiteeti ja taastamisprotsessi, mis töötab, kui võrk ei tule kunagi üles. Kui vastus on organisatsiooni sisselogimine, mis sõltub tunnelist, tuleb sisselogimise, identiteedi ja VPN-i kujundused ehitada koos, mitte eraldi osta.
Apple'i FileVaulti dokumentatsioon on õige lähtekoht avamise etapile. Kõik pärast seda on kliendi ja identiteedi küsimus, mille peaks enne ostu lahendama tarnija avaldus.