Ubuntu 24.04-এ unattended-upgrades কি ডিফল্টভাবে চালু?
Ubuntu Server 24.04-এ unattended-upgrades প্যাকেজটি থাকলেও 20auto-upgrades ফাইলটি এটি সক্রিয় করে। Automatic-Reboot ডিফল্টভাবে বন্ধ থাকে। ড্রাই রান চালিয়ে কী ইনস্টল হবে তা দেখুন।
স্বয়ংক্রিয় নিরাপত্তা আপডেট সেটআপ করা কেন জরুরি
যে সার্ভারে প্যাচ করা হয় না, সেটি ইন্টারনেটের সবচেয়ে সহজ লক্ষ্যবস্তু। ছোট সার্ভারগুলোর বেশিরভাগ নিরাপত্তা লঙ্ঘনের ঘটনা কোনো জটিল কৌশলে হয় না; বরং এগুলো পুরনো প্যাকেজের পরিচিত ত্রুটির কারণে ঘটে, যা সার্ভারের মালিক কখনোই আপডেট করেননি। উবুন্টু এমন একটি টুল সরবরাহ করে যা এই ঝুঁকি নিজে থেকেই দূর করে: unattended-upgrades কোনো লগইন ছাড়াই নির্ধারিত সময়ে স্বয়ংক্রিয়ভাবে নিরাপত্তা আপডেট ইনস্টল করে। এটি একটি VPS-এর জন্য সবচেয়ে সাশ্রয়ী নিরাপত্তা ব্যবস্থা এবং উবুন্টুতে এটি সেটআপ করতে মাত্র কয়েক মিনিট সময় লাগে।
এই টুলটি ইচ্ছাকৃতভাবেই রক্ষণশীল। ডিফল্টভাবে এটি শুধুমাত্র নিরাপত্তা আপডেটগুলো প্রয়োগ করে, সব প্যাকেজ আপগ্রেড করে না। কারণ নিরাপত্তা প্যাচগুলো কম ঝুঁকিপূর্ণ এবং পর্যালোচনা ছাড়াই গ্রহণ করা যায়, কিন্তু ফিচার আপগ্রেড আপনার নির্ভর করা কোনো আচরণ পরিবর্তন করে ফেলতে পারে। বেশিরভাগ সার্ভারের জন্য এই ডিফল্ট সেটিংসটিই সঠিক। এই নির্দেশিকাটি সেই ডিফল্ট সেটিংস বজায় রেখে কেবল প্রয়োজনীয় কিছু সেটিংস পরিবর্তনের পরামর্শ দেয়।
ধাপ 1: ইনস্টল এবং সক্রিয় করা
উবুন্টু 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 টাইমারের মাধ্যমে নিরাপত্তা আপডেট পরীক্ষা করে এবং প্রয়োগ করে, যেখানে আপনার আর কোনো হস্তক্ষেপের প্রয়োজন নেই।
ধাপ 2: স্বয়ংক্রিয়ভাবে কী প্রয়োগ করা হবে তা নির্ধারণ করা
এর নীতিমালা /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" অরিজিন লাইনটি যোগ করে সব আপডেট স্বয়ংক্রিয়ভাবে প্রয়োগ করতে পারেন, তবে গুরুত্বপূর্ণ কোনো সার্ভারের জন্য শুধুমাত্র নিরাপত্তা প্যাচগুলো স্বয়ংক্রিয়ভাবে নেওয়া বেশি নিরাপদ। কোনো বিশেষ কারণ না থাকলে এটি যেভাবে আছে সেভাবেই রাখুন।
ধাপ 3: রিবুট পরিচালনা করা
কিছু আপডেট, যেমন কার্নেল বা কোর লাইব্রেরি, রিবুট করার পরেই পুরোপুরি কার্যকর হয়। unattended-upgrades আপনার সার্ভারকে রিবুট করবে না যদি না আপনি তাকে নির্দেশ দেন। এর মানে হলো, একটি প্যাচ করা কার্নেল আপনি রিবুট না করা পর্যন্ত অব্যবহৃত অবস্থায় পড়ে থাকতে পারে। আপনি এটি কীভাবে পরিচালনা করতে চান তা ঠিক করুন এবং 50unattended-upgrades ফাইলে স্পষ্টভাবে সেট করুন:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";এটি ভোর চারটার সময় সার্ভার রিবুট করবে, তবে কেবল তখনই যখন কোনো আপডেটের জন্য রিবুট প্রয়োজন হবে। একক VPS-এর ক্ষেত্রে, যেখানে কোনো ক্লাস্টার নেই, সেখানে ভোরবেলায় সংক্ষিপ্ত রিবুট কার্নেল ফিক্স আপডেট রাখার জন্য একটি সঠিক সিদ্ধান্ত। যদি আপনার সার্ভারে এমন কিছু চলে যা কখনোই অপ্রত্যাশিতভাবে বন্ধ হওয়া উচিত নয়, তবে রিবুট অপশনটি বন্ধ রাখুন এবং /var/run/reboot-required চেক করার পর নিজে রিবুট করার অভ্যাস করুন।
ধাপ 4: এটি কাজ করছে কিনা যাচাই করা
কাজটি চলছে কিনা তা দেখার জন্য একদিন অপেক্ষা করবেন না। একটি ড্রাই রান (dry run) চালান যা কোনো কিছু পরিবর্তন না করেই দেখাবে ঠিক কী কী প্রয়োগ করা হবে:
sudo unattended-upgrade --dry-run --debugআউটপুটটি সেই প্যাকেজগুলোর তালিকা দেখাবে যা এটি বিবেচনা করছে এবং সেগুলো কোন উৎস থেকে আসছে, যাতে আপনি নীতিমালাটি কার্যকর হতে দেখতে পারেন। আসল কাজটি অন্তত একবার চলার পর, এর রেকর্ড এখানে পাওয়া যাবে:
cat /var/log/unattended-upgrades/unattended-upgrades.logএই লগটিই উত্তর দেয় যে "আমার সার্ভার কি সত্যিই নিজেকে প্যাচ করছে?"। যদি এটি প্রতিদিনের সময়সূচী অনুযায়ী নিরাপত্তা প্যাকেজ ইনস্টল হতে দেখায়, তবে কাজটি সঠিকভাবে চলছে।
এটি কোথায় মানানসই
স্বয়ংক্রিয় আপডেট একটি সুরক্ষিত সার্ভারের একটি স্তর মাত্র, পুরো সমাধান নয়। এগুলো পরিচিত ত্রুটিগুলোকে দীর্ঘস্থায়ী হতে বাধা দেয়, কিন্তু কারা লগইন করতে পারবে বা কী উন্মুক্ত থাকবে সে বিষয়ে এগুলো কোনো ভূমিকা রাখে না। এর সাথে SSH hardening ব্যবহার করুন যাতে মূল প্রবেশপথটি ব্রুট-ফোর্স করা না যায়, একটি ডিফল্ট-ডিনাই UFW firewall ব্যবহার করুন যাতে কেবল আপনার অনুমোদিত জিনিসগুলোই অ্যাক্সেসযোগ্য থাকে, এবং unprivileged service users ব্যবহার করুন যাতে কোনো আপস করা অ্যাপ পুরো সার্ভারের নিয়ন্ত্রণ নিতে না পারে। আপনার হোস্ট করা অ্যাপগুলোর নিজস্ব গোপনীয়তা থাকে, তাই যদি এই বক্সে কোনো সেলফ-হোস্টেড পাসওয়ার্ড ভল্ট চলে, তবে একটি Vaultwarden hardening pass অ্যাডমিন টোকেন এবং ব্যাকআপ ফাইলকে সুরক্ষিত রাখবে, যা কেবল apt প্যাচিং দিয়ে সম্ভব নয়। প্যাচিং আপনার জানা ছিদ্রগুলো বন্ধ করে; অন্যান্য স্তরগুলো আপনার অজানা ঝুঁকি থেকে ক্ষতি সীমিত করে।
FAQ
unattended-upgrades কি সব আপডেট প্রয়োগ করে নাকি শুধু নিরাপত্তা আপডেট?
ডিফল্টভাবে, শুধুমাত্র নিরাপত্তা আপডেট। /etc/apt/apt.conf.d/50unattended-upgrades ফাইলের Allowed-Origins ব্লকটি -security অরিজিনগুলোকে সক্রিয় করে এবং সাধারণ ফিচার আপডেটগুলো আপনার হাতে রাখে। এটি ইচ্ছাকৃত: নিরাপত্তা প্যাচগুলো কম ঝুঁকিপূর্ণ এবং স্বয়ংক্রিয়ভাবে নেওয়া উচিত, কিন্তু ফিচার আপগ্রেড আচরণ পরিবর্তন করতে পারে, তাই বেশিরভাগ সার্ভারের জন্য রক্ষণশীল ডিফল্ট সেটিংস বজায় রাখাই ভালো।
স্বয়ংক্রিয় আপডেট কি আমার সার্ভার রিবুট করবে?
শুধুমাত্র যদি আপনি নির্দেশ দেন। কনফিগারেশনে 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 ফাইলে রেকর্ড হয়। যদি লগ প্রতিদিনের সময়সূচী অনুযায়ী নিরাপত্তা প্যাকেজ ইনস্টল হতে দেখায়, তবে টাইমার কাজ করছে। যদি ড্রাই রান No packages found that can be upgraded unattended প্রিন্ট করে, তবে হয় সবকিছু আপডেট করা আছে অথবা আপনার অনুমোদিত অরিজিনগুলো নিরাপত্তা রিপোজিটরির সাথে মিলছে না।
আমার সার্ভার সুরক্ষিত রাখার জন্য কি unattended-upgrades যথেষ্ট?
না, তবে এটি একটি প্রয়োজনীয় স্তর। এটি পরিচিত দুর্বলতাগুলোকে প্যাচবিহীন অবস্থায় পড়ে থাকতে বাধা দেয়, যা সবচেয়ে সাধারণ ধরনের লঙ্ঘন রোধ করে, কিন্তু এটি অ্যাক্সেস বা এক্সপোজার নিয়ন্ত্রণ করে না। এটিকে SSH হার্ডেনিং, ডিফল্ট-ডিনাই ফায়ারওয়াল এবং ন্যূনতম সুবিধাপ্রাপ্ত সার্ভিস ইউজারদের সাথে যুক্ত করুন, যাতে সার্ভারটি ভাঙা সত্যিই কঠিন হয়ে পড়ে।