Evo uvjerenja koje ljude stoji tjedan: da Mac ima jedan trenutak koji se zove prije prijave i da VPN klijent tada ili kreće ili ne. Računalo zapravo ima najmanje tri trenutka u kojima je mrežni pristup važan, a razdvaja ih to kome je u tom trenutku dopušteno držati vjerodajnice. Klijent pokrenut iz stavke za prijavu pokriva točno jedan od njih, i to posljednji.

Mit da jedna postavka pokriva cijelo podizanje sustava

Pročitajte ponovno stranicu proizvoda i potražite koji korak funkcija imenuje. Kućica s oznakom pokreni pri prijavi znači stavku za prijavu, koja radi nakon što korisnička sesija postoji. Kućica s oznakom poveži na zahtjev znači da klijent otvara vezu kada promet odgovara pravilu, što i dalje zahtijeva da klijent i njegove vjerodajnice budu dostupni.

Nijedno od toga ne doseže proces podizanja sustava. To nije ograničenje koje je dobavljač zaboravio ukloniti; to je ono što operacijski sustav dopušta. Prije nego što se volumen otključa, nema pokrenutog sustava iz kojeg bi se klijent pokrenuo, a nakon odjave korisnikove tajne odlaze sa sesijom. Dva odvojena zida i nijedan ne popušta pred drugom kućicom.

Kada razdvojite korake, prvotno pitanje mijenja oblik. Umjesto da pitate počinje li VPN prije prijave, pitate koji od tri konkretna trenutka mora raditi, a zatim otkrijete da svaki ima drugog vlasnika: sloj za šifriranje, mrežno proširenje ili korisničku sesiju.

Što se zapravo događa u svakom koraku

Podizanje počinje šifriranim volumenom koji se mora otključati prije nego što postoji upotrebljiv sustav za bilo kakav opći rad. To otključavanje događa se u ograničenom kontekstu s ograničenim skupom vjerodajnica, a Apple jasno dokumentira da šifrirani podaci ostaju nedostupni bez valjanog otključavanja.

Zatim dolazi prozor za prijavu, gdje sustav radi ali korisnička sesija još ne postoji. Proširenje u korisničkom kontekstu već je završilo ako se korisnik odjavio, a globalno sistemsko proširenje možda još radi, ali raditi nije isto što i držati vjerodajnice koje vaš VPN treba.

Zatim dolazi sesija, u kojoj normalan klijent može pročitati privjesak ključeva za prijavu, zatražiti drugi faktor i primijeniti gurnute rute. Većina funkcija koje ljudi opisuju kao prije prijave zapravo je ovaj korak, pokrenut rano u sesiji a ne prije nje.

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

Zašto launch daemon ne može prijaviti odsutnog korisnika

Povišene privilegije izgledaju kao da bi trebale riješiti problem, a ne rješavaju ga. Launch daemon radi kao sistemski proces bez korisničke sesije iza sebe, pa nema privjeska ključeva za otključavanje ni čovjeka da odgovori na upit. Može otvoriti socket i pročitati datoteku; ono što ne može je postati korisnik koji posjeduje vjerodajnice. Privilegija nije identitet i to je točno mjesto gdje se to dvoje pobrka.

Ono što ljudi grade u toj praznini je skripta s lozinkom unutra, a to je gori problem od onog s kojim su počeli.

Iskrena verzija zahtjeva je uža. Ako računalo mora dosegnuti zaštićeni resurs dok nikoga nema, identitet koji taj resurs prihvaća mora biti onaj koji računalo može držati bez osobe: certifikat uređaja, vjerodajnica u sistemskom privjesku ključeva ili račun čiji drugi faktor nije obavijest na telefon u nečijem džepu. Dizajnirajte taj identitet namjerno i pitanje koraka obično samo sebe riješi.

Windowsova funkcija prije prijave ne prenosi se

Windows ima dokumentiran mehanizam pristupa prije prijave za neke proizvode daljinskog pristupa, a ime putuje bolje od sposobnosti. Funkcija opisana u Windowsovu vodiču za implementaciju ne govori vam ništa o tome implementira li isti dobavljač ekvivalent na macOS-u.

Zatražite izjavu koja pokriva Mac hardver, izdanje macOS-a, verziju klijenta i metodu autentifikacije koju stvarno koristite. Opća tvrdnja o podršci nije dovoljna, jer razlika između rada i nerada često leži u jednom od ta četiri.

Ako dobavljač ne može odgovoriti, to je odgovor. Planirajte korak sesije i dizajnirajte alternativu za slučaj bez prisutnosti, umjesto da prazninu otkrijete tijekom uvođenja.

Što tražiti umjesto toga

Napišite zahtjev jezikom koraka. Koji resurs, kome potreban, u kojem kontekstu i s kojim prihvatljivim kašnjenjem kada veze još nema?

Ako je odgovor korisnik koji se prijavi i zatim mu treba tunel, povezivanje na zahtjev i stavka pri pokretanju dovoljni su i jeftini. Ako je odgovor računalo koje se restartuje preko noći i mora se javiti, dizajn treba podržan put otključavanja diska, identitet uređaja i proces oporavka koji radi kada se mreža nikada ne podigne. Ako je odgovor prijava u organizaciju koja zavisi od tunela, tada se dizajni prijave, identiteta i VPN-a moraju graditi zajedno, a ne kupovati odvojeno.

Appleova dokumentacija za FileVault pravo je početno mjesto za korak otključavanja. Sve poslije toga pitanje je klijenta i identiteta koje izjava dobavljača treba riješiti prije kupnje.

Povezani članci