עדכוני שרת אוטומטיים: Unattended-Upgrades ו-dnf-automatic

עדכוני שרת ידניים הם מרוץ נגד פרצות אבטחה שכמעט תמיד מפסידים בו. אנו מגדירים תיקוני אבטחה אוטומטיים על Linux באמצעות Unattended-Upgrades ו-dnf-automatic, כך שעדכונים קריטיים מותקנים ללא מעורבותכם וללא השבתת שירות. הצוות שלנו מספק את הפרויקט במפתח מלא—מההגדרה ועד תמיכה שוטפת—ומבטיח הגנה אמינה על התשתית שלכם.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

השרת שלך לא עודכן חודשים, ואז ביום שישי אחד RCE ב-OpenSSL פורץ. אם תעדכן ידנית — אתה כבר מאוחר מדי. תיקון אבטחה אוטומטי באמצעות Unattended-Upgrades או dnf-automatic סוגר CVEs ללא התערבות אנושית. ההגדרה אורכת כמה שעות, ולאחר מכן אין צורך להתחבר ב-SSH כל שבוע. אנו מגדירים מערכות אלה על שרתי Linux כבר למעלה מ-5 שנים — יותר מ-500 שרתים המריצים Debian/Ubuntu ו-RHEL. במהלך תקופה זו, פיתחנו תקן: תיקון עדכוני אבטחה תוך 24 שעות מהשחרור, מזעור זמן השבתה, שליטה מלאה באמצעות Ansible.

מדוע תיקון אוטומטי הכרחי

70% מההתקפות המוצלחות על תשתית Linux מנצלות פגיעויות ידועות שעבורן כבר קיימים תיקונים. תהליך עדכון ידני: איתור CVE, כניסה לכל שרת, הרצת apt upgrade או dnf update, הפעלה מחדש של שירותים. עבור 50 שרתים, זה לוקח יום עבודה מלא של מנהל מערכת. אוטומציה מצמצמת זמן זה לאפס ומבטלת טעויות אנוש: שרתים שנשכחו, חבילות שהוחמצו, חוסר עקביות בגרסאות. אנו פורסים מערכות שבודקות ומתקינות עדכוני אבטחה אוטומטית ברגע שהם משוחררים. אנו מבטיחים שלאחר ההתקנה, זמינות השירות שלך נשארת 99.9%. בפרויקט אחרון עם צי מעורב של 200 שרתים, קיצצנו את זמן התיקון הידני מ-8 שעות בשבוע לאפס, והפחתנו את זמן התגובה ל-CVE קריטי מ-12 שעות לשעה אחת.

כיצד Unattended-Upgrades עובד על Debian/Ubuntu

החבילה מותקנת מראש ברוב גרסאות Ubuntu המודרניות. התצורה הראשית היא /etc/apt/apt.conf.d/50unattended-upgrades:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
    // "${distro_id}:${distro_codename}-updates";
    // опционально
};
Unattended-Upgrade::Mail "[email protected]";
Unattended-Upgrade::MailReport "on-change";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Automatic-Reboot-Time "03:00";

Automatic-Reboot "false" — בכוונה. אתחול אוטומטי של שרתי ייצור ללא חלון תחזוקה הוא רעיון רע. עדכוני Kernel ו-glibc דורשים אתחול, אבל עדיף לתזמן זאת ידנית או באמצעות כלי נפרד (למשל, kured עבור צמתי Kubernetes).

הפעלה באמצעות Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}-security"; // "${distro_id}:${distro_codename}-updates"; // опционально }; Unattended-Upgrade::Mail "[email protected]"; Unattended-Upgrade::MailReport "on-change"; Unattended-Upgrade::Remove-Unused-Dependencies "true"; Unattended-Upgrade::Automatic-Reboot "false"; Unattended-Upgrade::Automatic-Reboot-Time "03:00"; :

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";

בדיקת Dry-run: /etc/apt/apt.conf.d/20auto-upgrades.

כיצד להגדיר Unattended-Upgrades

  1. התקנה: APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7"; .
  2. עריכת תצורה unattended-upgrade --dry-run --debug לפי המדיניות שלך.
  3. יצירה או שינוי של apt install unattended-upgrades כדי להפעיל.
  4. הרצת /etc/apt/apt.conf.d/50unattended-upgrades כדי לוודא.
  5. בדיקת לוגים ב-/etc/apt/apt.conf.d/20auto-upgrades.

כיצד להגדיר dnf-automatic על RHEL/CentOS/AlmaLinux

dnf install dnf-automatic 

