আপনি যদি আপনার নিজের সার্ভার(গুলি) পরিচালনা করেন, শীঘ্রই বা পরে আপনি এই সমস্যার মুখোমুখি হন:আপনাকে অপারেটিং সিস্টেমটি পুনরায় বুট করতে হবে, তবে মেশিনটি একটি গুরুত্বপূর্ণ পরিষেবা প্রদান করে যা আপনি বাধা দিতে পারবেন না৷
কিন্তু কেন প্রথম স্থানে রিবুট? apt-get upgrade
পরে সবকিছু ঠিকঠাক কাজ করছে বলে মনে হচ্ছে আদেশ যাইহোক, জিনিসগুলি সবসময় যেমন মনে হয় তেমন হয় না। যদিও সিস্টেমটি প্রতিটি আপগ্রেডের পরে আনন্দের সাথে চলতে থাকে, উইন্ডোজের মতো রিবুট করার জন্য জোর করে না, তবুও এটির প্রয়োজন হতে পারে।
উদাহরণস্বরূপ, যখন সিস্টেমের মূলে (কার্ণেল) একটি দুর্বলতা আবিষ্কৃত হয়, তখন এটি প্যাচ করা হয় এবং একটি নতুন প্যাকেজ হিসাবে আপনার সার্ভারে পুশ করা হয়। আপনি প্যাচ করা কার্নেল ইনস্টল করার পরে, কিছু ফাইল ডিস্কে লেখা হয়, তবে এটি এখনও পুরানো কার্নেল যা শোটি চালাচ্ছে, যেহেতু এটি মেমরিতে (RAM) লোড করা হয়েছে।
এর মানে হল আপনার সার্ভারটি পূর্বে আবিষ্কৃত নিরাপত্তা গর্তের জন্য এখনও দুর্বল। অন্যান্য প্রক্রিয়া, ডেমন এবং পরিষেবাগুলি অপারেটিং সিস্টেম পুনরায় চালু না করেই পুনরায় লোড করা যেতে পারে। যাইহোক, কার্নেলটি সিস্টেমের কেন্দ্রস্থলে বসে এবং শুধুমাত্র পরবর্তী বুটে পুনরায় লোড করা যায়।
উবুন্টু লাইভপ্যাচ আপনাকে রিস্টার্ট না করে কার্নেল সিকিউরিটি হোল বন্ধ করার অনুমতি দিয়ে এর সমাধান করে। এইভাবে, আপনি নিরাপত্তার সাথে আপস না করে সপ্তাহ বা মাসের জন্য রিবুট এড়াতে বা বিলম্বিত করতে পারেন।
লাইভ প্যাচিংয়ের পিছনে মূল ধারণাটি সহজ:যখন একটি ফাংশন দুর্বল হয়, তখন এটি পুনরায় লিখুন, ত্রুটি দূর করুন এবং মেমরিতে কোথাও নতুন ফাংশন লোড করুন। যখন ফাংশনটি কল করা হয়, কার্নেলে কোড চালানোর পরিবর্তে, পুনরায় লিখিত কোড ব্যবহার করার জন্য কলটিকে পুনঃনির্দেশ করুন৷
কিন্তু, বেশিরভাগ জিনিসের মতো যা সহজভাবে কাজ করে বলে মনে হয়, বাস্তবায়ন এবং প্রযুক্তিগত বিবরণ এত সহজ নয়।
উবুন্টুতে কিভাবে লাইভপ্যাচ সেট আপ করবেন
এই পৃষ্ঠায় যান এবং আপনার উবুন্টু ওয়ান অ্যাকাউন্ট তৈরি করুন। (অথবা আপনার যদি এটি ইতিমধ্যেই থাকে তবে কেবল লগ ইন করুন।) আপনার ইমেল পরীক্ষা করুন এবং পরে অ্যাকাউন্ট নিশ্চিতকরণ লিঙ্কে ক্লিক করুন। এর পরে, ক্যানোনিকাল লাইভপ্যাচ পরিষেবা পৃষ্ঠাটি দেখুন। নির্বাচন করুন যে আপনি একজন "উবুন্টু ব্যবহারকারী" এবং আপনার টোকেন তৈরি করতে বোতামে ক্লিক করুন। পরবর্তী পৃষ্ঠাটি আপনাকে সঠিক কমান্ডগুলি দেখাবে যা আপনাকে আপনার সার্ভারে প্রবেশ করতে হবে। প্রথম কমান্ডের পরে, প্রবেশ করুন
sudo snap install canonical-livepatch
স্ন্যাপ প্যাকেজ সম্পূর্ণরূপে ইনস্টল না হওয়া পর্যন্ত কয়েক সেকেন্ড অপেক্ষা করুন। এটি হয়ে গেলে, আপনি নিম্নলিখিত ছবিতে যা দেখতে পাচ্ছেন তার মতোই একটি ফলাফল পাবেন৷
৷অবশেষে, ক্যানোনিকালের পৃষ্ঠা থেকে শেষ কমান্ডের সাথে,
sudo canonical-livepatch enable #PASTE_YOUR_TOKEN_HERE
পরিষেবাটি সক্রিয় হয়ে যায় এবং স্বয়ংক্রিয়ভাবে আপনার কার্নেলে নিরাপত্তা প্যাচ প্রয়োগ করবে, যখনই প্রয়োজন, আপনার পক্ষ থেকে কোনো ইনপুট প্রয়োজন নেই৷
প্রয়োজনে স্ন্যাপ ডেমন ইনস্টল করুন
কিছু বিরল অনুষ্ঠানে, নিম্নলিখিত ত্রুটি বার্তা সহ পূর্ববর্তী বিভাগের প্রথম কমান্ড ব্যর্থ হতে পারে:-bash: /usr/bin/snap: No such file or directory
. এই ক্ষেত্রে এর অর্থ হল আপনার সার্ভার প্রদানকারীর একটি উবুন্টু অপারেটিং সিস্টেমের চিত্র রয়েছে যা ডিফল্টরূপে স্ন্যাপ ডেমন পরিষেবা অন্তর্ভুক্ত করে না। এটি দিয়ে ইনস্টল করুন:
sudo apt update && sudo apt install snapd
এখন পূর্ববর্তী বিভাগ থেকে দুটি কমান্ড আবার চালান।
আপনার সার্ভার আপডেট রাখা
Livepatch আপনার কার্নেলে সমস্ত প্রয়োজনীয় নিরাপত্তা আপডেট প্রয়োগ করবে। যাইহোক, আপনার এখনও আপনার সিস্টেমের বাকি অংশকে একটি কমান্ডের সাথে নিয়মিত আপগ্রেড করা উচিত যেমন:
sudo apt update && sudo apt upgrade
আপনি এটি সাপ্তাহিক, বা এমনকি আরো প্রায়ই, যদি আপনি করতে পারেন. গুরুত্বপূর্ণ সিস্টেম প্যাকেজগুলি আপনাকে প্রম্পট করতে পারে যে লেটেস্ট সিকিউরিটি ফিক্সগুলি প্রয়োগ করতে তাদের পুনরায় চালু করতে হবে৷
এগুলি সাধারণত সুন্দর পুনঃসূচনা হয়, যার অর্থ তারা প্রক্রিয়াটিতে কোনও পরিষেবা ব্যাহত করে না। উদাহরণস্বরূপ, এই ক্ষেত্রে, সক্রিয় SSH সেশনে বাধা না দিয়ে SSH ডেমন পুনরায় চালু করা হয়েছিল৷
অন্যান্য পরিস্থিতিতে, নতুন, প্যাচ করা কোডটি পুনরায় লোড করা হয়েছে এবং সুরক্ষা সংশোধনগুলি প্রয়োগ করা হয়েছে তা নিশ্চিত করতে আপনি নিজেই পরিষেবাগুলি পুনরায় চালু করতে পারেন৷ উদাহরণস্বরূপ, যদি আপনি লক্ষ্য করেন যে nginx প্যাকেজ আপগ্রেড করা হয়েছে, আপনি চালাতে পারেন
systemctl restart nginx.service
মেমরিতে nginx ডেমন পুনরায় লোড করতে। অন্যথায়, একটি প্যাকেজ আপগ্রেড করা হলেও, এটি এখনও পুরানো, দুর্বল কোডের সাথে চলতে পারে, যা আপনার সার্ভারকে পরিচিত আক্রমণের ঝুঁকিতে ফেলতে পারে। কিছু প্যাকেজ আপগ্রেড আপনার জন্য এটি করে, কিন্তু অন্যরা করে না। এই কারণেই "অ্যাপ্ট আপগ্রেড" কী করে তার দিকে মনোযোগ দেওয়া এবং প্রয়োজনে কিছু পরিষেবা পুনরায় চালু করা একটি ভাল অভ্যাস। এটি স্বয়ংক্রিয়ভাবে করা হয়েছে কিনা তা দেখতে আপনি লগগুলিও দেখতে পারেন৷
উপসংহার
আপনি দেখতে পাচ্ছেন, ক্যানোনিকাল এটিকে একটি সার্ভারে প্রয়োগ করা বেশ সহজ করেছে। যতদূর কার্নেল উদ্বিগ্ন, আপনার পক্ষ থেকে কোন রক্ষণাবেক্ষণের প্রয়োজন নেই। আপনি যা করতে পারেন তা হল চালান
canonical-livepatch status
সময়ে সময়ে জিনিসগুলি পরীক্ষা করার জন্য।