SSH দিয়ে OpenVPN চালু করলে এটি দূরের মেশিনে, ওই মেশিনের এক্সিকিউশন প্রসঙ্গে চলে। এতে এটি দূরের নেটওয়ার্কের পরিবর্তন হয়, শুধু দূর থেকে বোতাম চাপা নয়। দুটি যুক্তিসঙ্গত মোড হলো তত্ত্বাবধানে থাকা ফোরগ্রাউন্ড সেশন এবং নিজের মালিকানার সার্ভিস; এদের প্রস্তুতি, ক্রেডেনশিয়াল ও ব্যর্থতার আচরণ আলাদা।

দুটি মোড, একটি প্রোফাইল

দুটি মোডই একই প্রোফাইল ব্যবহার করে এবং দুটিই হোস্টে রাউটিং বদলায়। পার্থক্য হলো চালু হওয়ার সময় কে উপস্থিত থাকে এবং সেশন শেষের পরে কী হয়।

ModeUseful forWhat it needs
Supervised foreground sessionA connection with a human watching and able to typeA usable terminal, a reviewed profile and recovery access
Managed serviceAn unattended lifecycle that starts without a loginOwned configuration, supported credential delivery and restart policy

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

ফোরগ্রাউন্ড সেশন আসলে কী

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

অ্যাপ্লিকেশনের অ্যাক্সেস আলাদাভাবে যাচাই করুন। দখলকৃত টার্মিনাল আর এক লাইন লগ কোনোটাই সাফল্য বা ব্যর্থতা প্রমাণ করে না।

তত্ত্বাবধানহীন সার্ভিসের যা দরকার

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

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

ক্রেডেনশিয়াল চারটি আলাদা ইনপুট

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

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

এক মালিক, আর ফিরে আসার পথ

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

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

লিখে রাখার মতো পার্থক্যটি সরল: তত্ত্বাবধানে চলা সেশন আপনার সেশনের ওপর নির্ভর করতে পারে, আর তত্ত্বাবধানহীন সার্ভিস পারে না।

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