VPN পোর্টাল ইনস্টলার: প্যাকেজ, প্রোফাইল নাকি পুনর্নির্মাণ?
পোর্টাল থেকে ডাউনলোড একটি স্বাক্ষরিত ভেন্ডর ইনস্টলার, শুধু-প্রোফাইল বান্ডেল বা অভ্যন্তরীণ পুনর্নির্মাণ হতে পারে। মোতায়েনের আগে প্রকাশক, পেলোড ও আপডেটের মালিক যাচাই করুন।
একটি VPN পোর্টালের ডাউনলোড বোতাম ঠিক একটি ফাইল ফেরত দেয়, আর সেই ফাইলটি দুটি খুব আলাদা জিনিস হতে পারে: কনফিগারেশন প্রোফাইল সঙ্গে নিয়ে চলা একটি রেডিমেড ভেন্ডর ইনস্টলার, অথবা সংস্থাটি নিজেই কম্পাইল করা একটি বিল্ড। দুই ক্ষেত্রেই পৃষ্ঠাটি একই দেখায়, তাই বোতামটি আপনাকে বলতে পারে না আপনার কাছে কোনটি আছে। এর পেছনে তিনটি প্রশ্ন আছে — এক্সিকিউটেবলটি কে প্রকাশ করেছে, ইনস্টল কোন কনফিগারেশন লেখে, এবং পরবর্তী ক্লায়েন্ট রিলিজ এলে কে এটি মেরামত করে। প্রথমটির উত্তর দেন আর্টিফ্যাক্টের মেটাডেটা থেকে, দ্বিতীয়টির প্যাকেজের বিষয়বস্তু থেকে, আর তৃতীয়টির কেবল সেই দল থেকে যারা মোতায়েনের মালিক।
ব্রাউজারের তালা স্থানান্তরকে ঢাকে, আর্টিফ্যাক্টকে নয়।
ডাউনলোড এন্ডপয়েন্ট আসলে কী ফেরত দেয়
বেশিরভাগ পোর্টাল ডাউনলোড অনুরোধ একটি ছোট হ্যান্ডলারের কাছে দেয়, যা হয় সংরক্ষিত ফাইল স্ট্রিম করে, নয়তো সঙ্গে সঙ্গে একটি ফাইল জোড়া দেয়, তারপর প্রতিক্রিয়া বেরোনোর আগে একটি ফাইলের নাম ও কনটেন্ট টাইপ ঠিক করে। যা আসে তা একটি কনটেইনার: MSI, PKG, DEB বা RPM, অথবা সেগুলোর একটির চারপাশে একটি স্ব-নিষ্কাশনকারী মোড়ক। ভেতরে থাকে ক্লায়েন্ট বাইনারি, আর ফাইলের নামে কিছুই নির্ভরযোগ্যভাবে বলে না যে বাইনারিটি ভেন্ডরের কাছ থেকে এসেছে নাকি অভ্যন্তরীণ বিল্ড পাইপলাইন থেকে। client-setup.exe নামের একটি ফাইল একটি নামকরণের সিদ্ধান্ত লিপিবদ্ধ করে, উৎসের তথ্য নয়।
ডাউনলোড করা বাইটগুলো ভেন্ডরের প্রকাশিত চেকসামের সঙ্গে মিলিয়ে দেখুন। অমিল দুষ্টতা প্রমাণ করে না; এটি প্রমাণ করে ফাইলটি ভেন্ডরের বিল্ড নয়, আর এটাই সেই পার্থক্য যার ভিত্তিতে পদক্ষেপ নেওয়া উচিত।
প্রোফাইল কোথায় ক্লায়েন্টে ঢোকে
পূর্ব-পূরণকৃত সেটিংস সাধারণত আলাদা ফাইল হিসেবে আসে, যা ইনস্টলার প্রতি-ব্যবহারকারী বা প্রতি-মেশিন পথে কপি করে: Windows-এ একটি JSON বা XML প্রোফাইল, macOS-এ একটি কনফিগারেশন প্রোফাইল, Linux-এ /etc এর অধীনে একটি ফ্র্যাগমেন্ট। ওই ফাইলের মানগুলো — গেটওয়ে হোস্টনেম, ট্রাস্ট অ্যাঙ্কর, মাঝে মাঝে এনরোলমেন্ট উপাদান — প্রথম চালুতে ক্লায়েন্টের ডিফল্ট হয়ে যায়। এই কারণেই এক ডাউনলোড কোডের পাশাপাশি গোপন তথ্যও বহন করতে পারে।
আপগ্রেড পথটি প্রোফাইলের সঙ্গে কী করে তা জিজ্ঞাসা করুন। প্যাকেজিংয়ের উপর নির্ভর করে এটি ক্লায়েন্ট আপডেটে টিকে থাকতে পারে, তা দ্বারা ওভাররাইট হতে পারে, বা নতুন সংস্করণে স্কিমা যাচাইয়ে ব্যর্থ হতে পারে।
স্বাক্ষর শৃঙ্খল কী প্রমাণ করে না
কোড সাইনিং একটি প্রকাশক পরিচয়কে ফাইলের হ্যাশের সঙ্গে বাঁধে, আর Windows-এ Authenticode টাইমস্ট্যাম্প স্বাক্ষরকে যে সার্টিফিকেট এটি তৈরি করেছে তার চেয়ে বেশি দিন বাঁচতে দেয়। বৈধ ফলাফল দুটি প্রশ্নের উত্তর দেয়: কোন প্রকাশক এই বাইটগুলো স্বাক্ষর করেছে, এবং পরে সেগুলো বদলেছে কি না। এটি ইনস্টলারের পরিষেবা, রেজিস্ট্রি লেখা বা সঙ্গে আসা ড্রাইভারগুলোর তালিকা দেয় না, এবং এই প্রকাশককে এখানে বিশ্বাস করা উচিত কি না তা ঠিক করে না। Microsoft-এর Authenticode ডকুমেন্টেশন প্রক্রিয়াটি বর্ণনা করে এবং সেই সংকীর্ণ পরিধি সম্পর্কে স্পষ্ট।
পোর্টাল প্রমাণীকরণ তৃতীয় প্রশ্নের উত্তর দেয়, যে সেশনটি উদ্দিষ্ট সার্ভারে পৌঁছেছে। তিনটি ভিন্ন পরীক্ষা, তিনটি ভিন্ন ব্যর্থতার ধরন।
কেউ চালানোর আগে আর্টিফ্যাক্ট যাচাই করুন
ফাইলটি একটি বিচ্ছিন্ন মেশিনে রাখুন এবং কিছু চালানোর আগে এর মেটাডেটা পড়ুন। এই কমান্ডগুলো তিনটি প্রধান প্ল্যাটফর্মে প্রকাশকের প্রশ্নের উত্তর দেয়।
# Windows PowerShell Get-AuthenticodeSignature .\client-setup.exe | Format-List Status, SignerCertificate, TimeStamperCertificate # macOS pkgutil --check-signature ./Client.pkg codesign -dv --verbose=4 /Applications/Client.app # Debian/Ubuntu dpkg-deb -I ./client_amd64.deb sha256sum ./client_amd64.deb
শুধু স্টেটাস শব্দ নয়, স্বাক্ষরকারীর সাবজেক্ট পড়ুন। একটি অভ্যন্তরীণ সার্টিফিকেট কর্তৃপক্ষের অভ্যন্তরীণ বিল্ড স্বাক্ষর করা প্রত্যাশিত; যে প্যাকেজ নিজেকে ভেন্ডরের রিলিজ বলে দাবি করে তার উপর একই সার্টিফিকেট প্রত্যাশিত নয়।
শুধু-প্রোফাইল প্যাকেজের ক্ষেত্রে আর্কাইভটি খুলুন এবং প্রতিটি এমবেড করা হোস্টনেম ও কী-কে এমন ডেটা হিসেবে দেখুন যা হিসাবের আওতায় আনতে হবে। প্রোফাইলে পুনর্ব্যবহারযোগ্য কিছু থাকলে পোর্টাল বিতরণ এটিকে একটি রোলআউট সময়সূচিসহ ভাগ করা গোপন তথ্যে পরিণত করে।
মোতায়েনের আগে মালিকানা নির্ধারণ
শেষ প্রশ্নটির পেছনে কোনো কমান্ড নেই। ভেন্ডর নতুন ক্লায়েন্ট পাঠালে কে আর্টিফ্যাক্ট আপডেট করে, অভ্যন্তরীণ বিল্ডের স্বাক্ষর কী কার কাছে থাকে, এবং একটি এন্ডপয়েন্ট সরে গেলে প্রোফাইল কীভাবে ঘোরানো হয় তা খুঁজে বের করুন। সেই নামগুলো ডাউনলোড লিঙ্কের পাশে লিখে রাখুন।
কেউ যদি ওই উত্তরের মালিক না হয়, তবে ডাউনলোডটি রক্ষণাবেক্ষণ চুক্তিহীন একটি বিতরণ চ্যানেল, আর সেটাই সেই অনুসন্ধান যা প্রতিবেদনের যোগ্য।