রিকি, পুনঃসংযোগ নাকি পুনঃপ্রমাণীকরণ: আপনার কোনটি দরকার?
রিকি সেশনের কী বদলে দেয়, পুনঃসংযোগ সংযোগটি নতুন করে গড়ে, আর পুনঃপ্রমাণীকরণ পরিচয়ের যাচাই আবার করে। এগুলো গুলিয়ে ফেললে ভুল সমাধান হয়।
ঘণ্টার পর ঘণ্টা চালু থাকা একটি সেশন চিরকাল একই কী ধরে রাখবে না, আর এটি ইচ্ছাকৃতভাবেই এমন। তিনটি ভিন্ন ঘটনাকে কী রোটেশন বলা হয়: বিদ্যমান অ্যাসোসিয়েশনের অধীনে নতুন সেশন উপাদান, সংযোগের সম্পূর্ণ পুনর্নির্মাণ, এবং পরিচয় যাচাইয়ের পুনরাবৃত্তি। প্রতিটির ট্রিগার আলাদা, খরচ আলাদা এবং ব্যর্থতার স্বাক্ষর আলাদা। ভুলটি বেছে নিলে সমাধান হয় কিছুই করবে না, নয়তো অকারণে টানেলটি নামিয়ে দেবে।
সিদ্ধান্তটি নির্ভর করে কোন স্তরটি সত্যিই মেয়াদোত্তীর্ণ হয়েছে তার উপর।
যে তিনটি কাজকে রোটেশন বলা হয়
রিকি বিদ্যমান নিয়ন্ত্রণ সম্পর্কের ভেতরে প্রোটোকল যে পদ্ধতি নির্ধারণ করে তা ব্যবহার করে নতুন ট্র্যাফিক কী তৈরি করে। IKEv2 এটি করে নতুন চাইল্ড সিকিউরিটি অ্যাসোসিয়েশন দিয়ে, TLS 1.3 করে কী আপডেট বার্তা দিয়ে, আর WireGuard করে নতুন হ্যান্ডশেক দিয়ে, যখন তার সময় বা বার্তার সীমা পূর্ণ হয়। টানেলের ঠিকানা ও প্রমাণীকৃত পরিচয় আগের জায়গাতেই থাকে।
পুনঃসংযোগ সংযোগটি বাতিল করে শুরু থেকে আবার গড়ে, ফলে ঠিকানা বরাদ্দ, রাউটিং স্থাপন এবং প্রথম প্রচেষ্টার সব দরকষাকষি পুনরাবৃত্তি হয়।
পুনঃপ্রমাণীকরণ পরিচয়ের প্রমাণটিই পুনরাবৃত্তি করে, যাতে ক্রেডেনশিয়াল, সার্টিফিকেট বা দ্বিতীয় ফ্যাক্টর জড়িত থাকতে পারে। এটি পুনঃসংযোগের সঙ্গে বা ছাড়াই ঘটতে পারে, নির্ভর করে পণ্যের উপর।
নবায়নের সময় ব্যবহারকারীরা কী লক্ষ করেন
রিকি প্রায় অদৃশ্য হওয়া উচিত। অ্যাসোসিয়েশন শনাক্তকারী বদলায়, কাউন্টার রিসেট হতে পারে, আর অ্যাপ্লিকেশনগুলো তাদের সকেট ধরে রাখে; বিনিময়ের সময় এক দিকে সংক্ষিপ্ত বিরতি স্বাভাবিক। স্ট্যাটাস তালিকায় নতুন শনাক্তকারী দেখা কোনো ত্রুটির প্রমাণ নয়। বিনিময়ের পরের লগ লাইনটিই আপনাকে বলে এটি শেষ হয়েছে কি না।
নবায়নে সত্যিকারের বিচ্ছিন্নতা নির্দিষ্ট কোনো জায়গার দিকে ইশারা করে। প্রস্তাবের অসঙ্গতি, মেয়াদোত্তীর্ণ ক্রেডেনশিয়াল বা পথের পরিবর্তন — প্রতিটি আলাদা লগ লাইন তৈরি করে, এবং এর মধ্যে কেবল একটিই লাইফটাইম সমন্বয় করে ঠিক হয়।
বাস্তবে তিনটি কোথায় আলাদা হয়
যদি কেবল কী উপাদানের মেয়াদ শেষ হয়ে থাকে, তবে রিকি করুন। যদি পিয়ার ঠিকানা, রুট বা NAT বাইন্ডিং বদলে যায় এবং প্যাকেট আর না পৌঁছায়, তবে পুনঃসংযোগ করুন। যদি প্রতিষ্ঠানের পর্যায়ক্রমিক পরিচয় যাচাই প্রয়োজন হয়, তবে সেটি পুনঃপ্রমাণীকরণ এবং কোনো লাইফটাইম সমন্বয়ই তার বিকল্প নয়।
প্রোটোকলের ডিফল্ট সাধারণত সঠিক উত্তরই ধারণ করে। WireGuard কোনো ব্যবহারকারীর হস্তক্ষেপ ছাড়াই একটি সময় ও ডেটা-আয়তনের সীমা পেরোলে কী বদলায়; IKEv2-এর লাইফটাইম প্রতিটি চাইল্ড অ্যাসোসিয়েশনের জন্য দরকষাকষি করে ঠিক হয়; TLS-ভিত্তিক টানেল বিদ্যমান সেশনের ভেতরেই কী ঘুরিয়ে দেয়। বারবার আসা ত্রুটি এড়াতে লাইফটাইম বাড়ানো ব্যর্থতাকে পিছিয়ে দেয় এবং কোনো কী ফাঁস হলে এক্সপোজার দীর্ঘায়িত করে।
দীর্ঘ সেশনের জন্য একটি সতর্কতা গুরুত্বপূর্ণ: কেবল বারবার ঘটলেই ফরওয়ার্ড সিক্রেসি তৈরি হয় না। এই বৈশিষ্ট্যটি নির্ভর করে সেশন কীগুলো দীর্ঘমেয়াদি গোপন তথ্যের সঙ্গে কীভাবে সম্পর্কিত এবং পুরোনো কী ধ্বংস করা হয় কি না, যা সেটিং নয়, বরং ডিজাইন ও বাস্তবায়নের প্রশ্ন।
ডিফল্ট বেছে নিন, তারপর পর্যায়টি লিখে রাখুন
ডকুমেন্টেড প্রয়োজন ভিন্ন কিছু না বললে সরবরাহকারীর ডিফল্টই রাখুন, এবং লাইফটাইম বদলাতে হলে দুই পিয়ারেই বদলান। তারপর প্রতিটি ঘটনা কোন পর্যায়ে পৌঁছেছে তা লিখে রাখুন, যাতে পরেরবার একই হ্যান্ডশেক বিন্দুর সঙ্গে মিলিয়ে দেখা যায়।
swanctl --list-sas ip xfrm state | grep -E 'proto|replay-window' wg show journalctl -u strongswan --since '1 hour ago' | grep -i -E 'rekey|rekeyed|child'
সংশোধনের পর একটি নিয়ন্ত্রিত নবায়ন চালান এবং নতুন অ্যাসোসিয়েশন দিয়ে নতুন অ্যাপ্লিকেশন ট্র্যাফিক পাঠান। যে টানেল নিজেকে প্রতিষ্ঠিত বলে জানায় কিন্তু কিছুই ফরওয়ার্ড করে না, সেটিই সেই ব্যর্থতা যা ধরার জন্য এই যাচাই রয়েছে।