Tu je presvedčenie, ktoré ľudí stojí týždeň: že Mac má jediný okamih nazývaný pred prihlásením a že VPN klient buď vtedy štartuje, alebo nie. Stroj má v skutočnosti najmenej tri okamihy, keď záleží na prístupe k sieti, oddelené tým, kto v danom bode smie držať prihlasovacie údaje. Klient spustený z položky prihlásenia pokrýva presne jeden z nich, a to ten posledný.

Mýtus, že jedno nastavenie pokrýva celé spúšťanie

Prečítajte si znova stránku produktu a hľadajte, ktorú fázu funkcia pomenúva. Zaškrtávacie pole s označením spustiť pri prihlásení znamená položku prihlásenia, ktorá beží po tom, ako existuje používateľská relácia. Zaškrtávacie pole s označením pripojiť na vyžiadanie znamená, že klient otvorí spojenie, keď premávka zodpovedá pravidlu, čo stále vyžaduje, aby bol klient a jeho prihlasovacie údaje dostupné.

Ani jedno z toho nedosiahne proces spúšťania. To nie je obmedzenie, ktoré by výrobca zabudol odstrániť; to je to, čo operačný systém dovoľuje. Kým nie je zväzok odomknutý, neexistuje bežiaci systém, z ktorého by sa dal klient spustiť, a po odhlásení používateľove tajomstvá odchádzajú s reláciou. Dve oddelené steny a ani jedna neustúpi inému zaškrtávaciemu poľu.

Keď fázy oddelíte, pôvodná otázka mení tvar. Namiesto toho, aby ste sa pýtali, či VPN štartuje pred prihlásením, pýtate sa, ktorý z troch konkrétnych okamihov musí fungovať, a potom zistíte, že každý má iného vlastníka: vrstvu šifrovania, sieťové rozšírenie alebo používateľskú reláciu.

Čo sa v skutočnosti deje v každej fáze

Spúšťanie začína zašifrovaným zväzkom, ktorý treba odomknúť predtým, než existuje použiteľný systém na čokoľvek všeobecné. Toto odomknutie sa deje v obmedzenom kontexte s obmedzenou sadou prihlasovacích údajov, a Apple jasne dokumentuje, že zašifrované dáta zostávajú neprístupné bez platného odomknutia.

Potom prichádza prihlasovacie okno, kde systém beží, ale používateľská relácia ešte neexistuje. Rozšírenie v používateľskom kontexte už skončilo, ak sa používateľ odhlásil, a globálne systémové rozšírenie môže ešte bežať, ale bežať nie je to isté ako držať prihlasovacie údaje, ktoré váš VPN potrebuje.

Potom prichádza relácia, kde normálny klient môže prečítať zväzok kľúčov prihlásenia, vyžiadať druhý faktor a použiť vložené trasy. Väčšina funkcií, ktoré ľudia opisujú ako pred prihlásením, je v skutočnosti táto fáza, spustená skoro v relácii a nie pred ňou.

StageWhat it can useWhat it cannot do
FileVault unlockCredentials supplied at the console to unlock the volumeRun an ordinary VPN app or read a user keychain
Login windowSystem context, possibly a joined networkUse a user secret that only exists after login
User sessionLogin keychain, interactive MFA, full client featuresExist before the volume unlocks

Prečo sa launch daemon nemôže prihlásiť za neprítomného používateľa

Zvýšené oprávnenia vyzerajú, že by mali problém vyriešiť, a neriešia ho. Launch daemon beží ako systémový proces bez používateľskej relácie za sebou, takže nie je čo odomknúť a nie je kto odpovedať na požiadavku. Môže otvoriť socket a prečítať súbor; to, čo nedokáže, je stať sa používateľom, ktorému patria prihlasovacie údaje. Oprávnenie nie je identita a presne v tomto bode sa obe zamieňa.

Čo ľudia v tejto medzere stavajú, je skript s heslom vnútri, čo je horší problém než ten, s ktorým začali.

Úprimná verzia požiadavky je užšia. Ak sa stroj musí dostať k chránenému zdroju, keď nikto nie je prítomný, identita, ktorú tento zdroj prijíma, musí byť taká, ktorú stroj udrží bez človeka: certifikát zariadenia, prihlasovací údaj v systémovom zväzku kľúčov alebo účet, ktorého druhý faktor nie je push na telefón v niekoho vrecku. Navrhnite túto identitu zámerne, a otázka fázy zvyčajne odpovie sama.

Funkcia Windows pred prihlásením sa neprenáša

Windows má dokumentovaný mechanizmus prístupu pred prihlásením pre niektoré produkty vzdialeného prístupu a názov cestuje lepšie ako schopnosť. Funkcia opísaná v príručke na nasadenie Windows vám nepovie nič o tom, či rovnaký výrobca implementuje ekvivalent na macOS.

Požadujte vyhlásenie pokrývajúce hardvér Macu, verziu macOS, verziu klienta a metódu overovania, ktorú skutočne používate. Všeobecné tvrdenie o podpore nestačí, pretože rozdiel medzi fungujúcim a nefungujúcim často spočíva v jednej z tých štyroch.

Ak výrobca nevie odpovedať, to je odpoveď. Naplánujte fázu relácie a navrhnite alternatívu pre prípad bez dohľadu, namiesto toho, aby ste medzeru objavili počas nasadenia.

O čo žiadať namiesto toho

Napíšte požiadavku jazykom fáz. Ktorý zdroj, komu je potrebný, v akom kontexte a s akým prijateľným oneskorením, keď spojenie ešte nie je?

Ak je odpoveďou používateľ, ktorý sa prihlási a potom potrebuje tunel, pripojenie na vyžiadanie a položka pri spustení stačia a sú lacné. Ak je odpoveďou stroj, ktorý sa v noci reštartuje a musí podávať správy, návrh potrebuje podporovanú cestu odomknutia disku, identitu zariadenia a proces obnovy, ktorý funguje, keď sa sieť nikdy nezodvihne. Ak je odpoveďou prihlásenie do organizácie, ktoré závisí od tunela, potom sa návrhy prihlásenia, identity a VPN musia stavať spoločne, nie kupovať oddelene.

Dokumentácia Applu k FileVaultu je správny východiskový bod pre fázu odomknutia. Všetko po nej je otázka klienta a identity, ktorú by malo vyhlásenie výrobcu vyriešiť pred nákupom.

Súvisiace články