VPN pred prihlásením v macOS: odomknutie, prihlasovacie okno, relácia
Odomknutie FileVaultu, prihlasovacie okno a používateľská relácia sú oddelené fázy. Klientska aplikácia pre počítač, ktorá sa spúšťa pri prihlásení, rieši len poslednú z nich.
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.
| 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 |
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.