হারানো VPN ডিভাইস বাতিল করবেন কীভাবে: কী, সার্টিফিকেট বা অ্যাকাউন্ট
হারানো ডিভাইস একসঙ্গে তিনটি পরিচয়: একটি WireGuard পিয়ার কী, একটি ক্লায়েন্ট সার্টিফিকেট এবং একটি অ্যাকাউন্ট সেশন। আপনার সার্ভার যেটি যাচাই করে সেটিই বাতিল করুন।
আপনার ল্যাপটপ চলে গেছে, আর VPN এখনও সেটিকে একটি ক্লায়েন্ট হিসেবে দেখাচ্ছে। জরুরি প্রশ্নটি হলো আপনি যে মেশিন আর নেই সেখানে প্রোফাইল কীভাবে মুছবেন তা নয়, বরং সার্ভার কোন পরিচয়টি এখনও গ্রহণ করে। WireGuard একটি পাবলিক কী যাচাই করে, PKI-ভিত্তিক OpenVPN সেটআপ একটি ক্লায়েন্ট সার্টিফিকেট যাচাই করে, আর SSO-নির্ভর VPN একটি অ্যাকাউন্ট ও তার সেশন টোকেন যাচাই করে। এই তিনটি ভিন্ন জায়গায়, ভিন্ন গতিতে বাতিল হয়, এবং একটি ঠিক করে বাকিগুলো উপেক্ষা করলে হারানো ডিভাইসটি সংযুক্তই থেকে যায়।
তিনটি পরিচয় এবং প্রতিটি কী নিয়ন্ত্রণ করে
প্রতিটি প্রক্রিয়া ভিন্ন প্রশ্নের উত্তর দেয়। পিয়ার কী বলে এটি সেই মেশিন কি না যা আপনি নিবন্ধন করেছিলেন। সার্টিফিকেট বলে এটি আপনার CA দ্বারা স্বাক্ষরিত এবং বাতিল হয়নি কি না। অ্যাকাউন্ট বলে এই ব্যক্তি যথেষ্ট সাম্প্রতিক সময়ে প্রমাণীকৃত হয়েছে কি না। দুটি স্তর একসঙ্গে বসানো কোনো স্থাপনা, যেমন সার্টিফিকেটের সঙ্গে ডিরেক্টরি লগইন, দরজা বন্ধ করে তখনই যখন ডিভাইসকে কিছু দিয়েছে এমন প্রতিটি স্তরকে তা গ্রহণ করা বন্ধ করতে বলা হয়।
ব্যবহারিক ফাঁদটি হলো অনুপস্থিত মেশিনটিই প্রতিটি প্রমাণপত্রের ব্যক্তিগত অর্ধেক ধরে রাখে, তাই স্থানীয়ভাবে আপনি যা কিছু করেন তা সার্ভারে পৌঁছায় না।
WireGuard: পিয়ারটি সরান, কারণ কোনো বাতিল তালিকা নেই
WireGuard কোনো নিষেধ তালিকা রাখে না। ইন্টারফেসটি ঠিক সেই পাবলিক কীগুলোই গ্রহণ করে যেগুলো পিয়ার হিসেবে কনফিগার করা আছে, তাই বাতিল মানে মুছে ফেলা: wg set wg0 peer <public-key> remove চালান, যে রূপটি wg(8)-এ নথিভুক্ত, তারপর wg0.conf থেকে মিলে যাওয়া [Peer] ব্লকটি মুছুন। দুটিই করুন। শুধু চলার সময়ে সরানো পরবর্তী রিবুট বা কনফিগ পুনরায় লোড পর্যন্ত টিকে থাকে, তখন ফাইলটি কীটি ফিরিয়ে দেয়।
বিদ্যমান সেশনগুলোর মরে যাওয়ার জন্য কোনো টাইমারের দরকার নেই। পিয়ারটি সরালে তার হ্যান্ডশেক ও কী উপাদান বাদ পড়ে, তাই আবার বৈধ কী-জোড়া প্রয়োজন হলেই ট্রাফিক থেমে যায়। সার্ভারে wg show wg0 latest-handshakes দেখুন: হারানো কীটির এন্ট্রি উধাও হওয়া উচিত এবং উধাওই থাকা উচিত, আর বাকি পিয়ারগুলো সাম্প্রতিক ইপক জানাতে থাকবে।
একটি সতর্কতা দেখতে যতটা সাধারণ, তার চেয়ে বেশি গুরুত্বপূর্ণ। যদি হারানো ডিভাইসটি অন্য ডিভাইসগুলোর সঙ্গে একটি কী ভাগ করত কারণ কেউ একটি কনফিগ ফাইল কপি করেছিল, তাহলে সেই কী সরালে তাদের সবাই সংযোগ হারায়; এটিই এখনও সঠিক পদক্ষেপ, এবং পরে ভাগ করা কীটি ফিরিয়ে না এনে প্রতিটি ডিভাইসের জন্য আলাদা কী ইস্যু করুন।
সার্টিফিকেট: CRL তখনই গণ্য হয় যখন ডেমনটি তা পড়ে
সার্টিফিকেটভিত্তিক অ্যাক্সেস একটি ধাপ যোগ করে যা মানুষ এড়িয়ে যায়। easyrsa revoke laptop-01 CA ডেটাবেসে সার্টিফিকেটটিকে বাতিল হিসেবে চিহ্নিত করে, কিন্তু VPN সেই ডেটাবেস থেকে কিছুই জানে না। এরপর আপনি easyrsa gen-crl চালিয়ে crl.pem লেখেন, সেটি সার্ভারের crl-verify অপশনে উল্লিখিত পথে কপি করেন, এবং চলমান ডেমনটি নতুন ফাইলটি ব্যবহার করছে কি না নিশ্চিত করেন। CRL পুনরায় তৈরি ও বিতরণ না করে বাতিল করা অর্থহীন।
সময় হলো দ্বিতীয় অর্ধেক। ক্লায়েন্ট সংযুক্ত বা পুনরায় আলোচনার সময় CRL দেখা হয়, তাই প্রতিষ্ঠিত টানেল তখন পর্যন্ত ফরওয়ার্ড চালিয়ে যেতে পারে। ডিভাইসটি যদি সঙ্গে সঙ্গে বিচ্ছিন্ন করতে হয়, পরবর্তী হ্যান্ডশেকের অপেক্ষা না করে OpenVPN ম্যানেজমেন্ট ইন্টারফেসের মাধ্যমে সেই সেশনটি স্পষ্টভাবে বন্ধ করুন। পরিষেবাটি পুনরায় লোড বা রিস্টার্ট করা, স্থাপনাটি CRL কীভাবে লোড করে তার উপর নির্ভর করে, পরিবর্তনেরই অংশ এবং ঐচ্ছিক অতিরিক্ত কিছু নয়।
অন্য মেশিন থেকে যাচাই করা উচিত: বাতিল করা সার্টিফিকেটটি উপস্থাপন করুন এবং হ্যান্ডশেক ব্যর্থতার আশা করুন, সাধারণত VERIFY ERROR: depth=0, error=certificate revoked। যদি সংযোগ তবুও সফল হয়, ক্লায়েন্টটি আপনি হালনাগাদ করা CRL-এর চেয়ে ভিন্ন একটি CRL পড়ছে।
অ্যাকাউন্ট ও সেশন: নিষ্ক্রিয় করা আর বহিষ্কার করা এক নয়
ডিরেক্টরি বা SSO লগইন প্রমাণীকরণের সময়ে যাচাই হয়। অ্যাকাউন্ট নিষ্ক্রিয় করা পরবর্তী লগইন আটকায়, কিন্তু রিফ্রেশ টোকেন ও প্রতিষ্ঠিত টানেল মেয়াদ শেষ হওয়া পর্যন্ত কাজ চালিয়ে যেতে পারে। সেই ব্যবহারকারীর সেশন ও টোকেন বাতিল করুন, অথবা পরিচয় প্রদানকারী সমর্থন করলে সেশন সংস্করণ বাড়ান। হারানো ডিভাইসটি MFA নিবন্ধন থেকেও সরান, কারণ নিবন্ধিত প্রমাণীকরণক নিজেই একটি অ্যাক্সেস পথ।
RADIUS-ভিত্তিক VPN সক্রিয় সেশন বাদ দিতে একটি সংযোগ-বিচ্ছেদ বার্তা বা অনুমোদন-পরিবর্তন পাঠাতে পারে, কিন্তু প্রতিটি নেটওয়ার্ক অ্যাক্সেস সার্ভার তা মানে না। সন্দেহ হলে সার্ভারের দিক থেকে ব্যবহারকারীর সেশনটি শেষ করুন এবং লগে নিশ্চিত করুন যে পুরোনো সেশনটি বন্ধ হয়েছে।
পরবর্তী এক ঘণ্টার কাজের ক্রম
ইনভেন্টরি থেকে শুরু করুন, ক্লায়েন্ট থেকে নয়: ডিভাইসের সঙ্গে যুক্ত প্রতিটি পরিচয় তালিকাভুক্ত করুন, তা পিয়ার কী, সার্টিফিকেট সিরিয়াল বা অ্যাকাউন্ট যাই হোক। যে ক্রমে সংযোগটি তৈরি হয় সেই ক্রমে প্রতিটি ইস্যুকারী সিস্টেমে বাতিল করুন, অর্থাৎ আগে অ্যাকাউন্ট, তারপর সার্টিফিকেট, তারপর পিয়ার। এরপর আপনি নিয়ন্ত্রণ করেন এমন একটি মেশিন থেকে প্রত্যাখ্যান প্রমাণ করুন।
দুটি পরবর্তী কাজ সহজেই ভুলে যাওয়া যায়। প্রথমত, ডিভাইসটি যা কিছু ধরে রেখেছিল তা বদলান, বিশেষত SSH কী, ক্লাউড কনসোলের প্রমাণপত্র এবং একটি ভাগ করা WireGuard প্রি-শেয়ারড কী। দ্বিতীয়ত, যাচাই করুন যে কনফিগারেশন ম্যানেজমেন্ট, স্ন্যাপশট বা গোল্ডেন ইমেজ পরবর্তী পুনর্নির্মাণে সরানো ক্লায়েন্টটিকে ফিরিয়ে আনতে পারবে না।
টেকসই সমাধান হলো প্রতি ডিভাইসে একটি পরিচয়। যখন প্রতিটি ল্যাপটপ নিজের পিয়ার কী বা সার্টিফিকেট বহন করে, তখন হারানোয় পুরো ফ্লিট পুনর্নির্মাণের বদলে একটি বাতিল আদেশ ও একটি পুনঃইস্যুই যথেষ্ট।