აი რწმენა, რომელიც ადამიანებს ერთ კვირას უჯდებათ: რომ 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 მუშაობს როგორც სისტემური პროცესი მომხმარებლის სესიის გარეშე, ამიტომ არ არის გასაღებების კრებული გასახსნელად და არც ადამიანი, რომელიც მოთხოვნას უპასუხებს. მას შეუძლია socket-ის გახსნა და ფაილის წაკითხვა; რაც არ შეუძლია, არის იმ მომხმარებლად გადაქცევა, რომელსაც ავტორიზაციის მონაცემები ეკუთვნის. უფლება იდენტობა არ არის, და სწორედ აქ ერევა ეს ორი.

რასაც ადამიანები ამ ნაპრალში აშენებენ, არის სკრიპტი პაროლით შიგნით, რაც უფრო უარესი პრობლემაა, ვიდრე ის, რითაც დაიწყეს.

მოთხოვნის პატიოსანი ვერსია უფრო ვიწროა. თუ მოწყობილობამ უნდა მიაღწიოს დაცულ რესურსს, როცა არავინ არის, მაშინ იდენტობა, რომელსაც ეს რესურსი იღებს, უნდა იყოს ისეთი, რომლის შენახვაც მოწყობილობას ადამიანის გარეშე შეუძლია: მოწყობილობის სერტიფიკატი, ავტორიზაციის მონაცემი სისტემის გასაღებების კრებულში, ან ანგარიში, რომლის მეორე ფაქტორი ვინმეს ჯიბეში მყოფ ტელეფონზე გაგზავნილი შეტყობინება არ არის. დააპროექტეთ ეს იდენტობა განზრახ, და ეტაპის კითხვა, როგორც წესი, თავისით პასუხობს.

Windows-ის შესვლამდე ფუნქცია არ გადადის

Windows-ს აქვს დოკუმენტირებული შესვლამდე წვდომის მექანიზმი ზოგიერთი დისტანციური წვდომის პროდუქტისთვის, და სახელი უკეთ მოგზაურობს, ვიდრე უნარი. Windows-ის განლაგების სახელმძღვანელოში აღწერილი ფუნქცია არაფერს გეუბნებათ იმაზე, დანერგავს თუ არა იგივე მომწოდებელი ეკვივალენტს macOS-ზე.

მოითხოვეთ განცხადება, რომელიც მოიცავს Mac-ის ტექნიკას, macOS-ის ვერსიას, კლიენტის ვერსიას და ავთენტიფიკაციის იმ მეთოდს, რომელსაც რეალურად იყენებთ. მხარდაჭერის ზოგადი მტკიცება საკმარისი არ არის, რადგან სხვაობა მუშაობასა და არამუშაობას შორის ხშირად ამ ოთხიდან ერთშია.

თუ მომწოდებელი ვერ გიპასუხებთ, ეს არის პასუხი. დაგეგმეთ სესიის ეტაპი და დააპროექტეთ ალტერნატივა ზედამხედველობის გარეშე შემთხვევისთვის, ნაცვლად იმისა, რომ ნაპრალი განლაგების დროს აღმოაჩინოთ.

რა უნდა მოითხოვოთ სამაგიეროდ

დაწერეთ მოთხოვნა ეტაპების ენაზე. რომელი რესურსი, ვის სჭირდება, რა კონტექსტში და რა მისაღები დაყოვნებით, როცა კავშირი ჯერ არ არის?

თუ პასუხია მომხმარებელი, რომელიც შედის და შემდეგ გვირაბი სჭირდება, მოთხოვნისამებრ დაკავშირება და გაშვების ელემენტი საკმარისი და იაფია. თუ პასუხია მოწყობილობა, რომელიც ღამით გადაიტვირთება და უნდა მოხსენებოს, დიზაინს სჭირდება მხარდაჭერილი დისკის განბლოკვის გზა, მოწყობილობის იდენტობა და აღდგენის პროცესი, რომელიც მუშაობს, როცა ქსელი არასოდეს ამოდის. თუ პასუხია ორგანიზაციის შესვლა, რომელიც გვირაბზეა დამოკიდებული, მაშინ შესვლის, იდენტობისა და VPN-ის დიზაინები ერთად უნდა აშენდეს და არა ცალ-ცალკე იყიდოს.

Apple-ის FileVault-ის დოკუმენტაცია განბლოკვის ეტაპისთვის სწორი საწყისი წერტილია. ყველაფერი, რაც ამის შემდეგ მოდის, კლიენტისა და იდენტობის კითხვაა, რომელიც მომწოდებლის განცხადებამ უნდა გადაწყვიტოს ყიდვამდე.

დაკავშირებული სტატიები