Ubuntu 24.04 কি স্বয়ংক্রিয় আপডেট দেয়?
Ubuntu 24.04 Server-এ unattended-upgrades ডিফল্টভাবে থাকে কিন্তু 20auto-upgrades সেটিংসটি অন করতে হয়। Automatic-Reboot ডিফল্টভাবে false থাকে।
কেন স্বয়ংক্রিয় সিকিউরিটি আপডেট সেটআপ করা জরুরি
একটি প্যাচবিহীন সার্ভার ইন্টারনেটে সবচেয়ে সহজ লক্ষ্য। ছোট সার্ভারগুলোর বেশিরভাগ ব্রিচ খুব জটিল কিছু নয়; এগুলো পুরনো প্যাকেজের পরিচিত বাগ যা মালিক কখনো আপডেট করেননি। Ubuntu একটি টুল সরবরাহ করে যা এই গ্যাপটি নিজে থেকেই পূরণ করে: unattended-upgrades কোনো লগইন ছাড়াই একটি নির্দিষ্ট সময়সূচী অনুযায়ী স্বয়ংক্রিয়ভাবে সিকিউরিটি আপডেট ইনস্টল করে। একটি VPS-এর জন্য এটি সবচেয়ে সাশ্রয়ী সিকিউরিটি সমাধান, এবং Ubuntu-তে এটি সেটআপ করতে মাত্র কয়েক মিনিট সময় লাগে।
এই টুলটি উদ্দেশ্যমূলকভাবে রক্ষণশীলভাবে তৈরি করা হয়েছে। ডিফল্টভাবে এটি শুধুমাত্র সিকিউরিটি আপডেট প্রয়োগ করে, প্রতিটি প্যাকেজ আপগ্রেড নয়; কারণ একটি সিকিউরিটি প্যাচ কম ঝুঁকিপূর্ণ এবং রিভিউ ছাড়াই গ্রহণ করা সম্ভব, কিন্তু একটি ফিচার আপগ্রেড আপনার ব্যবহৃত সিস্টেমের আচরণ পরিবর্তন করতে পারে। বেশিরভাগ সার্ভারের জন্য এই ডিফল্ট সেটিংসটি সঠিক, এবং এই গাইডটি সেই সেটিংসটি বজায় রেখে আপনাকে কেবল প্রয়োজনীয় পরিবর্তনগুলো দেখাবে।
ধাপ ১: এটি ইনস্টল এবং এনাবল করুন
Ubuntu 24.04-এ প্যাকেজটি প্রায়শই উপস্থিত থাকে কিন্তু সবসময় এনাবল করা থাকে না। এটি ইনস্টল করুন এবং চালু করুন:
sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesdpkg-reconfigure প্রম্পটটি একটি মাত্র হ্যাঁ বা না প্রশ্ন জিজ্ঞাসা করে, অর্থাৎ স্ট্যাবল আপডেটগুলো স্বয়ংক্রিয়ভাবে ডাউনলোড এবং ইনস্টল করা হবে কিনা। 'yes' উত্তর দিন। এটি সেই ফাইলটি লিখে দেয় যা ডেইলি জবটি চালু করে:
cat /etc/apt/apt.conf.d/20auto-upgradesAPT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";প্রথম লাইনটি প্রতিদিন প্যাকেজ লিস্ট রিফ্রেশ করে; দ্বিতীয় লাইনটি প্রতিদিন unattended upgrade চালায়। উভয়টি 1 হিসেবে সেট করা থাকলে মেশিনটি প্রতিদিন একটি systemd timer-এর মাধ্যমে সিকিউরিটি আপডেট চেক করবে এবং প্রয়োগ করবে, যেখানে আপনার আর কোনো পদক্ষেপের প্রয়োজন হবে না।
ধাপ ২: কী কী স্বয়ংক্রিয়ভাবে প্রয়োগ করা হবে তা নির্ধারণ করুন
পলিসিটি /etc/apt/apt.conf.d/50unattended-upgrades ফাইলে থাকে। এটি ওপেন করুন এবং উপরের দিকের Allowed-Origins ব্লকটি দেখুন:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
};-security লাইনগুলো সবচেয়ে গুরুত্বপূর্ণ এবং এগুলো ডিফল্টভাবে এনাবল করা থাকে। এটি একটি রক্ষণশীল পলিসি: সিকিউরিটি আপডেট গ্রহণ করা হচ্ছে, কিন্তু সাধারণ ফিচার আপডেটগুলো আপনার হাতে রেখে দেওয়া হয়েছে যাতে আপনি যখন চান তখন ম্যানুয়ালি প্রয়োগ করতে পারেন। আপনি সব আপডেট স্বয়ংক্রিয়ভাবে প্রয়োগ করতে "${distro_id}:${distro_codename}-updates" origin লাইনটি যোগ করতে পারেন, কিন্তু যে সার্ভারে আপনি গুরুত্বপূর্ণ কিছু হোস্ট করেন, তার জন্য শুধুমাত্র সিকিউরিটি প্যাচ স্বয়ংক্রিয়ভাবে নেওয়া অনেক বেশি নিরাপদ। যদি আপনার কাছে কোনো নির্দিষ্ট কারণ না থাকে, তবে এটি ডিফল্ট অবস্থাতেই রাখুন।
ধাপ ৩: রিবুট হ্যান্ডেল করা
কার্নেল বা কোর লাইব্রেরির মতো কিছু আপডেট রিবুট করার পরেই সম্পূর্ণ কার্যকর হয়। আপনি নির্দেশ না দিলে unattended-upgrades আপনার সার্ভার রিবুট করবে না, যার অর্থ হলো একটি প্যাচ করা কার্নেল রিবুট না করা পর্যন্ত অব্যবহৃত অবস্থায় থাকতে পারে। আপনি এটি কীভাবে হ্যান্ডেল করতে চান তা ঠিক করুন এবং 50unattended-upgrades-এ এটি স্পষ্টভাবে সেট করুন:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";এটি ভোর চারটায় সার্ভার রিবুট করবে যদি এবং শুধুমাত্র যদি কোনো আপডেটের জন্য রিবুট প্রয়োজন হয়। কোনো ফেইলওভার ক্লাস্টার ছাড়া একটি সিঙ্গেল VPS-এর জন্য, কার্নেল ফিক্সের সাথে আপ-টু-ডেট থাকার জন্য ভোরের এই সংক্ষিপ্ত রিবুটটি সাধারণত সঠিক সিদ্ধান্ত। যদি আপনার সার্ভারে এমন কিছু চলে যা অপ্রত্যাশিতভাবে রিবুট হওয়া উচিত নয়, তবে রিবুট অপশনটি বন্ধ রাখুন এবং /var/run/reboot-required চেক করার পর নিজে রিবুট করার অভ্যাস করুন।
ধাপ ৪: এটি কাজ করছে কিনা তা যাচাই করুন
জবটি চলছে কিনা তা জানতে একদিন অপেক্ষা করবেন না। একটি dry run চালান যা কোনো কিছু পরিবর্তন না করেই দেখাবে ঠিক কী প্রয়োগ করা হবে:
sudo unattended-upgrade --dry-run --debugআউটপুটটি সেই প্যাকেজগুলোর তালিকা দেখাবে যেগুলোকে এটি বিবেচনা করছে এবং সেগুলো কোন origin থেকে আসছে, যাতে আপনি পলিসিটি কার্যকরভাবে দেখতে পারেন। অন্তত একবার আসল জবটি চলার পর, তার রেকর্ড এখানে পাওয়া যাবে:
cat /var/log/unattended-upgrades/unattended-upgrades.logএই লগটি হলো "আমার সার্ভার কি আসলেই নিজেকে প্যাচ করছে" এর উত্তর। যদি এটি দেখায় যে একটি নির্দিষ্ট সময়সূচী অনুযায়ী সিকিউরিটি প্যাকেজ ইনস্টল করা হচ্ছে, তবে জবটি কাজ করছে।
এটি কোথায় অবস্থান করে
স্বয়ংক্রিয় আপডেট একটি হার্ডেনড সার্ভারের একটি স্তর মাত্র, এটি সম্পূর্ণ সমাধান নয়। এগুলো পরিচিত বাগগুলোকে থেকে যেতে বাধা দেয়, কিন্তু কে লগইন করতে পারবে বা কী এক্সপোজড থাকবে সে সম্পর্কে এগুলো কিছু করতে পারে না। এগুলোকে SSH hardening (শুধুমাত্র কী-ভিত্তিক), একটি ডিফল্ট-ডিনাই UFW firewall, এবং unprivileged service users এর সাথে যুক্ত করুন যাতে একটি কম্প্রোমাইজড অ্যাপ পুরো সিস্টেম দখল করতে না পারে। প্যাচিং আপনার জানা গর্তগুলো বন্ধ করে; অন্যান্য স্তরগুলো অজানা গর্ত থেকে ক্ষতি সীমিত করে।
FAQ
unattended-upgrades কি প্রতিটি আপডেট নাকি শুধুমাত্র সিকিউরিটি আপডেট প্রয়োগ করে?
ডিফল্টভাবে, শুধুমাত্র সিকিউরিটি আপডেট। /etc/apt/apt.conf.d/50unattended-upgrades ফাইলে থাকা Allowed-Origins ব্লকটি -security origin গুলোকে এনাবল করে এবং সাধারণ ফিচার আপডেটগুলো আপনার ম্যানুয়াল অ্যাপ্লিকেশনের জন্য রেখে দেয়। এটি উদ্দেশ্যমূলক: সিকিউরিটি প্যাচ কম ঝুঁকিপূর্ণ এবং স্বয়ংক্রিয়ভাবে গ্রহণ করা সম্ভব, কিন্তু ফিচার আপগ্রেড আচরণ পরিবর্তন করতে পারে, তাই বেশিরভাগ সার্ভারের রক্ষণশীল ডিফল্ট রাখা উচিত।
স্বয়ংক্রিয় আপডেট কি আমার সার্ভার রিবুট করবে?
শুধুমাত্র যদি আপনি নির্দেশ দেন। কনফিগারেশনে Unattended-Upgrade::Automatic-Reboot "true" এবং একটি Automatic-Reboot-Time সেট করুন, তাহলে আপডেট প্রয়োজন হলে (যেমন কার্নেল প্যাচ করার পর) সার্ভারটি সেই সময়ে রিবুট হবে। রিবুট অপশন বন্ধ থাকলে, প্যাচ করা কার্নেল আপনার রিবুট করার আগ পর্যন্ত অপেক্ষা করবে; রিবুট পেন্ডিং আছে কিনা তা জানতে /var/run/reboot-required চেক করুন।
স্বয়ংক্রিয় আপডেট আসলে চলছে কিনা তা আমি কীভাবে চেক করব?
কোনো কিছু পরিবর্তন না করেই এখনই কী প্রয়োগ করা হবে তা দেখতে sudo unattended-upgrade --dry-run --debug চালান এবং অতীতের রানের রেকর্ড পড়তে /var/log/unattended-upgrades/unattended-upgrades.log পড়ুন; প্রতিটি স্বয়ংক্রিয় ইনস্টলেশন /var/log/apt/history.log-এও জমা হয়। যদি লগ দেখায় যে প্রতিদিনের সময়সূচী অনুযায়ী সিকিউরিটি প্যাকেজ ইনস্টল করা হচ্ছে, তবে টাইমারটি কাজ করছে। যদি dry run No packages found that can be upgraded unattended প্রিন্ট করে, তবে হয় সবকিছু ইতিমধ্যে আপ-টু-ডেট অথবা আপনার অনুমোদিত origin গুলো সিকিউরিটি রিপোজিটরির সাথে মিলার জন্য খুব সংকীর্ণ।
আমার সার্ভার সুরক্ষিত রাখতে unattended-upgrades কি যথেষ্ট?
না, তবে এটি একটি প্রয়োজনীয় স্তর। এটি পরিচিত ভালনারেবিলিটিগুলোকে প্যাচ না করা অবস্থায় থাকতে বাধা দেয়, যা সবচেয়ে সাধারণ ধরনের ব্রিচ রোধ করে, কিন্তু এটি অ্যাক্সেস বা এক্সপোজার নিয়ন্ত্রণ করে না। একটি সার্ভারকে সত্যিকার অর্থে ভাঙা কঠিন করতে এটিকে SSH hardening, একটি ডিফল্ট-ডিনাই ফায়ারওয়াল এবং least-privilege service users-এর সাথে কম্বাইন করুন।