প্রতিটি ডিভাইস লক আউট না করেই VPN পাসওয়ার্ড পরিবর্তন করুন
পাসওয়ার্ড বদলালে সংরক্ষিত কপিগুলো আপডেট হয় না। প্রতিটি ক্লায়েন্টের তালিকা করুন, মালিকের কাছে সংরক্ষিত মান প্রতিস্থাপন করুন এবং পুনরায় চেষ্টার চক্র বন্ধ করুন।
তিনটি ফোন, একটি রাউটার এবং একটি মনিটরিং চেক এখনও পুরোনো পাসওয়ার্ড ধরে রেখেছে, এবং তাদের একটি প্রতি নব্বই সেকেন্ডে পুনরায় সংযোগ করে। অ্যাকাউন্টের পাসওয়ার্ড দশ মিনিট আগে বদলানো হয়েছে, তাই ওই ক্লায়েন্টগুলোর প্রত্যেকেই এখন এমন একটি মান পাঠাচ্ছে যা সার্ভার প্রত্যাখ্যান করে। এখানেই কল্পনাটি ভাঙে: পাসওয়ার্ড পরিবর্তন অ্যাকাউন্টকে স্পর্শ করে, প্রতিটি ডিভাইসে বসে থাকা পুরোনো মানের কপিগুলোকে নয়। এরপর যা আসে তা হলো সেই কাজ যা পরিবর্তনটি করেনি।
কল্পনা: একটি পরিবর্তন, একসঙ্গে সব জায়গায়
ধারণাটি হলো, পাসওয়ার্ড পরিবর্তন সবকিছু থেকে সাইন আউট করে এবং পরিষ্কার পুনরায় লগইন বাধ্য করে। তা হয় না, কারণ সার্ভার কেবল শেষ কোন ক্রেডেনশিয়াল গ্রহণ করেছে তা মনে রাখে, আর ক্লায়েন্টরা যা সংরক্ষণ করেছে তা নিজেরাই ধরে রাখে। সংরক্ষিত পাসওয়ার্ডযুক্ত ডিভাইস নিজের সময়সূচিতে তা আবার চেষ্টা করে এবং কেউ অ্যাকাউন্ট লক হয়েছে লক্ষ্য না করা পর্যন্ত নীরবে ব্যর্থ হয়। কপিগুলো অ্যাকাউন্টের বাইরে বাস করে এটি মেনে নিলে, ঘোরানো আর একক কাজ মনে হয় না।
এর কোনোটিই ঘোরানোর বিরুদ্ধে নয়। এটি বরং সংরক্ষিত কপিগুলোকে পরবর্তী ভাবনা নয়, পরিবর্তনের অংশ হিসেবে দেখার পক্ষে। লক আউট সাধারণত সমান্তরাল পুনঃচেষ্টা থেকে আসে: প্রতিটি ডিভাইস কাউন্টার ট্রিপ না হওয়া পর্যন্ত নিজের সময়সূচিতে পুরোনো মান পাঠাতে থাকে। তখন অ্যাকাউন্ট আক্রান্ত মনে হয়, অথচ কেবল এমন ক্রেডেনশিয়াল দেওয়া হচ্ছে যা কেউ প্রতিস্থাপন করেনি। এই পার্থক্যটি গুরুত্বপূর্ণ, কারণ সমাধান কঠোর লক আউট নীতি নয়, ডিভাইসের তালিকা।
ঘোরানোর আগে কপিগুলোর তালিকা করুন
পাসওয়ার্ড ফর্ম খোলার আগে তালিকাটি লিখুন। এই অ্যাকাউন্ট হিসেবে প্রমাণীকরণ করে এমন প্রতিটি ক্লায়েন্ট, স্ক্রিপ্ট, অটোমেশন ও পরিচালিত প্রোফাইল তালিকাভুক্ত করুন: নিজে সংযোগ করা ফোন, দুই বছর আগে কনফিগার করা রাউটার, কেবল সোমবার জাগা ল্যাপটপ, এবং প্রতি মিনিটে চেষ্টা করা মনিটরিং চেক। প্রতিটির জন্য লিখুন ক্রেডেনশিয়াল কোথায় সংরক্ষিত, পরিবর্তনের সময় ডিভাইসে পৌঁছানো যায় কি না, এবং পুনরায় সংযোগ করতে না পারলে কোন পুনরুদ্ধার পথ আছে। এই তালিকাই ঝুঁকিপূর্ণ পরিবর্তনকে নির্ধারিত পরিবর্তনে পরিণত করে, এবং পুরোনো পাসওয়ার্ড কাজ করা বন্ধ করার আগেই এটি থাকতে হবে।
অফলাইন ডিভাইস হলো চিরাচরিত মিস। ড্রয়ারে থাকা ল্যাপটপ তিন সপ্তাহ পরে ফিরে আসে এবং সবচেয়ে খারাপ মুহূর্তে পুরোনো মান উপস্থাপন করে। এর অবস্থান ও সময়সূচিও লিখুন, কারণ অপেক্ষা না করে এর পিছনে ছুটতে হবে।
লিনাক্স ফ্লিটে অনুসন্ধান বুদ্ধিমানের নয়, যান্ত্রিক। যে প্রোফাইলগুলো ক্রেডেনশিয়াল ফাইলের উল্লেখ করে সেগুলো খুঁজুন, তারপর ক্রেডেনশিয়াল ফাইলগুলো নিজেরাই খুঁজুন, কারণ দ্বিতীয় তালিকাই পুনর্লিখন করতে হবে। ডেস্কটপ ক্লায়েন্ট ও ফোনের জন্য ব্যায়ামটি পুনরাবৃত্তি করুন, যেখানে ভাণ্ডার পথ নয়, প্রোফাইল বা কীচেইন এন্ট্রি। লক্ষ্য হলো এমন তালিকা যা নিয়ে কাজ করা যায়, এমন স্ক্যান নয় যা প্রতিটি কপি খুঁজে পেয়েছে বলে দাবি করে।
grep -rl auth-user-pass /etc/openvpn /etc/NetworkManager
grep -rl auth-user-pass ~/.config 2>/dev/null
কপিগুলোকে তাদের মালিকদের বিপরীতে মাপুন। যে ডিভাইসের দাবি কেউ করে না, সেটি এমন ডিভাইস যা কেউ আপডেট করবে না, এবং সেটিই পুনঃচেষ্টা চালিয়ে যাওয়ার সম্ভাবনায় সবচেয়ে বেশি।
আপনি আসলে কোন গোপনীয়তা ঘোরাচ্ছেন
অ্যাকাউন্ট পাসওয়ার্ড VPN স্থাপনায় কেবল একটি ক্রেডেনশিয়াল। কী পাসফ্রেজ, সার্টিফিকেট পরিচয় এবং ঐচ্ছিক পিয়ার সিক্রেট—প্রত্যেকের নিজস্ব প্রতিস্থাপন পথ ও নিজস্ব মালিক আছে। অ্যাকাউন্ট পাসওয়ার্ড বদলালে সার্টিফিকেটে প্রমাণীকরণ করা ডিভাইসের জন্য কিছুই হয় না, আর সার্টিফিকেট পুনরায় ইস্যু করলে সংরক্ষিত পাসওয়ার্ডধারী ক্লায়েন্টের জন্য কিছুই হয় না। সমাধানের নাম দেওয়ার আগে গোপনীয়তার নাম দিন।
যদি ঘোরানো নীতির বদলে সন্দেহ দ্বারা চালিত হয়, তবে ঘটনা প্রক্রিয়াই সুবিধা পরিকল্পনার চেয়ে অগ্রগণ্য। প্রমাণ যা দাবি করে তা বাতিল করুন এবং ডিভাইস তালিকার অতিরিক্ত কাজ মেনে নিন। সেই সিদ্ধান্ত ঘটনার মালিকের, পাসওয়ার্ড রিসেট ফর্ম ধরে থাকা যে কারও নয়।
সংরক্ষিত মান যেখানে বাস করে সেখানেই প্রতিস্থাপন করুন
সেবা যে প্রক্রিয়া নথিভুক্ত করে তা দিয়ে ক্রেডেনশিয়াল বদলান, তারপর সংরক্ষিত কপি আপডেট করুন বা যে ডিভাইসগুলো রাখতে চান সেগুলোতে সাইন-ইন প্রবাহ চালান। যে ম্যানেজার তা পুনর্লিখন করে তার পেছনে উৎপন্ন কনফিগারেশন সম্পাদনা করবেন না, কারণ ম্যানেজার পরের রানে পুরোনো মান ফিরিয়ে আনে এবং সম্পাদনাটি বিলম্বিত ব্যর্থতায় পরিণত হয়। ম্যানেজার যে উৎস পড়ে তা আপডেট করুন, বা ক্লায়েন্টের নিজস্ব ক্রেডেনশিয়াল ভাণ্ডার ব্যবহার করুন। যেভাবেই হোক, ডিভাইসকে ক্লায়েন্ট যে জায়গা সত্যিই পড়ে সেখানে নতুন মান নিয়ে শেষ করতে হবে।
যে ক্লায়েন্ট পাসওয়ার্ড ফাইল সংরক্ষণ করে তার ফাইল পুনর্লিখন দরকার, আর যে ক্লায়েন্ট জিজ্ঞাসা করে তার সম্পূর্ণ সাইন-ইন দরকার। NetworkManager সংযোগ প্রোফাইলের ভেতরে গোপনীয়তা রাখে, তাই পরিবর্তনটি টেক্সট এডিটরের বদলে nmcli দিয়ে যায়:
nmcli connection modify work vpn.secrets "password=NEW"
nmcli connection up work
ক্রেডেনশিয়াল ফাইল পড়া প্রোফাইল তৃতীয় ঘটনা। ওই ফাইলের বিষয়বস্তু প্রতিস্থাপন করুন, এর অনুমতিগুলো বন্ধ রাখুন, এবং যে প্রোফাইল এটির দিকে ইশারা করে তা সম্পাদনার বদলে ক্লায়েন্ট পুনরায় লোড করুন। প্রোফাইল বদলায়নি; কেবল যে গোপনীয়তা এটি পড়ে তা বদলেছে।
প্রতিটি লক্ষ্য করা ডিভাইস একবার সচেতনভাবে পুনরায় সংযোগ করুন এবং কোনটি ব্যর্থ হয় দেখুন। কোনও ডিভাইস বারবার ব্যর্থ হলে, পাসওয়ার্ড আবার বদলানোর আগে এটি যে অ্যাকাউন্টের দিকে ইশারা করে এবং যে ভাণ্ডার পড়ে তা দেখুন, কারণ দ্বিতীয় পরিবর্তন আপডেট প্রয়োজনীয় কপিগুলোকে গুণ করে। দুইবার ব্যর্থ হওয়া ডিভাইস সাধারণত ভুল অ্যাকাউন্টের দিকে ইশারা করে বা আপনি এখনও যে ভাণ্ডার খুঁজে পাননি তা পড়ে। সেটি ঠিক করুন, তারপর পুনরায় সংযোগ করুন।
সেশন ও টোকেন পাসওয়ার্ডের চেয়ে বেশি বাঁচে
পাসওয়ার্ড বদলানো প্রমাণ করে না যে বিদ্যমান সেশন বা আলাদা সার্টিফিকেট বাতিল হয়েছে। কিছু সেবা সেশন মেয়াদ শেষ বা স্পষ্টভাবে বন্ধ না হওয়া পর্যন্ত জীবিত রাখে, আর জারি করা টোকেন নিজস্ব আয়ু বহন করে। পরিবর্তন বৈশ্বিক ছিল ধরে নেওয়ার বদলে সেবা আসলে কী করে তা যাচাই করুন। পরিবর্তন সন্দেহ দ্বারা চালিত হলে সেশনগুলো স্পষ্টভাবে বন্ধ করুন এবং ফলাফল নিশ্চিত করুন।
NIST SP 800-63B-তে ক্রেডেনশিয়াল জীবচক্র নির্দেশনা প্রমাণীকরণকারী ও সেশনকে আলাদা শ্রেণিতে রাখে, তাই পাসওয়ার্ড পরিবর্তন ও বৈশ্বিক লগআউট ভিন্ন কাজ। এগুলোকে দুটি সমাপ্তি মানদণ্ডসহ দুটি কাজ হিসেবে দেখুন। প্রথমটি শেষ হয় যখন নতুন মান কাজ করে, দ্বিতীয়টি শেষ হয় যখন পুরোনো সেশনগুলো চলে যায়।
নতুন পাসওয়ার্ড রেকর্ডে না লিখেই সমাপ্তি লিপিবদ্ধ করুন। যে ঘোরানো লগে ক্রেডেনশিয়াল থাকে তা শেয়ারড ড্রাইভে অপেক্ষমাণ নতুন ঘটনা। তারিখ, আপডেট হওয়া ডিভাইস এবং এখনও বাকি থাকা ডিভাইস লিখুন।