VPN pred prijavo v macOS: odklepanje, prijavno okno, seja
Odklepanje FileVaulta, prijavno okno in uporabniška seja so ločene faze. Namizni odjemalec, ki se zažene ob prijavi, reši le zadnjo od njih.
Tu je prepričanje, ki ljudi stane teden: da ima Mac en sam trenutek, imenovan pred prijavo, in da odjemalec VPN takrat bodisi zažene bodisi ne. Računalnik ima v resnici vsaj tri trenutke, ko je dostop do omrežja pomemben, ločene po tem, kdo sme v tistem trenutku hraniti poverilnice. Odjemalec, zagnan iz prijavne postavke, pokrije natanko enega od njih, in to je zadnji.
Mit, da ena nastavitev pokrije celoten zagon
Znova preberite stran izdelka in poglejte, katero fazo imenuje funkcija. Potrditveno polje z oznako zaženi ob prijavi pomeni prijavno postavko, ki teče po tem, ko obstaja uporabniška seja. Potrditveno polje z oznako poveži na zahtevo pomeni, da odjemalec odpre povezavo, ko promet ustreza pravilu, kar še vedno zahteva, da sta odjemalec in njegove poverilnice na voljo.
Nobeno od tega ne doseže procesa zagona. To ni omejitev, ki bi jo ponudnik pozabil odstraniti; to je tisto, kar dovoljuje operacijski sistem. Preden je nosilec odklenjen, ni delujočega sistema, iz katerega bi zagnali odjemalca, po odjavi pa skrivnosti uporabnika odidejo s sejo. Dva ločena zidova in nobeden ne popusti pred drugim poljem.
Ko faze ločite, prvotno vprašanje spremeni obliko. Namesto da bi spraševali, ali se VPN zažene pred prijavo, sprašujete, kateri od treh konkretnih trenutkov mora delovati, in potem odkrijete, da ima vsak drugega lastnika: sklad za šifriranje, omrežno razširitev ali uporabniška seja.
Kaj se v resnici zgodi v vsaki fazi
Zagon se začne s šifriranim nosilcem, ki ga je treba odkleniti, preden obstaja uporaben sistem za kar koli splošnega. To odklepanje se zgodi v omejenem kontekstu z omejeno množico poverilnic, in Apple jasno dokumentira, da šifrirani podatki ostanejo nedosegljivi brez veljavnega odklepanja.
Nato pride prijavno okno, kjer sistem teče, a uporabniške seje še ni. Razširitev v uporabniškem kontekstu se je že končala, če se je uporabnik odjavil, in globalna sistemska razširitev lahko še teče, a teči ni isto kot hraniti poverilnice, ki jih potrebuje vaš VPN.
Potem pride seja, kjer običajen odjemalec lahko prebere zbirko ključev za prijavo, zahteva drugi dejavnik in uporabi potisnjene poti. Večina funkcij, ki jih ljudje opisujejo kot pred prijavo, je v resnici ta faza, sprožena zgodaj v seji in ne pred njo.
| 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 |
Zakaj se launch daemon ne more prijaviti za odsotnega uporabnika
Povišane pravice se zdijo, da bi morale rešiti težavo, in je ne rešijo. Launch daemon teče kot sistemski proces brez uporabniške seje za seboj, zato ni zbirke ključev za odklepanje in ni človeka, ki bi odgovoril na zahtevo. Lahko odpre vtičnico in prebere datoteko; česar ne more, je postati uporabnik, ki ima poverilnice. Pravica ni identiteta in natanko tu se obe zamenjata.
Kar ljudje gradijo v tej vrzeli, je skripta z geslom v notranjosti, kar je slabša težava od tiste, s katero so začeli.
Iskrena različica zahteve je ožja. Če mora računalnik doseči zaščiten vir, ko nikogar ni, mora biti identiteta, ki jo ta vir sprejema, taka, da jo računalnik lahko hrani brez človeka: potrdilo naprave, poverilnica v sistemski zbirki ključev ali račun, katerega drugi dejavnik ni potisno obvestilo na telefon v nečijem žepu. To identiteto oblikujte namerno, in vprašanje faze običajno odgovori samo.
Funkcija Windows pred prijavo se ne prenaša
Windows ima dokumentiran mehanizem dostopa pred prijavo za nekatere izdelke oddaljenega dostopa, in ime potuje bolje od zmožnosti. Funkcija, opisana v priročniku za uvedbo Windows, vam ne pove ničesar o tem, ali isti ponudnik izvaja ustreznik v macOS.
Zahtevajte izjavo, ki pokriva strojno opremo Maca, izdajo macOS, različico odjemalca in metodo preverjanja pristnosti, ki jo dejansko uporabljate. Splošna trditev o podpori ni dovolj, ker razlika med delovanjem in nedelovanjem pogosto leži v eni od teh štirih.
Če ponudnik ne more odgovoriti, je to odgovor. Načrtujte fazo seje in oblikujte alternativo za primer brez nadzora, namesto da bi vrzel odkrili med uvajanjem.
Kaj zahtevati namesto tega
Zahtevo napišite v jeziku faz. Kateri vir, komu potreben, v kakšnem kontekstu in s kakšno sprejemljivo zakasnitvijo, ko povezave še ni?
Če je odgovor uporabnik, ki se prijavi in nato potrebuje tunel, sta povezovanje na zahtevo in zagonska postavka dovolj in poceni. Če je odgovor stroj, ki se ponoči znova zažene in mora poročati, potrebuje zasnova podprto pot za odklepanje diska, identiteto naprave in postopek obnovitve, ki deluje, ko se omrežje nikoli ne dvigne. Če je odgovor prijava v organizacijo, ki je odvisna od tunela, je treba zasnove prijave, identitete in VPN zgraditi skupaj, ne kupovati ločeno.
Appleova dokumentacija za FileVault je pravo izhodišče za fazo odklepanja. Vse po tem je vprašanje odjemalca in identitete, ki bi ga morala izjava ponudnika razrešiti pred nakupom.