যে কেউ ফোরামের থ্রেডে VPN প্রোফাইল পেস্ট করে, সে একই বিশ্বাস থেকে শুরু করে। ফাইলটিতে কেবল একটি সার্ভার ঠিকানা আর কয়েকটি অপশন থাকে, তাই এটি শেয়ার করা ফোন নম্বর শেয়ার করার মতো মনে হয়। তারপর কেউ তা পড়ে চতুর্থ লাইনে একটি এনক্রিপ্ট না করা প্রাইভেট কী খুঁজে পায়।

প্রোফাইলটি টানেল সম্পর্কে কোনো ডকুমেন্টেশন নয়। এটি টানেলের পরিচয়, লিখিতভাবে।

ফাইলের বস্তুগুলোর গোপনীয়তার মাত্রা এক নয়

একটি পাবলিক CA সার্টিফিকেট ভ্রমণের জন্যই তৈরি। ক্লায়েন্টের প্রাইভেট কী নয়। যখন দুটোই একই ফাইলে থাকে, নিরীহটি পুরো সংযুক্তিটিকে নিরাপদ দেখায়। এটাই ফাঁদ।

OpenVPN ডিজাইন অনুসারেই বিষয়টি আরও খারাপ করে। এটি সার্টিফিকেট, কী ও প্রমাণীকরণের উপাদান সরাসরি ফাইলে এমবেড করার অনুমতি দেয়। এটি ডিপ্লয়ের জন্য সুবিধাজনক আর শেয়ারের জন্য বিপর্যয়কর। যে ফাইলটি পাঠযোগ্য সার্টিফিকেট ব্লক দিয়ে শুরু হয়, সেটি প্রাইভেট অর্ধেক পর্যন্ত চলতে থাকে।

WireGuard এ নিয়ে আরও স্পষ্ট। ইন্টারফেস অংশে একটি প্রাইভেট কী থাকে, আর প্রতিটি পিয়ার উপরে একটি পূর্ব-শেয়ারকৃত কীও বহন করতে পারে। কোন লাইনগুলো গুরুত্বপূর্ণ তা নিয়ে কোনো অস্পষ্টতা নেই। প্রায় প্রতিটি লাইনই গুরুত্বপূর্ণ।

স্ক্রিনশট একই ফাঁস, আরেকটি ফরম্যাটে

কনফিগারেশনকে QR কোড হিসেবে এনকোড করা সেটিকে প্রিভিউ হিসেবে শ্রেণিবদ্ধ করে না। কোডটি একই বাইট বহন করে, আর ঘরের যেকোনো ফোন ক্যামেরা তা ডিকোড করতে পারে। একই কথা প্রযোজ্য ক্লায়েন্টের কনফিগারেশন উইন্ডোর স্ক্রিনশটের ক্ষেত্রেও, যেখানে কোণে কী-টি পাঠযোগ্য থাকে।

প্রমাণীকরণ ফাইল আর উল্লেখিত কী-পাথ একই অডিটের অংশ। বাইরের ফাইলের দিকে নির্দেশ করা প্রোফাইল স্বয়ংক্রিয়ভাবে নিরাপদ নয়, কারণ পাথটি এমন জায়গায় পৌঁছাতে পারে যেখানে পাঠক পৌঁছাতে পারেন। একটি অথ ফাইলের টোকেন পাসওয়ার্ডের মতোই ব্যবহারযোগ্য, আর এটি খুব কমই পাসওয়ার্ডের মতো দেখায়।

কী নয়, ত্রুটির লেখাটি পাঠান

নির্ণয়ের জন্য দরকার ত্রুটির লেখা, ক্লায়েন্টের সংস্করণ আর যে অপশনগুলোর নাম চেষ্টা করা হয়েছে। কী-এর দরকার নেই। এই তিনটি দিয়ে প্রশ্নটি লিখুন, এবং ফাইলটি আপনার মেশিন ছাড়ার আগে প্রতিটি গোপন তথ্য ও প্রতিটি অপ্রয়োজনীয় নেটওয়ার্ক শনাক্তকারী প্রতিস্থাপন করুন।

OpenVPN-এর ইনলাইন ফাইল নিয়ে ম্যানুয়াল অংশটি ওই বস্তুগুলো কোথায় আছে তার একটি কাজের মানচিত্র। এটি এও মনে করিয়ে দেয় একটি প্রোফাইলে কতগুলো থাকতে পারে।

# which lines in this profile look like secrets?
grep -n -E 'PrivateKey|PresharedKey|password|auth-user-pass|BEGIN .*PRIVATE KEY' wg0.conf

# OpenVPN: show the structure without printing key material
awk '/BEGIN/{print NR": "$0} /^[a-z-]+ /{print NR": "$1}' office.ovpn

তারপর সম্পাদনার বিষয়ে আপনার স্মৃতিকে বিশ্বাস না করে চূড়ান্ত সংযুক্তিটি পড়ুন। কী লুকিয়ে থাকে পরের ব্লকে, অসম্পাদিত মন্তব্যে, আর আপনি যেটিকে কাঠামোগত বলে ধরে নিয়েছেন সেই লাইনে।

প্রকাশের পরে, ঘূর্ণনই একমাত্র মেরামত

পোস্টটি মুছে ফেললে কিছুই বাতিল হয় না। যে ফাইলটি পেয়েছে তার কাছে এখনও কাজের শংসাপত্র রয়েছে, তাই ইস্যুকারীকে সেবার নিজস্ব প্রক্রিয়ায় এটি বাতিল বা প্রতিস্থাপন করতে হয়। স্থানীয় একটি কপি সরানো দূরের প্রান্তে কিছুই বদলায় না।

কাজের প্রোফাইলগুলো সুরক্ষিত পদ্ধতিতে সংরক্ষণ করুন, আর অপ্রচলিত আমদানি করা এন্ট্রিগুলো ডাউনলোড ফোল্ডারে তিনটি কপি রেখে দেওয়ার বদলে ইচ্ছাকৃতভাবে সরান। যে প্রোফাইল আপনি আর ব্যবহার করেন না, সেটি বাতিল না হওয়া পর্যন্ত এখনও একটি শংসাপত্র।

যে অভ্যাসটি গড়ে তোলা উচিত তা ছোট। কোনো প্রোফাইল মেশিন ছাড়ার আগে জিজ্ঞাসা করুন ঠিকানা ছাড়া তার ভেতরে আর কী আছে, আর মনে রাখার বদলে ফাইলটি পড়ে উত্তর দিন।

সম্পর্কিত নিবন্ধ