Memperbarui KEK dan sertifikat db

Dokumen ini memberikan petunjuk untuk memperbarui variabel Allowed Signature Database (db) dan Key Exchange Key (KEK) pada instance komputasi yang Anda buat sebelum 7 November 2025 agar mempercayai sertifikat yang diperbarui untuk Boot Aman.

KEK dan update db adalah alternatif bagi pelanggan yang tidak membuat ulang instance komputasi yang terpengaruh.

Catatan tentang persyaratan reboot: Tidak seperti Windows, Linux tidak memerlukan reboot sistem agar update KEK dan tanda tangan db dapat ditulis ke variabel UEFI. Linux segera menulis update ke NVRAM atau penyimpanan firmware setelah eksekusi perintah.

Sebelum memulai

Sebelum mengupdate sertifikat KEK dan db Secure Boot, verifikasi apakah instance Anda memerlukan update dan selesaikan persiapan berikut untuk mencegah potensi masalah booting atau dekripsi:

  • Verifikasi prasyarat: Verifikasi bahwa instance Anda memerlukan update sertifikat Boot Aman.
  • Integritas data dan pemulihan kunci: Temukan kunci pemulihan enkripsi disk Anda (BitLocker atau LUKS FDE) dan cadangkan data penting. Mengubah variabel keamanan dapat mengunci akses ke disk jika konfigurasi salah.
  • Rekomendasi pengurutan update Linux: Untuk instance Linux, sebaiknya update variabel UEFI db ke Microsoft UEFI CA 2023 sebelum mengupdate ke shim baru. Pengurutan ini membantu mencegah potensi skenario ketidakcocokan CA jika update shim yang hanya ditandatangani dengan Microsoft UEFI CA 2023 diterapkan saat database hanya berisi sertifikat 2011.
  • Konfigurasi PK atau KEK kustom: Jika instance Anda menggunakan variabel Boot Aman kustom (seperti PK atau KEK kustom), file update standar (DBUpdate3P2023.bin atau kek2023update.bin) yang disediakan dalam panduan ini tidak akan berlaku secara langsung. Firmware UEFI mengharuskan file update ditandatangani oleh kunci pribadi KEK atau PK yang ada di sistem. Jika menggunakan kunci kustom, Anda harus menandatangani biner update dengan kunci pribadi Anda sendiri atau mengelola update melalui otoritas sertifikat kustom Anda.

Memperbarui db dan KEK di Linux menggunakan fwupd

Versi fwupdmgr 2.0.10 atau yang lebih baru mendukung metode ini. Periksa versi Anda dengan menjalankan sudo fwupdmgr --version.

Catatan tentang RHEL 8/9 dan SLES 15: Repositori Enterprise untuk RHEL 8/9 dan SUSE Linux Enterprise Server (SLES) 15 menyediakan fwupdmgr versi sebelumnya (RHEL 8 menampilkan 1.7.8 versi, RHEL 9 menampilkan 1.9.13 versi, dan SLES 15 SP6 menampilkan 1.9.10), yang tidak memenuhi batas versi yang diperlukan. Jika Anda menjalankan RHEL 8/9 atau SLES 15, Anda harus melakukan salah satu hal berikut: membangun fwupd dari sumber, atau menggunakan metode sbsigntool/sbsigntools atau efitools yang dijelaskan nanti.

Catatan tentang SLES 12/15: Repositori Enterprise untuk SLES 12/15 tidak menyediakan fwupd dan repositori SUSE Package Hub untuk SLES 15 menyediakan versi fwupdmgr yang lebih lama, yang tidak memenuhi batas versi yang diperlukan. Jika Anda menjalankan SLES 12, Anda harus membuat fwupd dari sumber. Jika Anda menjalankan SLES 15, Anda harus melakukan salah satu hal berikut: membangun fwupd dari sumber, atau menggunakan metode efitools atau sbsigntools yang dijelaskan nanti menggunakan backport yang tersedia dari SUSE Package Hub.

Jalankan perintah berikut:

sudo fwupdmgr refresh
sudo fwupdmgr update 5bc922b7bd1adb5b6f99592611404036bd9f42d0
sudo fwupdmgr update b7a1d3d90faa1f6275d9a98da4fb3be7118e61c7

Memperbarui db dan KEK di Linux menggunakan efitools

Langkah-langkah berikut akan memandu Anda memperbarui variabel db dan KEK menggunakan paket efitools.

Update db

  1. Download biner update dari repositori Microsoft:

    wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. Buat variabel dapat diubah—menghapus tanda perlindungan penulisan:

    sudo chattr -i /sys/firmware/efi/efivars/db-*
    
  3. Perbarui variabel dengan menjalankan efi-updatevar:

    sudo efi-updatevar -a -f DBUpdate3P2023.bin db
    
  4. Pulihkan tanda perlindungan penulisan untuk mengamankan variabel:

    sudo chattr +i /sys/firmware/efi/efivars/db-*
    

