במסמך הזה מוסבר איך לעדכן את המשתנים Allowed Signature Database (db) ו-Key Exchange Key (KEK) במכונות וירטואליות שיצרתם לפני 7 בנובמבר 2025, כדי שהמכונות יסמכו על אישורים מעודכנים של אתחול מאובטח.
עדכון KEK ו-db הוא חלופה ללקוחות שלא יוצרים מחדש את מכונות ה-Compute המושפעות.
הערה לגבי הדרישות להפעלה מחדש: בניגוד ל-Windows, ב-Linux לא נדרשת הפעלה מחדש של המערכת כדי שעדכוני חתימה של KEK ו-db ייכתבו למשתני UEFI. מערכת Linux כותבת עדכונים באופן מיידי ל-NVRAM או לאחסון הקושחה עם הפעלת הפקודה.
לפני שמתחילים
לפני שמעדכנים את אישורי ה-KEK וה-db של Secure Boot, צריך לבדוק אם המופעים דורשים עדכון ולהשלים את ההכנות הבאות כדי למנוע בעיות אפשריות בהפעלה או בפענוח:
- אימות הדרישות המוקדמות: מוודאים שהמופעים שלכם דורשים עדכון של אישורי אתחול מאובטח.
- תקינות נתונים ושחזור מפתחות: מאתרים את מפתחות השחזור של הצפנת הדיסק (BitLocker או LUKS FDE) ומגבים נתונים קריטיים. שינוי משתני אבטחה עלול לחסום את הגישה לדיסקים אם ההגדרה שגויה.
- המלצה לגבי סדר העדכון של Linux: במקרים של מופעי Linux, מומלץ לעדכן את המשתנה
dbUEFI ל-Microsoft UEFI CA 2023 לפני שמעדכנים ל-shims חדשים. הסדר הזה עוזר למנוע תרחיש פוטנציאלי של אי-התאמה של CA אם מוחל עדכון של shim שנחתם רק באמצעות Microsoft UEFI CA 2023, בזמן שבמסד הנתונים יש רק את האישור משנת 2011. - הגדרות מותאמות אישית של PK או KEK: אם המופע שלכם משתמש במשתני Secure Boot מותאמים אישית (כמו
PKאוKEKמותאמים אישית), קובצי העדכון הרגילים (DBUpdate3P2023.binאוkek2023update.bin) שמופיעים במדריך הזה לא יחולו ישירות. קושחת UEFI דורשת שקובצי העדכון ייחתמו על ידי המפתח הפרטי שלKEKאוPKשקיימים במערכת. אם אתם משתמשים במפתחות בהתאמה אישית, אתם צריכים לחתום על קובצי העדכון הבינאריים באמצעות המפתחות הפרטיים שלכם או לנהל את העדכונים דרך רשות האישורים בהתאמה אישית.
עדכון מסד הנתונים ומפתח הצפנת המפתח ב-Linux באמצעות fwupd
בגרסאות fwupdmgr 2.0.10 ואילך יש תמיכה בשיטה הזו. כדי לבדוק את הגרסה, מריצים את הפקודה sudo fwupdmgr --version.
הערה לגבי RHEL 8/9 ו-SLES 15: מאגרי Enterprise ל-RHEL 8/9 ול-SUSE Linux Enterprise Server (SLES) 15 מספקים גרסאות קודמות של fwupdmgr (גרסה 1.7.8 ב-RHEL 8, גרסה 1.9.13 ב-RHEL 9 וגרסה 1.9.10 ב-SLES 15 SP6), שלא עומדות בסף הגרסה הנדרש. אם אתם משתמשים ב-RHEL 8/9 או ב-SLES 15, אתם צריכים לבצע אחת מהפעולות הבאות: ליצור fwupd ממקור, או להשתמש בשיטות sbsigntool/sbsigntools או efitools שמתוארות בהמשך.
הערה לגבי SLES 12/15: מאגרי Enterprise ל-SLES 12/15 לא מספקים את fwupd, ומאגרי SUSE Package Hub ל-SLES 15 מספקים גרסאות קודמות של fwupdmgr שלא עומדות בדרישות הסף של הגרסה. אם אתם מריצים SLES 12, אתם צריכים לבנות את fwupd מהמקור. אם אתם מריצים SLES 15, אתם צריכים לבצע אחת מהפעולות הבאות: ליצור fwupd ממקור, או להשתמש באחת מהשיטות efitools או sbsigntools שמתוארות בהמשך באמצעות backports שזמינים מ-SUSE Package Hub.
מריצים את הפקודה הבאה:
sudo fwupdmgr refresh
sudo fwupdmgr update 5bc922b7bd1adb5b6f99592611404036bd9f42d0
sudo fwupdmgr update b7a1d3d90faa1f6275d9a98da4fb3be7118e61c7
עדכון מסד הנתונים ומפתח הצפנת המפתח ב-Linux באמצעות efitools
בשלבים הבאים מוסבר איך לעדכן את המשתנים db ו-KEK באמצעות חבילת efitools.
לעדכון db
מורידים את קובץ העדכון הבינארי ממאגר של מיקרוסופט:
wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.binהפיכת המשתנה לניתן לשינוי – הסרת סימון ההגנה מפני כתיבה:
sudo chattr -i /sys/firmware/efi/efivars/db-*מעדכנים את המשתנה על ידי הפעלת הפקודה
efi-updatevar:sudo efi-updatevar -a -f DBUpdate3P2023.bin dbמשחזרים את סימון ההגנה מכתיבה כדי לאבטח את המשתנה:
sudo chattr +i /sys/firmware/efi/efivars/db-*
לעדכון KEK
מורידים את הארכיון
.cabשמכיל את עדכון האישור:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabאם
gcabלא מותקן, מתקינים אותו. לדוגמה, מריצים אחת מהפקודות הבאות:ב-Debian או ב-Ubuntu:
sudo apt update sudo apt install gcabב-SUSE Linux Enterprise Server (SLES) או ב-openSUSE (נדרש SUSE Package Hub):
sudo SUSEConnect -p PackageHub/15.5/x86_64 sudo zypper install gcab(הערה: אם הגרסה של SLES שונה, צריך להחליף את
15.5בגרסה שלכם).
מחילוץ הארכיון באמצעות
gcab:gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabמוודאים שלקובץ יש את גיבוב ה-MD5 הצפוי:
6a1c58e1b8391c0e3f2e97f83917807a.md5sum kek2023update.binהופכים את המשתנה
KEKלניתן לשינוי:sudo chattr -i /sys/firmware/efi/efivars/KEK-*מחילים את העדכון:
sudo efi-updatevar -a -f kek2023update.bin KEKמשחזרים את סימון ההגנה מכתיבה כדי לאבטח את המשתנה:
sudo chattr +i /sys/firmware/efi/efivars/KEK-*
עדכון מסד הנתונים ומפתח הצפנת המפתח ב-Linux באמצעות sbsigntool או sbsigntools
בשלבים הבאים מוסבר איך לעדכן את המשתנים db ו-KEK באמצעות כלי השירות sbkeysync מהחבילה sbsigntool או sbsigntools.
הערה לגבי שם החבילה והזמינות:
- ב-Debian וב-Ubuntu, שם חבילת כלי השירות הוא
sbsigntool(בלי האות s בסוף). כדי להתקין אותו, מריצים את הפקודה:sudo apt install sbsigntool. - בהפצות שמבוססות על Red Hat Enterprise Linux (RHEL), CentOS ו-Fedora, חבילת כלי השירות נקראת
sbsigntools(עם האות s בסוף). החבילה הזו מסופקת על ידי מאגר EPEL (Extra Packages for Enterprise Linux). כדי להתקין אותו ב-RHEL, מפעילים את מאגר EPEL (sudo dnf install epel-release) ואז מריצים את הפקודה:sudo dnf install sbsigntools. - SUSE Linux Enterprise Server (SLES) ו-openSUSE גם קוראים לחבילת כלי השירות
sbsigntools. החבילה הזו מסופקת על ידי מאגר SUSE Package Hub. כדי להתקין אותו, מפעילים את SUSE Package Hub (לדוגמה,sudo SUSEConnect -p PackageHub/15.5/x86_64, מחליפים את15.5בגרסת SLES שלכם) ואז מריצים את הפקודה:sudo zypper install sbsigntools.
לעדכון db
מורידים את קובץ העדכון הבינארי ממאגר של מיקרוסופט:
wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.binממקמים את הקובץ בתיקייה המתאימה ל-
sbkeysync, הופכים אתdbלניתן לשינוי ומריצים סנכרון:sudo mkdir -p /etc/secureboot/keys/db sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db/ sudo chattr -i /sys/firmware/efi/efivars/db-* sudo sbkeysync --verboseמשחזרים את סימון ההגנה מכתיבה כדי לאבטח את המשתנה:
sudo chattr +i /sys/firmware/efi/efivars/db-*
לעדכון KEK
כדי לעדכן את המשתנה KEK, מורידים את ארכיון העדכונים של Microsoft KEK, מחלצים את קובץ העדכון הבינארי ומסנכרנים אותו באמצעות כלי השירות sbkeysync. בקטעים הבאים מוסבר איך לחלץ את הקובץ הבינארי בהתאם להפצה שלכם:
מורידים את הארכיון
.cabשמכיל את עדכון אישור ה-KEK:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabמחילוץ הארכיון
.cabמתקבל קובץ בינארי של עדכון KEK (kek2023update.bin):ב-Debian/Ubuntu באמצעות כלי השירות
gcab:sudo apt update && sudo apt install gcab -y gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabבהפצות שמבוססות על RHEL/CentOS (כמו RHEL 8/9) באמצעות כלי השירות
cabextractמ-EPEL:sudo dnf install epel-release -y sudo dnf install cabextract -y cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabב-SUSE Linux Enterprise Server (SLES) וב-openSUSE באמצעות כלי השירות
cabextractמ-SUSE Package Hub:sudo SUSEConnect -p PackageHub/15.5/x86_64 sudo zypper install cabextract -y cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab(הערה: אם הגרסה של SLES שונה, צריך להחליף את
15.5בגרסה שלכם).
מוודאים שלקובץ
kek2023update.binשחולץ יש גיבוב MD5 צפוי:6a1c58e1b8391c0e3f2e97f83917807a.md5sum kek2023update.binממקמים את הקובץ הבינארי בתיקייה המתאימה ל-
sbkeysync, הופכים את המשתנהKEKלניתן לשינוי ומריצים סנכרון:sudo mkdir -p /etc/secureboot/keys/KEK sudo cp kek2023update.bin /etc/secureboot/keys/KEK/ sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo sbkeysync --verboseמשחזרים את סימון ההגנה מכתיבה כדי לאבטח את המשתנה:
sudo chattr +i /sys/firmware/efi/efivars/KEK-*
עדכון של מסד הנתונים ושל KEK ב-Windows
אם אתם לא משתמשים באתחול מאובטח במופע הזה, או לא מתכננים להשתמש בו, אתם לא צריכים להחיל את עדכוני האישורים האלה. מערכות הפעלה של Windows בדרך כלל מתעלמות מניסיונות להחיל את עדכוני האישורים האלה של אתחול מאובטח אם האתחול המאובטח לא מופעל, כי העדכון לא נחוץ.
אם אתם מתכוונים להשתמש בהפעלה מאובטחת בהמשך, אתם צריכים להפעיל אותה קודם במופע כדי לעדכן את אישורי ההפעלה המאובטחת.
במופעי Windows, הגדרות הרישום ומשימות מתוזמנות מפעילות עדכונים בגרסאות תואמות:
- מוודאים שעדכונים חודשיים מהזמן האחרון הוחלו על מופעי Windows.
כאדמינים ב-PowerShell, מריצים את הפקודה:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944 Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"מפעילים מחדש את המופע כדי לאפשר פעולות על משתני קושחה. בסביבות מסוימות נדרשות שתי הפעלות מחדש אם תכונות האבטחה של הווירטואליזציה פעילות.