SSD Nodes Learn
מדריכים Matt Connorמאת Matt Connor · עודכן 2026-07-24

האם Ubuntu 24.04 מעדכן אוטומטית?

ב-Ubuntu 24.04 חבילת unattended-upgrades מותקנת אך דורשת הגדרה. נבדוק את 20auto-upgrades, את מצב ה-Automatic-Reboot ואת הרצת dry run לבדיקה.

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

שרת שאינו מעודכן הוא היעד הקל ביותר באינטרנט. רוב הפריצות בשרתים קטנים אינן מתוחכמות; הן נובעות מבאג ידוע בחבילה ישנה שהבעלים מעולם לא עדכן. Ubuntu מספקת כלי שסוגר את הפער הזה באופן עצמאי: unattended-upgrades מתקינה עדכוני אבטחה באופן אוטומטי, על פי לוח זמנים, ללא צורך בכניסה שלכם למערכת. זהו היתרון האבטחתי הזול ביותר הזמין ב-VPS, וב-Ubuntu זה דורש דקות ספורות של הגדרה.

הכלי שמרני בכוונה. כברירת מחדל הוא מחיל רק עדכוני אבטחה, לא כל שדרוג חבילה, מכיוון שתיקון אבטחה הוא בעל סיכון נמוך וכדאי לבצעו ללא בדיקה, בעוד ששדרוג תכונות (features) עלול לשנות התנהגות שהסתמכת עליה. הגדרה זו היא הנכונה עבור רוב השרתים, והמדריך הזה שומר עליה תוך הצגת ההגדרות הבודדות ששווה לשנות.

Step 1: Install and enable it

ב-Ubuntu 24.04 החבילה לעיתים קרובות קיימת אך לא תמיד מופעלת. התקינו אותה והפעילו אותה:

sudo apt update
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

השאלה של ה-dpkg-reconfigure היא שאלה אחת של כן-או-לא, האם להוריד ולהתקין עדכונים יציבים באופן אוטומטי. ענו כן. פעולה זו כותבת את הקובץ שמפעיל את המשימה היומית:

cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

השורה הראשונה מרעננת את רשימת החבילות מדי יום; השנייה מריצה את ה-unattended upgrade מדי יום. הגדרה של שתיהן ל-1 פירושה שהמכונה בודקת ומחילה עדכוני אבטחה בכל יום, באמצעות systemd timer, ללא פעולה נוספת מכם.

Step 2: Decide what gets applied automatically

המדיניות נמצאת ב-/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" כדי להחיל את כל העדכונים אוטומטית, אך עבור שרת המארח משהו שחשוב לכם, קבלת תיקוני אבטחה בלבד באופן אוטומטי היא ברירת המחדל הבטוחה יותר. השאירו זאת כפי שסופק אלא אם יש לכם סיבה ספציפית אחרת.

Step 3: Handle reboots

חלק מהעדכונים, כמו kernel או ספריית ליבה, מקבלים תוקף מלא רק לאחר הפעלה מחדש (reboot). unattended-upgrades לא יבצע reboot לשרת אלא אם ת instructed לכך, מה שאומר ש-kernel מעודכן יכול להישאר ללא שימוש עד שתבצעו הפעלה מחדש במקרה. החליטו כיצד ברצונכם לטפל בכך, והגדירו זאת במפורש ב-50unattended-upgrades:

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

זה מבצע reboot לשרת בארבע לפנות בוקר כאשר, ורק כאשר, עדכון דורש זאת. ב-VPS בודד ללא cluster להעברת שירות (failover), reboot קצר בשעות הבוקר המוקדמות הוא בדרך כלל התמורה הנכונה כדי להישאר מעודכנים בתיקוני kernel. אם השרת שלכם מריץ משהו שאסור לו להפעיל את עצמו מחדש באופן בלתי צפוי, השאירו את ה-reboot כבוי והרגלו את עצמכם לבצע reboot ידני לאחר בדיקת /var/run/reboot-required.

