Evo uvjerenja koje ljude košta sedmicu: da Mac ima jedan trenutak koji se zove prije prijave i da VPN klijent tada ili kreće ili ne. Mašina 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 tačno jedan od njih, i to posljednji.

Mit da jedna postavka pokriva cijelo podizanje sistema

Pročitajte ponovo stranicu proizvoda i potražite koji stupanj 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 saobraćaj odgovara pravilu, što i dalje zahtijeva da klijent i njegove vjerodajnice budu dostupni.

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

Kada razdvojite stupnjeve, prvobitno 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 šifrovanje, mrežno proširenje ili korisničku sesiju.

Šta se zapravo dešava u svakom stupnju

Podizanje počinje šifrovanim volumenom koji se mora otključati prije nego što postoji upotrebljiv sistem za bilo kakav opći rad. To otključavanje se dešava u ograničenom kontekstu s ograničenim skupom vjerodajnica, a Apple jasno dokumentuje da šifrovani podaci ostaju nedostupni bez valjanog otključavanja.

Zatim dolazi prozor za prijavu, gdje sistem radi ali korisnička sesija još ne postoji. Proširenje u korisničkom kontekstu je već 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 stupanj, 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 tač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 mašina mora dosegnuti zaštićeni resurs dok nikoga nema, identitet koji taj resurs prihvata mora biti onaj koji mašina može držati bez osobe: certifikat uređaja, vjerodajnica u sistemskom privjesku ključeva ili račun čiji drugi faktor nije obavještenje na telefon u nečijem džepu. Dizajnirajte taj identitet namjerno i pitanje stupnja obično samo sebe riješi.

Windows funkcija prije prijave se ne prenosi

Windows ima dokumentovan mehanizam pristupa prije prijave za neke proizvode daljinskog pristupa, a ime putuje bolje od sposobnosti. Funkcija opisana u Windows 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 stupanj sesije i dizajnirajte alternativu za slučaj bez prisustva, umjesto da prazninu otkrijete tokom uvođenja.

Šta tražiti umjesto toga

Napišite zahtjev jezikom stupnjeva. 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 su dovoljni i jeftini. Ako je odgovor mašina koja 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 je prava početna tačka za stupanj otključavanja. Sve poslije toga je pitanje klijenta i identiteta koje izjava dobavljača treba riješiti prije kupovine.

Povezani članci