macOS-এ লগইনের আগে VPN: আনলক, লগইন উইন্ডো, সেশন
FileVault আনলক, লগইন উইন্ডো এবং ব্যবহারকারী সেশন আলাদা ধাপ। লগইনে শুরু হওয়া ডেস্কটপ ক্লায়েন্ট কেবল শেষ ধাপটির সমাধান করে।
এখানে একটি বিশ্বাস আছে যা মানুষের এক সপ্তাহ নষ্ট করে: যে Mac-এর লগইনের আগে নামে একটি মাত্র মুহূর্ত আছে, আর VPN ক্লায়েন্ট হয় তখনই শুরু হয়, নয়তো হয় না। আসলে মেশিনে অন্তত তিনটি মুহূর্ত আছে যেখানে নেটওয়ার্ক অ্যাক্সেস গুরুত্বপূর্ণ, এবং সেগুলো আলাদা করে দেয় ওই সময়ে কে ক্রেডেনশিয়াল রাখার অনুমতি পায়। লগইন আইটেম থেকে চালু করা ক্লায়েন্ট ঠিক একটি মুহূর্ত কভার করে, আর সেটি শেষটি।
এই মিথ যে একটি সেটিং পুরো বুট কভার করে
পণ্যের পাতা আবার পড়ুন এবং দেখুন ফিচারটি কোন ধাপের নাম নেয়। লগইনে শুরু করুন লেখা চেকবক্স মানে লগইন আইটেম, যা ব্যবহারকারী সেশন তৈরির পরে চলে। চাহিদা অনুযায়ী সংযোগ করুন লেখা চেকবক্স মানে ট্রাফিক কোনো নিয়মের সঙ্গে মিললে ক্লায়েন্ট সংযোগ খোলে, যার জন্য তখনও ক্লায়েন্ট ও তার ক্রেডেনশিয়াল উপলব্ধ থাকা দরকার।
এর কোনোটিই বুট প্রক্রিয়ায় পৌঁছায় না। এটি এমন সীমাবদ্ধতা নয় যা বিক্রেতা সরাতে ভুলে গেছে; এটি অপারেটিং সিস্টেম যা অনুমতি দেয়। ভলিউম আনলক হওয়ার আগে চালানোর মতো কোনো সিস্টেম নেই যা থেকে ক্লায়েন্ট চালু করা যায়, আর লগআউটের পর ব্যবহারকারীর গোপনীয়তা সেশনের সঙ্গে চলে যায়। দুটি আলাদা দেয়াল, এবং কোনোটিই অন্য একটি চেকবক্সের কাছে নত হয় না।
ধাপগুলো আলাদা করলে মূল প্রশ্নটির রূপ বদলে যায়। VPN লগইনের আগে শুরু হয় কি না জিজ্ঞাসা করার বদলে আপনি জিজ্ঞাসা করেন তিনটি নির্দিষ্ট মুহূর্তের কোনটি কাজ করতে হবে, তারপর দেখেন প্রতিটির মালিক আলাদা: এনক্রিপশন স্তর, নেটওয়ার্ক এক্সটেনশন, বা ব্যবহারকারী সেশন।
প্রতিটি ধাপে আসলে কী ঘটে
বুট শুরু হয় একটি এনক্রিপ্টেড ভলিউম দিয়ে, যা আনলক করতে হয় তার আগে কোনো সাধারণ কাজের জন্য ব্যবহারযোগ্য সিস্টেম থাকে না। সেই আনলক সীমিত প্রেক্ষাপটে সীমিত ক্রেডেনশিয়াল দিয়ে ঘটে, এবং Apple স্পষ্টভাবে নথিভুক্ত করে যে বৈধ আনলক ছাড়া এনক্রিপ্টেড ডেটা অগম্য থাকে।
এরপর আসে লগইন উইন্ডো, যেখানে সিস্টেম চলছে কিন্তু ব্যবহারকারী সেশন এখনো নেই। ব্যবহারকারী লগআউট করলে ব্যবহারকারী-প্রেক্ষাপটের এক্সটেনশন ইতিমধ্যে শেষ হয়েছে, এবং বৈশ্বিক সিস্টেম এক্সটেনশন হয়তো এখনো চলছে, কিন্তু চলা আর আপনার VPN-এর প্রয়োজনীয় ক্রেডেনশিয়াল ধরে রাখা এক নয়।
তারপর আসে সেশন, যেখানে একটি সাধারণ ক্লায়েন্ট লগইন কি-চেইন পড়তে পারে, দ্বিতীয় ফ্যাক্টর চাইতে পারে এবং পুশ করা রুট প্রয়োগ করতে পারে। লোকেরা লগইনের আগে বলে যা বর্ণনা করে তার বেশিরভাগই আসলে এই ধাপ, লগইনের আগে নয় বরং সেশনের শুরুতে চালু হয়।
| 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 |
কেন একটি launch daemon অনুপস্থিত ব্যবহারকারীর হয়ে সাইন ইন করতে পারে না
উন্নীত বিশেষাধিকার মনে হয় সমস্যার সমাধান করবে, কিন্তু করে না। একটি launch daemon ব্যবহারকারী সেশন ছাড়া সিস্টেম প্রসেস হিসেবে চলে, তাই আনলক করার কি-চেইন নেই এবং কোনো প্রশ্নের উত্তর দিতে মানুষ নেই। এটি সকেট খুলতে ও ফাইল পড়তে পারে; যা করতে পারে না তা হলো ক্রেডেনশিয়ালের মালিক ব্যবহারকারী হয়ে ওঠা। বিশেষাধিকার পরিচয় নয়, এবং ঠিক এখানেই দুটো গুলিয়ে যায়।
যা মানুষ ওই ফাঁকে বানায় তা হলো ভেতরে পাসওয়ার্ড থাকা একটি স্ক্রিপ্ট, যা তাদের শুরুর সমস্যার চেয়েও খারাপ সমস্যা।
প্রয়োজনের সৎ সংস্করণ আরও সংকীর্ণ। যদি মেশিনকে কেউ উপস্থিত না থাকা অবস্থায় সুরক্ষিত রিসোর্সে পৌঁছাতে হয়, তবে সেই রিসোর্স যে পরিচয় গ্রহণ করে তা এমন হতে হবে যা মেশিন মানুষ ছাড়া ধরে রাখতে পারে: ডিভাইস সার্টিফিকেট, সিস্টেম কি-চেইনে ক্রেডেনশিয়াল, বা এমন অ্যাকাউন্ট যার দ্বিতীয় ফ্যাক্টর কারো পকেটে ফোনে পুশ নয়। সেই পরিচয় সচেতনভাবে ডিজাইন করুন, আর ধাপের প্রশ্ন সাধারণত নিজেই উত্তর দিয়ে দয়।
Windows-এর লগইনের আগের ফিচার এখানে প্রযোজ্য নয়
Windows-এ কিছু রিমোট অ্যাক্সেস পণ্যের জন্য নথিভুক্ত লগইনের আগে প্রবেশের ব্যবস্থা আছে, এবং নামটিই ক্ষমতার চেয়ে ভালো ভ্রমণ করে। Windows ডিপলয়মেন্ট গাইডে বর্ণিত একটি ফিচার একই বিক্রেতা macOS-এ সমতুল্য কিছু বাস্তবায়ন করে কি না সে সম্পর্কে কিছুই বলে না।
এমন বিবৃতি চান যা Mac হার্ডওয়্যার, macOS সংস্করণ, ক্লায়েন্ট সংস্করণ এবং আপনি আসলে যে প্রমাণীকরণ পদ্ধতি ব্যবহার করেন তা কভার করে। সাধারণ সমর্থনের দাবি যথেষ্ট নয়, কারণ কাজ করা আর না করার পার্থক্য প্রায়ই ওই চারটির একটিতে থাকে।
যদি বিক্রেতা উত্তর দিতে না পারে, সেটাই উত্তর। সেশন ধাপের পরিকল্পনা করুন এবং কেউ না থাকা ক্ষেত্রের জন্য বিকল্প ডিজাইন করুন, রোলআউটের সময় ফাঁকটি আবিষ্কার করার বদলে।
এর বদলে কী চাইবেন
প্রয়োজনটি ধাপের ভাষায় লিখুন। কোন রিসোর্স, কার দরকার, কোন প্রেক্ষাপটে, এবং সংযোগ এখনো না থাকলে কতটা গ্রহণযোগ্য বিলম্বসহ?
যদি উত্তর হয় এমন ব্যবহারকারী যে সাইন ইন করে তারপর টানেল দরকার, তবে চাহিদা অনুযায়ী সংযোগ এবং একটি স্টার্টআপ আইটেম যথেষ্ট ও সস্তা। যদি উত্তর হয় রাতভর রিবুট হওয়া মেশিন যা রিপোর্ট করতে হবে, তবে ডিজাইনে দরকার সমর্থিত ডিস্ক আনলক পথ, ডিভাইস পরিচয় এবং এমন পুনরুদ্ধার প্রক্রিয়া যা নেটওয়ার্ক কখনো না উঠলেও কাজ করে। যদি উত্তর হয় টানেলের ওপর নির্ভরশীল প্রতিষ্ঠান সাইন-ইন, তবে লগইন, পরিচয় ও VPN ডিজাইন একসঙ্গে তৈরি করতে হবে, আলাদা কিনতে হবে না।
Apple-এর FileVault ডকুমেন্টেশন আনলক ধাপের জন্য সঠিক শুরুর বিন্দু। এর পরের সবকিছু ক্লায়েন্ট ও পরিচয়ের প্রশ্ন, যা কেনার আগে বিক্রেতার বিবৃতিতে নিষ্পত্তি হওয়া উচিত।