Giriş ve Teknik Arka Plan
Microsoft'un 2011'de yayınladığı orijinal UEFI Güvenli Önyükleme (Secure Boot) İmza Veritabanı (DB) sertifikaları Haziran 2026'da sona ermeye başlayacaktır. Bu durum, söz konusu sertifikalara bağımlı olan Windows cihazlarının önyükleme bileşenleri için güvenlik güncellemeleri almasını engelleyerek uyumluluk sorunlarına yol açacaktır. Bu kritik sorunu çözmek için Microsoft, UEFI Secure Boot DB için yeni 2023 sertifikalarını kullanıma sunmuştur. Bu makale, bu yeni sertifikaların etki alanı (domain-joined) makinelerine Grup İlkesi (Group Policy) ve PowerShell aracılığıyla dağıtılması için gereken teknik adımları ve mekanizmaları detaylandırmaktadır.
Güvenlik Etkisi ve Sertifika Zorunluluğu
Güvenli Önyükleme, kötü amaçlı yazılımların sistem başlangıcını ele geçirmesini önlemek için tasarlanmış kritik bir UEFI özelliğidir. Sertifikaların süresi dolduğunda, sistem firmware'i bu sertifikalarla imzalanmış önyükleme bileşenlerini (örneğin, önyükleyici veya çekirdek modülleri) güvenilir olarak kabul etmeyi durdurabilir. Bu, sistemlerin güvenli modda önyüklenmesini engelleyebilir veya en önemlisi, gelecekteki güvenlik yamalarının uygulanmasını sekteye uğratabilir.
Dağıtım Mekanizması: Kayıt Defteri (Registry) Yoluyla
Microsoft, bu sertifika güncellemelerinin dağıtımı için Windows Yapılandırma Sistemi (WinCS) veya doğrudan kayıt defteri anahtarları aracılığıyla yönetimini desteklemektedir. Dağıtım, sertifikaların doğrudan UEFI bellenimine yazılması yerine, Windows'un bu sertifikaları tanıması için gerekli olan kayıt defteri konumlarına eklenmesiyle gerçekleştirilir. Bu, yönetim kolaylığı sağlar.
Çözüm Adımları: Grup İlkesi ile Dağıtım
Grup İlkesi, kurumsal ortamlarda bu sertifikaları merkezi olarak dağıtmak için en yaygın ve tercih edilen yöntemdir. Dağıtım, sertifika dosyalarının (genellikle .cer formatında) cihazlara kopyalanmasını ve ardından ilgili kayıt defteri değerlerinin ayarlanmasını içerir.
Adım 1: Sertifika Dosyalarını Hazırlama ve Paylaşma
Yeni 2023 DB sertifikalarını edinin ve bunları tüm istemcilerin erişebileceği bir merkezi paylaşıma (örneğin, SYSVOL içindeki bir klasöre) yerleştirin.
Adım 2: Grup İlkesi Nesnesi (GPO) Oluşturma
Etki alanı denetleyicinizde yeni bir GPO oluşturun veya mevcut bir GPO'yu düzenleyin ve bunu sertifikaların uygulanacağı OU'lara bağlayın.
Adım 3: Kayıt Defteri Ayarlarını Yapılandırma
GPO Yönetim Düzenleyicisi'nde, Bilgisayar Yapılandırması -> Tercihler -> Windows Ayarları -> Kayıt Defteri yolunu izleyin. Yeni bir Kayıt Defteri öğesi oluşturun:
- Eylem: Güncelleştir (Update)
- Kovan (Hive): HKEY_LOCAL_MACHINE
- Anahtar Yolu (Key Path):
SYSTEM\CurrentControlSet\Control\SecureBoot\Certificates - Değer Adı (Value Name): Yeni sertifika için benzersiz bir ad (Örn:
DB2023Update) - Değer Türü (Value Type): REG_BINARY
- Değer Verisi (Value Data): Sertifikanın ikili (binary) içeriği. Bu veriyi elde etmek için PowerShell kullanılmalıdır (bkz. sonraki bölüm).
UYARI: Kayıt defterine doğrudan ikili veri girmek zordur. Bu veriyi PowerShell kullanarak elde etmek ve GPO'da kullanmak için bir betik çalıştırmak daha pratiktir. Bu nedenle, PowerShell dağıtım yöntemi genellikle tercih edilir. Sertifika içeriğini bir REG_BINARY olarak GPO'ya eklemek yerine, sertifikanın yolunu belirten bir betik çalıştırmak daha güvenilir bir yaklaşımdır.
PowerShell ile Otomasyon ve Dağıtım
PowerShell, özellikle Microsoft'un sağladığı örnek otomasyon çerçevesini kullanarak bu dağıtımı otomatikleştirmek için güçlü bir araçtır. Bu yöntem, sertifika içeriğini doğrudan kayıt defterine yazmak için gerekli olan ikili veriyi dönüştürmeyi içerir.
Adım 1: Sertifika İkili Verisini Elde Etme
Öncelikle, dağıtılacak sertifikanın (örneğin, Microsoft_UEFICertificate_2023.cer) ikili içeriğini bir değişkene dönüştürmeniz gerekir:
# Sertifikanın yerel yolu
$CertPath = "C:\Temp\Microsoft_UEFICertificate_2023.cer"
# Sertifika içeriğini ikili (byte array) olarak oku
$CertBinary = [System.IO.File]::ReadAllBytes($CertPath)
# İkili veriyi kayıt defteri için uygun formata dönüştür (GPO'da kullanmak için)
# Veya doğrudan PowerShell ile yazmak için kullanın.
Adım 2: PowerShell Betiği ile Kayıt Defterine Yazma
Bu betik, bir kez çalıştırıldığında sertifikayı sisteme kalıcı olarak ekler. Bu betiği bir GPO Startup Script olarak veya bir SCCM/Intune görevi olarak dağıtabilirsiniz.
# Yeni Secure Boot Sertifika Yolu
$RegPath = "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Certificates"
$CertName = "Microsoft_UEFI_DB_2023"
# Sertifika dosyasını oku (Örnek: SYSVOL'den erişilen)
$CertFile = "\\DomainName\SysVol\DomainName\Policies\{GPO_GUID}\Machine\Scripts\Startup\Microsoft_UEFICertificate_2023.cer"
If (-not (Test-Path $CertFile)) {
Write-Error "Sertifika dosyası bulunamadı: $CertFile"
Exit 1
}
# İkili veriyi oku
$CertBinaryData = [System.IO.File]::ReadAllBytes($CertFile)
# Kayıt defterine yaz
Set-ItemProperty -Path $RegPath -Name $CertName -Value $CertBinaryData -Type Binary -Force
Write-Host "Secure Boot DB sertifikası başarıyla yüklendi: $CertName"
Adım 3: Doğrulama
Uygulamadan sonra, hedef makinede PowerShell'i yönetici olarak çalıştırın ve sertifikanın yüklendiğini doğrulayın:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Certificates\Microsoft_UEFI_DB_2023"
Çıktıda, sertifika verilerinin başarıyla yazıldığını görmelisiniz. Bu güncelleme, sistemin bir sonraki yeniden başlatılmasından sonra etkinleşecektir.


