Microsoft Root Certificate Mekanizması Nasıl Çalışıyor? Bilmeniz Gerekenler
Dijital sertifikalar, günümüz BT altyapılarının temel güven mekanizmalarından biridir. Bir kullanıcı HTTPS kullanan bir web sitesine eriştiğinde, bir uygulama dijital olarak imzalandığında veya bir işletim sistemi güvenli bağlantı kurduğunda, arka planda sertifika doğrulama işlemleri gerçekleşir. Bu doğrulama zincirinin en üstünde ise Root Certificate Authority (Root CA) olarak adlandırılan kök sertifika otoriteleri bulunur.
Windows işletim sistemleri, güvenilen kök sertifikaları yönetmek için Microsoft Root Certificate Program adı verilen bir mekanizma kullanır. Bu mekanizma çoğu zaman kullanıcılar tarafından fark edilmez ancak güvenli iletişimin devamlılığı açısından kritik öneme sahiptir. Özellikle internet erişimi olmayan ortamlarda veya sertifika yönetiminin merkezi olarak yapıldığı kurumlarda sistemin çalışma mantığını anlamak büyük önem taşır.
Microsoft Root Certificate Program Nedir?
Microsoft Root Certificate Program, Microsoft tarafından güvenilir olarak kabul edilen kök sertifika otoritelerinin Windows işletim sistemlerinde kullanılmasını sağlayan programdır.
Bir kullanıcı HTTPS kullanan bir web sitesine bağlandığında Windows aşağıdaki kontrolleri gerçekleştirir:
- Sunucu sertifikasını inceler.
- Sertifika zincirini oluşturur.
- Zincirin sonundaki Root CA’nın güvenilir olup olmadığını kontrol eder.
- Eğer Root CA sistemde bulunmuyorsa Microsoft Root Certificate Program listesini kontrol eder.
- Sertifika program kapsamında güvenilir olarak işaretlenmişse otomatik olarak indirilir ve Trusted Root Certification Authorities deposuna eklenir.
Bu süreç sayesinde kullanıcılar sertifika yüklemek zorunda kalmadan güvenli bağlantılar kurabilir.
Trusted Root Certification Authorities Deposu
Windows üzerinde güvenilen kök sertifikalar aşağıdaki sertifika deposunda tutulur:
Trusted Root Certification Authorities
Yerel bilgisayardaki kök sertifikaları görüntülemek için aşağıdaki PowerShell komutu kullanılabilir:
Get-ChildItem cert:\LocalMachine\root | Select FriendlyName
Yeni kurulan bir Windows sisteminde bile bazı temel Microsoft kök sertifikaları ön yüklü olarak gelir. Bunun nedeni Windows Activation, Windows Update ve diğer Microsoft servisleriyle güvenli iletişim kurulabilmesidir.
İnternet Erişimi Olmayan Ortamlarda Sertifikalar Nasıl Çalışır?
Birçok sistem yöneticisinin karşılaştığı ilginç durumlardan biri, Windows Update erişimi olmayan sistemlerde bile bazı kök sertifikaların otomatik olarak yüklenebilmesidir. Bu durumun nedeni Windows’un uzun yıllardır kullandığı özel bir mekanizmadır. Windows Vista’dan itibaren Microsoft, güncel kök sertifika listesinin önemli bir bölümünü işletim sisteminin crypt32.dll dosyası içerisine gömülü olarak dağıtmaktadır.
Eğer sistem:
- Windows Update’e erişemiyorsa,
- Kurum içi sertifika deposuna erişemiyorsa,
- Web veya dosya sunucusuna ulaşamıyorsa,
Windows gerekli sertifikaları doğrudan crypt32.dll içerisinden çıkarabilir. Bu nedenle bazı sistemlerde otomatik güncelleme çalışmasa bile sertifika doğrulamalarının başarılı olduğu görülebilir.
Süresi Dolmuş Root Sertifikalar Neden Silinmemelidir?
Birçok yönetici süresi dolmuş sertifikaların gereksiz olduğunu düşünerek bunları temizlemeye çalışır. Ancak özellikle Authenticode ile imzalanmış uygulamalarda bu yaklaşım sorun yaratabilir. Bir uygulamanın imzası oluşturulduğu tarihte kullanılan Root CA geçerliyse, daha sonra sertifika süresi dolmuş olsa bile imza geçerliliğini koruyabilir. Bu nedenle eski Root CA sertifikalarının silinmesi dijital imza doğrulamalarında beklenmeyen sorunlara neden olabilir.
Yakında süresi dolacak veya süresi dolmuş sertifikaları görüntülemek için:
Get-ChildItem cert:\LocalMachine\root | Where {$_.NotAfter -lt (Get-Date).AddDays(30)} | Select NotAfter, Subject
komutu kullanılabilir.
Root Sertifikaların Geçerliliğinin Kontrol Edilmesi
Bir sertifikanın süresinin dolması ile iptal edilmesi (revoked) farklı kavramlardır.
Bir Root CA aşağıdaki nedenlerle iptal edilebilir:
- Sertifika otoritesinin ele geçirilmesi
- Güvenlik ihlali yaşanması
- Kurumsal politika değişiklikleri
- Operasyonel sebepler
Bu nedenle yalnızca sertifikanın süresine bakmak yeterli değildir. Microsoft içerisinde yerleşik bir Root CA doğrulama aracı bulunmamakla birlikte birçok uzman Sysinternals SigCheck aracını kullanmaktadır.
Aracı indirmek için:
wget https://download.sysinternals.com/files/Sigcheck.zip -OutFile SigCheck.zip
Arşivi açmak için:
Expand-Archive .\SigCheck.zip
Güncel ve güvenilir sertifikaları doğrulamak için:
sigcheck64.exe -tv -accepteula
komutu kullanılabilir.
Microsoft Root Certificate Listesi Nasıl İndirilir?
Kurumlar Microsoft’un sertifika deposunun yerel bir kopyasını oluşturabilir.
Bunun için:
certutil -syncWithWU <hedef_klasör>
komutu kullanılabilir.
Bu işlem aşağıdaki dosyaları indirir:
- Authrootstl.cab
- Disallowedcertstl.cab
- Disallowedcert.sst
- Pinrulesstl.cab
- Pinrulesstl.sst
- Root CA *.crt dosyaları
Bu dosyalar güvenilen ve güvenilmeyen sertifikaların tamamını içerir.
SST Formatında Tüm Sertifikaların İndirilmesi
Bazı durumlarda tüm sertifikaların tek dosyada tutulması tercih edilir.
Bunun için:
certutil.exe -generateSSTFromWU root.sst
komutu kullanılabilir.
Oluşan SST (Serialized Certificate Store) dosyası daha sonra GPO veya diğer yöntemlerle dağıtılabilir.
Otomatik Root Certificate Güncellemeleri Nasıl Kapatılır?
Bazı kurumlar sertifika güncellemelerini tamamen kendi kontrolüne almak ister.
Bu durumda aşağıdaki GPO kullanılabilir:
Computer Configuration > Administrative Templates > System > Internet Communication Management > Internet Communication > Turn off Automatic Root Certificates Update
Alternatif olarak registry üzerinden:
HKLM\Software\Policies\Microsoft\SystemCertificates\AuthRoot\DisableRootAutoUpdate=1
değeri atanabilir. Bu ayar hem güvenilen hem de güvensiz sertifika güncellemelerini durdurur.
Root Sertifikaların Dağıtım Yöntemleri
Microsoft dört farklı dağıtım yöntemi sunmaktadır:
1. Group Policy
GPO üzerinden:
Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Trusted Root Certification Authorities
konumu kullanılarak sertifikalar merkezi olarak dağıtılabilir. SST dosyalarının import edilmesi toplu yönetim açısından büyük kolaylık sağlar.
2. Active Directory Configuration Partition
Sertifikalar doğrudan Active Directory içerisine yayınlanabilir.
Örnek:
certutil -dspublish -f RootCA.crt RootCA
Birden fazla sertifika için PowerShell döngüleri kullanılabilir. Yayınlanan sertifikalar Configuration Partition altında saklanır ve istemcilere GPO yenileme sürecinde ulaşır.
3. Dosya Sunucusu
Root sertifikalar SYSVOL veya başka bir paylaşım alanında tutulabilir.
Registry ayarı:
HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate\RootDirURL=file://\Server\Share\RootCert
şeklinde yapılandırılarak istemcilerin bu depoyu kullanması sağlanabilir.
4. Web Sunucusu
Aynı yöntem bir HTTP veya HTTPS sunucusu üzerinden de uygulanabilir.
Bu yöntem özellikle internet erişimi olmayan ağlarda yaygın olarak kullanılmaktadır.
Certificate Trust List (CTL) Nedir?
Certificate Trust List (CTL), sertifikaların tamamını değil yalnızca hash değerlerini içeren özel bir listedir.
Mantıksal olarak CRL (Certificate Revocation List) yapısına benzer.
CTL sayesinde Windows:
- Güvenilir sertifikaları doğrulayabilir
- İmza kontrollerini hızlandırabilir
- Sertifika bütünlüğünü kontrol edebilir
Varsayılan olarak Windows yaklaşık iki haftada bir CTL güncellemesi yapar.
Güvenilmeyen Sertifikaların Yönetimi
Microsoft yalnızca güvenilen sertifikaları değil, güvenilmeyen sertifikaları da dağıtır.
Bu liste aşağıdaki dosyada tutulur:
Disallowedcertstl.cab
Güvenilmeyen sertifikalar manuel olarak yüklenebilir:
certutil.exe -enterprise -f -v -AddStore disallowed disallowedcert.stl
Bu yöntem özellikle kapalı ağlarda güvenlik seviyesini artırmak için kullanılabilir.
Sorun Giderme Adımları
Root sertifika güncellemeleriyle ilgili sorun yaşanıyorsa aşağıdaki kontroller yapılmalıdır.
Cryptnet Önbelleğini Temizleme
certutil -urlcache * delete
veya
%userprofile%\AppData\LocalLow\Microsoft\CryptnetUrlCache
klasörünün temizlenmesi önerilir.
CAPI2 Loglarını Açma
Applications and Services Logs > Microsoft > Windows > CAPI2
günlükleri etkinleştirilerek sertifika işlemleri detaylı şekilde izlenebilir.
Sertifika İşlemini Tetikleme
- HTTPS bir siteye bağlanmak
- Sertifika dosyasını açmak
- İmzalı bir uygulama çalıştırmak
otomatik Root Certificate mekanizmasını yeniden çalıştırabilir.
Microsoft Root Certificate Program, Windows güvenlik mimarisinin görünmeyen ancak kritik bileşenlerinden biridir. HTTPS bağlantılarından uygulama imzalarına kadar birçok güvenlik işlemi bu mekanizma üzerine kuruludur. Özellikle internet erişimi olmayan ortamlarda çalışan sistem yöneticilerinin CTL, Root Store, Crypt32.dll, Group Policy dağıtımları ve Certutil araçları hakkında bilgi sahibi olması, sertifika kaynaklı problemlerin çözümünü önemli ölçüde kolaylaştıracaktır.









Eline sağlık.