Update KEK

  1. Download arsip .cab yang berisi pembaruan sertifikat:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Jika Anda belum menginstal gcab, instal. Misalnya, jalankan salah satu perintah berikut:

    • Di Debian atau Ubuntu:

      sudo apt update
      sudo apt install gcab
      
    • Di SUSE Linux Enterprise Server (SLES) atau openSUSE (memerlukan SUSE Package Hub):

      sudo SUSEConnect -p PackageHub/15.5/x86_64
      sudo zypper install gcab
      

      (Catatan: Ganti 15.5 dengan versi SLES Anda jika berbeda).

  3. Ekstrak arsip menggunakan gcab:

    gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  4. Pastikan file memiliki hash MD5 yang diharapkan: 6a1c58e1b8391c0e3f2e97f83917807a.

    md5sum kek2023update.bin
    
  5. Buat variabel KEK dapat diubah:

    sudo chattr -i /sys/firmware/efi/efivars/KEK-*
    
  6. Terapkan update:

    sudo efi-updatevar -a -f kek2023update.bin KEK
    
  7. Pulihkan tanda perlindungan penulisan untuk mengamankan variabel:

    sudo chattr +i /sys/firmware/efi/efivars/KEK-*
    

Memperbarui db dan KEK di Linux menggunakan sbsigntool atau sbsigntools

Langkah-langkah berikut akan memandu Anda memperbarui variabel db dan KEK menggunakan utilitas sbkeysync dari paket sbsigntool atau sbsigntools.

Catatan tentang nama paket dan ketersediaan:

  • Debian dan Ubuntu menamai paket utilitas sbsigntool (tanpa "s" di akhir). Untuk menginstalnya, jalankan: sudo apt install sbsigntool.
  • Distribusi berbasis Red Hat Enterprise Linux (RHEL), CentOS, dan Fedora menamai paket utilitas sbsigntools (dengan "s" di akhir). Repositori EPEL (Extra Packages for Enterprise Linux) menyediakan paket ini. Untuk menginstalnya di RHEL, aktifkan repositori EPEL (sudo dnf install epel-release), lalu jalankan: sudo dnf install sbsigntools.
  • SUSE Linux Enterprise Server (SLES) dan openSUSE juga menamai paket utilitas sbsigntools. Repositori SUSE Package Hub menyediakan paket ini. Untuk menginstalnya, aktifkan SUSE Package Hub (misalnya, sudo SUSEConnect -p PackageHub/15.5/x86_64, dengan mengganti 15.5 dengan versi SLES Anda), lalu jalankan: sudo zypper install sbsigntools.

Update db

  1. Download biner update dari repositori Microsoft:

    wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. Tempatkan file di dalam folder yang sesuai untuk sbkeysync, buat db dapat diubah, dan jalankan sinkronisasi:

    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
    
  3. Pulihkan tanda perlindungan penulisan untuk mengamankan variabel:

    sudo chattr +i /sys/firmware/efi/efivars/db-*
    

Update KEK

Untuk memperbarui variabel KEK, download arsip kabinet update KEK Microsoft, ekstrak biner update, dan sinkronkan menggunakan utilitas sbkeysync. Bagian berikut menjelaskan cara mengekstrak program biner berdasarkan distribusi Anda:

  1. Download arsip .cab yang berisi update sertifikat KEK:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Ekstrak arsip .cab untuk mendapatkan biner update KEK (kek2023update.bin):

    • Di Debian/Ubuntu menggunakan utilitas gcab:

      sudo apt update && sudo apt install gcab -y
      gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
    • Pada distribusi berbasis RHEL/CentOS (seperti RHEL 8/9) menggunakan utilitas cabextract dari EPEL:

      sudo dnf install epel-release -y
      sudo dnf install cabextract -y
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
    • Di SUSE Linux Enterprise Server (SLES) dan openSUSE menggunakan utilitas cabextract dari SUSE Package Hub:

      sudo SUSEConnect -p PackageHub/15.5/x86_64
      sudo zypper install cabextract -y
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      

      (Catatan: Ganti 15.5 dengan versi SLES Anda jika berbeda).

  3. Verifikasi bahwa file kek2023update.bin yang diekstrak memiliki hash MD5 yang diharapkan: 6a1c58e1b8391c0e3f2e97f83917807a.

    md5sum kek2023update.bin
    
  4. Tempatkan biner di dalam folder yang sesuai untuk sbkeysync, buat variabel KEK dapat berubah, dan jalankan sinkronisasi:

    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
    
  5. Pulihkan tanda perlindungan penulisan untuk mengamankan variabel:

    sudo chattr +i /sys/firmware/efi/efivars/KEK-*
    

Memperbarui db dan KEK di Windows

Anda tidak perlu menerapkan pembaruan sertifikat ini jika Anda tidak menggunakan atau berencana menggunakan Booting Aman di instance ini. Sistem operasi Windows umumnya mengabaikan upaya untuk menerapkan update sertifikat Booting Aman ini jika Booting Aman tidak diaktifkan karena update tidak diperlukan.

Jika Anda berencana menggunakan Booting Aman nanti, Anda harus mengaktifkan Booting Aman terlebih dahulu di instance untuk memperbarui sertifikat booting aman.

Pada instance Windows, setelan registry dan tugas terjadwal memicu update pada versi yang kompatibel:

  1. Pastikan instance Windows Anda telah menerapkan update bulanan terbaru.
  2. Sebagai Administrator di PowerShell, jalankan:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944
    Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
    
  3. Mulai ulang instance untuk mengizinkan operasi pada variabel firmware. Beberapa lingkungan memerlukan restart ganda jika fitur keamanan virtualisasi aktif.