−25%

روی پرداخت سالانه Windows، تا ۳۱ اکتبر. مشاهده پلن‌ها

EQVPS

چطور به‌روزرسانی‌های امنیتی خودکار را روی VPS فعال کنیم

unattended-upgrades را روی Ubuntu/Debian یا dnf-automatic را روی Rocky/AlmaLinux فعال کنید تا وصله‌های امنیتی خودشان نصب شوند، و درباره ری‌بوت خودکار تصمیم بگیرید.

بیشتر سرورهایی که نفوذ می‌شوند با یک ترفند زیرکانه نمی‌افتند. نرم‌افزاری اجرا می‌کردند که یک ایراد شناخته‌شده و از مدت‌ها پیش اصلاح‌شده داشت و کسی اصلاحیه را نصب نکرده بود. به‌روزرسانی‌های امنیتی خودکار این شکاف را می‌بندند، بدون اینکه لازم باشد یادتان بماند وارد شوید. این یکی از پربازده‌ترین پنج دقیقه‌هایی است که می‌توانید به یک سرور تازه بدهید.

Ubuntu و Debian: unattended-upgrades

ایمیج‌های Ubuntu معمولاً آن را از قبل دارند؛ Debian شاید نداشته باشد. نصب و فعالش کنید:

apt update
apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades    # answer "Yes"

این فایل /etc/apt/apt.conf.d/20auto-upgrades را می‌سازد:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

دو مقدار 1 یعنی: هر روز فهرست بسته‌ها را به‌روز کن و به‌روزرسانی‌های امنیتی را نصب کن.

درباره ری‌بوت تصمیم بگیرید

وصله‌های کرنل برای اعمال شدن به ری‌بوت نیاز دارند. برای ری‌بوت خودکار در ساعتی آرام، /etc/apt/apt.conf.d/50unattended-upgrades را ویرایش و این را تنظیم کنید:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

سرور فقط وقتی ری‌بوت می‌شود که یک به‌روزرسانی واقعاً به آن نیاز داشته باشد (وقتی /var/run/reboot-required وجود دارد).

آزمایشش کنید

unattended-upgrade --dry-run --debug

لاگ‌ها در /var/log/unattended-upgrades/ هستند.

Rocky Linux و AlmaLinux: dnf-automatic

dnf install -y dnf-automatic

/etc/dnf/automatic.conf را ویرایش کنید:

[commands]
upgrade_type = security
apply_updates = yes

تایمر را فعال کنید:

systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer

برای اینکه بفهمید یک به‌روزرسانی ری‌بوت لازم دارد یا نه، dnf-utils را نصب و needs-restarting -r را اجرا کنید.

کدام سیاست ری‌بوت برای شما مناسب است؟

چه چیزی را پوشش نمی‌دهد

فقط بسته‌های سیستم. ایمیج‌های Docker، وابستگی‌های زبان (pip، npm) و فایل‌های اجرایی که دستی نصب شده‌اند خودشان به‌روز نمی‌شوند: برایشان زمان‌بندی جداگانه بگذارید. و به‌روزرسانی‌های داخل یک نسخه خودکارند؛ رفتن به نسخه جدید (Ubuntu 22.04 → 24.04) همچنان کاری عمدی و دستی است.

اگر روزی یک به‌روزرسانی بد بوت را خراب کرد، کنسول وب در پنل EQVPS بدون SSH شما را وارد می‌کند و Managed Backups یک نقطه بازیابی از پیش از تغییر به شما می‌دهد.

مرتبط

پرسش‌های متداول

آیا نصب خودکار به‌روزرسانی‌ها امن است؟

برای به‌روزرسانی‌های امنیتی بله؛ unattended-upgrades به طور پیش‌فرض همین‌ها را نصب می‌کند. این‌ها اصلاحات کوچک و هدفمند هستند. ریسک یک آسیب‌پذیری شناخته‌شده و وصله‌نشده خیلی بیشتر از ریسک خراب کردن چیزی توسط یک وصله امنیتی است.

آیا سرور باید خودش ری‌بوت شود؟

وصله‌های کرنل و کتابخانه‌های اصلی فقط پس از ری‌بوت اعمال می‌شوند. اگر سرویس شما یک دقیقه قطعی در ساعت ۴ صبح را تحمل می‌کند، ری‌بوت خودکار را روشن کنید. اگر نه، خاموش نگهش دارید و وقتی /var/run/reboot-required ظاهر شد دستی ری‌بوت کنید.

از کجا بفهمم به‌روزرسانی‌ها اعمال شده‌اند؟

روی Debian/Ubuntu فایل /var/log/unattended-upgrades/unattended-upgrades.log و روی Rocky/Alma دستور 'journalctl -u dnf-automatic' را بررسی کنید. اجرای آزمایشی 'unattended-upgrade --dry-run --debug' نشان می‌دهد همین الان چه چیزی نصب می‌شود.

آیا این توزیع من را به نسخه اصلی جدید ارتقا می‌دهد؟

نه. unattended-upgrades و dnf-automatic فقط به‌روزرسانی‌های داخل نسخه فعلی شما را نصب می‌کنند. رفتن مثلاً از Ubuntu 22.04 به 24.04 همیشه یک مرحله دستی است.

آیا کانتینرهای Docker را هم به‌روز می‌کند؟

نه، فقط بسته‌های سیستم. ایمیج‌های کانتینر با کشیدن نسخه‌های جدید و ساخت دوباره کانتینرها، طبق زمان‌بندی خودتان به‌روز می‌شوند.

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.