תצורה unattended-upgrade --dry-run --debug:

[commands]
upgrade_type = security
apply_updates = yes
random_sleep = 360

[emitters]
emit_via = email
email_to = [email protected]
email_from = [email protected]
systemctl enable --now dnf-automatic-install.timer 

הטיימר רץ מדי יום עם עיכוב אקראי של עד 360 שניות כדי לפזר את העומס על המראות.

אילו חבילות יש להחריג מעדכונים אוטומטיים?

ליבת Linux, דרייברים קנייניים (NVIDIA, AMD), וחבילות הדורשות הגירה ידנית (למשל, מסדי נתונים) אין לעדכן אוטומטית. השתמש ב-/var/log/unattended-upgrades/ על Debian/Ubuntu או dnf install dnf-automatic על RHEL. Unattended-Upgrades ו-dnf-automatic מתעלמים מחבילות נעולות. בפרקטיקה שלנו, חבילות מוחזקות מתועדות במלאי Ansible ומאומתות בכל פריסה.

כיצד לוודא הצלחת עדכון?

על Debian/Ubuntu, בדוק /etc/dnf/automatic.conf. על RHEL, [commands] upgrade_type = security apply_updates = yes random_sleep = 360 [emitters] emit_via = email email_to = [email protected] email_from = [email protected] . אם הלוגים מראים systemctl enable --now dnf-automatic-install.timer , זה אומר שינויי תלות או החזקה פעילה. בדיקת dry-run עם apt-mark hold <пакет> מראה מה יותקן מבלי ליישם.

השוואת כלים בין מערכות הפעלה

פרמטר Unattended-Upgrades yum-cron / dnf-automatic
Debian/Ubuntu ✅ ❌
RHEL/CentOS/AlmaLinux ❌ ✅
סוג עדכון אבטחה, עדכונים, מוצע אבטחה, הכל
התראות דוא"ל (בשינוי) דוא"ל, MQTT, סקריפט
עיכוב אתחול דרך תצורה דרך random_sleep
אינטגרציית APT/YUM מלאה מלאה

שלבי העבודה שלנו להגדרת תיקון

שלב משך תוצאה
ביקורת מצב נוכחי 1–2 שעות רשימת שרתים, מערכת הפעלה, חבילות מוחזקות
עיצוב מדיניות שעה אחת מקור עדכון, לוח זמנים, התראות
יישום (תפקיד Ansible) 2–4 שעות Playbook עם תצורות לכל מערכות ההפעלה
בדיקת Staging 1–2 שעות אימות עדכונים ללא השפעה על ייצור
פריסה לייצור שעה אחת פריסה הדרגתית עם ניטור
תיעוד שעה אחת חבילות מוחזקות, לוגים, נוהל גלגול לאחור

טעויות נפוצות בתיקון אוטומטי

  • שכחת להחריג את הליבה — השרת עלול לאתחל בזמן לא נוח.
  • לא הגדרת התראות — החמצת כשלי עדכון.
  • שימוש באותה תצורה לכל מערכות ההפעלה, תוך התעלמות מההבדלים בין APT ל-DNF.

מה כלול בהגדרת תיקון אוטומטי

  • ביקורת מצב נוכחי: מלאי מערכות הפעלה, גרסאות, חבילות מוחזקות.
  • פיתוח מדיניות עדכון: אבטחה בלבד, לוח זמנים, התראות.
  • כתיבת תפקיד Ansible לפריסת תצורות לכל השרתים.
  • בדיקה בסביבת staging מבודדת.
  • פריסה הדרגתית לייצור עם ניטור לוגים.
  • תיעוד: חבילות מוחזקות, נוהל גלגול לאחור, הוראות למנהלים.
  • תמיכה לאחר התקנה: סיוע במחזורי עדכון ראשונים.

כמה זמן אורכת ההתקנה?

לתשתית הומוגנית (רק Debian או רק RHEL) — החל משעתיים. למעורבת עם מערכות הפעלה ודרישות שונות — עד יום אחד. העלות מחושבת באופן אישי לפי מספר שרתים ומורכבות. אתה חוסך זמן מנהל וכסף שניתן להפנות לפיתוח. ההשקעה משתלמת במניעת תקלות.

הערך את התשתית שלך ביום אחד. צור קשר לייעוץ. הזמן הגדרת תיקון אוטומטי — קבל הגנה ללא השבתה. מעל 5 שנות ניסיון, 100+ פרויקטים, 500+ שרתים מנוהלים, מהנדסים מוסמכים.