Ево уверења које људе кошта недељу: да Mac има један тренутак који се зове пре пријаве и да VPN клијент тада или креће или не. Машина заправо има најмање три тренутка у којима је мрежни приступ важан, а раздваја их то коме је у том тренутку дозвољено да држи акредитиве. Клијент покренут из ставке за пријаву покрива тачно један од њих, и то последњи.

Мит да једна поставка покрива цело подизање система

Прочитајте поново страницу производа и потражите који ступањ функција именује. Поље са ознаком покрени при пријави значи ставку за пријаву, која ради након што корисничка сесија постоји. Поље са ознаком повежи на захтев значи да клијент отвара везу када саобраћај одговара правилу, што и даље захтева да клијент и његови акредитиви буду доступни.

Ниједно од тога не досеже процес подизања система. То није ограничење које је добављач заборавио да уклони; то је оно што оперативни систем допушта. Пре него што се волумен откључа, нема покренутог система из којег би се клијент покренуо, а након одјаве корисникове тајне одлазе са сесијом. Два одвојена зида и ниједан не попуша пред другим пољем.

Када раздвојите ступњеве, првобитно питање мења облик. Уместо да питате почиње ли VPN пре пријаве, питате који од три конкретна тренутка мора да ради, а затим откријете да сваки има другог власника: слој за шифровање, мрежно проширење или корисничку сесију.

Шта се заправо дешава у сваком ступњу

Подизање почиње шифрованим волуменом који се мора откључати пре него што постоји употребљив систем за било какав општи рад. То откључавање се дешава у ограниченом контексту са ограниченим скупом акредитива, а Apple јасно документује да шифровани подаци остају недоступни без ваљаног откључавања.

Затим долази прозор за пријаву, где систем ради али корисничка сесија још не постоји. Проширење у корисничком контексту је већ завршило ако се корисник одјавио, а глобално системско проширење можда још ради, али радити није исто што и држати акредитиве које ваш VPN треба.

Затим долази сесија, у којој нормалан клијент може да прочита привесак кључева за пријаву, затражи други фактор и примени гуране руте. Већина функција које људи описују као пре пријаве заправо је овај ступањ, покренут рано у сесији а не пре ње.

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

Зашто launch daemon не може да пријави одсутног корисника

Повишене привилегије изгледају као да би требало да реше проблем, а не решавају га. Launch daemon ради као системски процес без корисничке сесије иза себе, па нема привеска кључева за откључавање ни човека да одговори на упит. Може да отвори сокет и прочита датотеку; оно што не може је да постане корисник који поседује акредитиве. Привилегија није идентитет и то је тачно место где се то двоје побрка.

Оно што људи граде у тој празнини је скрипта са лозинком унутра, а то је гори проблем од оног с којим су почели.

Искрена верзија захтева је ужа. Ако машина мора да досегне заштићени ресурс док никога нема, идентитет који тај ресурс прихвата мора бити онај који машина може да држи без особе: сертификат уређаја, акредитив у системском привеску кључева или рачун чији други фактор није обавештење на телефон у нечијем џепу. Дизајнирајте тај идентитет намерно и питање ступња обично само себе реши.

Windowsова функција пре пријаве се не преноси

Windows има документован механизам приступа пре пријаве за неке производе даљинског приступа, а име путује боље од способности. Функција описана у Windowsовом водичу за имплементацију не говори вам ништа о томе имплементира ли исти добављач еквивалент на macOS-у.

Затражите изјаву која покрива Mac хардвер, издање macOS-а, верзију клијента и методу аутентификације коју стварно користите. Општа тврдња о подршци није довољна, јер разлика између рада и нерада често лежи у једном од та четири.

Ако добављач не може да одговори, то је одговор. Планирајте ступањ сесије и дизајнирајте алтернативу за случај без присутности, уместо да празнину откријете током увођења.

Шта тражити уместо тога

Напишите захтев језиком ступњева. Који ресурс, коме потребан, у ком контексту и са којим прихватљивим кашњењем када везе још нема?

Ако је одговор корисник који се пријави и затим му треба тунел, повезивање на захтев и ставка при покретању су довољни и јефтини. Ако је одговор машина која се рестартује преко ноћи и мора се јавити, дизајн треба подржан пут откључавања диска, идентитет уређаја и процес опоравка који ради када се мрежа никада не подигне. Ако је одговор пријава у организацију која зависи од тунела, тада се дизајни пријаве, идентитета и VPN-а морају градити заједно, а не куповати одвојено.

Appleова документација за FileVault је право почетно место за ступањ откључавања. Све после тога је питање клијента и идентитета које изјава добављача треба да реши пре куповине.

Повезани чланци