Step 4: Prove it works

אל תחכו יום שלם כדי לגלות אם המשימה רצה. הפעילו dry run שמראה בדיוק מה יוחל, מבלי לשנות דבר:

sudo unattended-upgrade --dry-run --debug

הפלט מפרט את החבילות שהוא בוחן ואת המקורות שלהן, כך שתוכלו לראות את המדיניות בפעולה. לאחר שהמשימה האמיתית רצה לפחות פעם אחת, הרישום שלה נמצא כאן:

cat /var/log/unattended-upgrades/unattended-upgrades.log

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

Where this fits

עדכונים אוטומטיים הם שכבה אחת מתוך שרת מאובטח (hardened), לא הכל. הם מונעים מבאגים ידועים להישאר במערכת, אך הם אינם פותרים את נושא זהות המשתמשים שיכולים להתחבר או מה חשוף. שלבו אותם עם SSH hardening מבוסס מפתחות בלבד כדי למנוע brute-force לדלת הקדמית, UFW firewall במצב default-deny כדי שרק מה שאתם בוחרים יהיה נגיש, ו-unprivileged service users כדי שאפליקציה שנפרצה לא תוכל להשתלט על המכונה כולה. תיקון חולשות (patching) סוגר את החורים שאתם מכירים; השכבות האחרות מגבילות את הנזק מהחורים שאינכם מכירים.

FAQ

Does unattended-upgrades apply every update or only security ones?

כברירת מחדל, רק עדכוני אבטחה. הבלוק של Allowed-Origins בתוך /etc/apt/apt.conf.d/50unattended-upgrades מאפשר את המקורות של -security ומשאיר שדרוגי תכונות רגילים עבורכם להפעלה ידנית. זה נעשה בכוונה: תיקוני אבטחה הם בעלי סיכון נמוך וכדאי לבצעם אוטומטית, בעוד ששדרוגי תכונות עלולים לשנות התנהגות, לכן רוב השרתים צריכים לשמור על ברירת המחדל השמרנית.

Will automatic updates reboot my server?

רק אם תגידו להם לעשות זאת. הגדירו Unattended-Upgrade::Automatic-Reboot "true" ו-Automatic-Reboot-Time בקונפיגורציה, והשרת יבצע reboot בזמן זה כאשר עדכון ידרוש זאת, למשל לאחר תיקון kernel. אם ההגדרה כבויה, kernel מעודכן ימתין עד שתבצעו reboot בעצמכם; בדקו את /var/run/reboot-required כדי לדעת אם יש עדכון ממתין.

How do I check that automatic updates are actually running?

הריצו את sudo unattended-upgrade --dry-run --debug כדי לראות מה יוחל כעת, מבלי לשנות דבר, וקראו את /var/log/unattended-upgrades/unattended-upgrades.log כדי לראות את תיעוד ההרצות בעבר; כל התקנה אוטומטית נשמרת גם ב-/var/log/apt/history.log. אם הלוג מראה חבילות אבטחה המותקנות על פי לוח זמנים יומי, ה-timer עובד. אם ה-dry run מדפיס No packages found that can be upgraded unattended, סימן שהכל כבר מעודכן או שמקורות המקורות המורשים שלכם צרים מדי כדי להתאים למאגר האבטחה.

Is unattended-upgrades enough to keep my server secure?

לא, אך זוהי שכבה הכרחית. היא מונעת מחולשות ידועות להישאר ללא תיקון, מה שעוצר את סוג הפריצה הנפוץ ביותר, אך היא אינה שולטת בגישה או בחשיפה. שלבו אותה עם SSH hardening, חומת אש במצב default-deny, ומשתמשי שירות בעלי הרשאות מינימליות (least-privilege) עבור שרת שקשה באמת לפרוץ אליו.

#unattended-upgrades#ubuntu-24-04#security#updates#hardening