Merhaba arkadaşlar, ben Cem Zengin.
Active Directory ortamlarında çalışan sistem ve ağ mühendisleri olarak en sık karşılaştığımız senaryolardan biri de süresi dolan veya artık güvenilmeyen kök sertifikaların (örneğin eski güvenlik duvarı SSL Decryption / SSL araya girme sertifikaları) istemci makinelerden kaldırılması ihtiyacıdır.
Bu rehberde; istemci bilgisayarlarda kalan eski kök sertifikaların Active Directory ortamındaki tüm istemcilerden, PowerShell ve Group Policy Object (GPO) kullanılarak otomatik, güvenli ve merkezi bir şekilde nasıl temizleneceğini adım adım ele alacağız.
1. Adım: Silinecek Sertifikanın Parmak İzinin (Thumbprint) Bulunması
PowerShell betiğinin sistemdeki diğer geçerli sertifikalara dokunmadan yalnızca eski sertifikayı hedef alabilmesi için, sertifikaya ait benzersiz kimlik numarasının (Thumbprint) tespit edilmesi gerekir.
- Eski sertifikanın halen yüklü olduğu bir istemci bilgisayarda Windows + R tuşlarına basarak Çalıştır penceresini açın.
- Kutucuğa
certlm.mscyazın ve Enter tuşuna basarak Yerel Bilgisayar Sertifika Yöneticisi‘ni açın. - Sol taraftaki menü ağacından şu yolu izleyin:
Trusted Root Certification Authorities (Güvenilen Kök Sertifika Yetkilileri)➔Certificates (Sertifikalar). - Sağ taraftaki listeden silmek istediğiniz eski sertifikayı bulun ve üzerine çift tıklayarak açın.
- Açılan pencerenin üst kısmındaki Details (Ayrıntılar) sekmesine geçiş yapın.
- Listenin en altına doğru kaydırın ve Thumbprint (Parmak İzi) satırına tıklayın.
- Alt kutuda beliren harf ve rakamlardan oluşan 40 karakterlik kodu seçip kopyalayın.
[!WARNING] Kritik Not: Kopyaladığınız değerin arasındaki boşlukları silerek tamamen bitişik hale getirmelisiniz (Örn:
def18524...). Ayrıca Windows üzerinden kopyalama yaparken metnin en başına gelebilecek gizli/görünmez karakterleri (BOM) temizlemek için kodu önce boş bir Not Defteri’ne yapıştırıp en başındaki olası boşluğu silmeniz önerilir.
2. Adım: PowerShell Betiğinin (Script) Hazırlanması
Tespit edilen parmak izi (Thumbprint) değeri kullanılarak bir temizleme betiği oluşturulur.
- Boş bir Not Defteri (Notepad) açın.
- Aşağıdaki PowerShell kod bloğunu yapıştırın (İçerikteki thumbprint alanına 1. Adımda bulduğunuz bitişik değeri yazın):
# Eski Sertifikayi Sistemden Silme Betigi
$thumbprint = "def185249a8b6f9f0492bc0534f39d29cab425b8"
Get-ChildItem -Path Cert:\LocalMachine\Root | Where-Object {$_.Thumbprint -eq $thumbprint} | Remove-Item -Force
- Dosyayı farklı kaydet diyerek uzantısı
.ps1olacak şekilde (Örneğin:EskiSertifikaSil.ps1) kaydedin. Kayıt türünü “Tüm Dosyalar (.)” yapmayı unutmayın.
3. Adım: Group Policy (GPO) Üzerinden Dağıtım
Hazırlanan scriptin bilgisayarlar açılırken en üst yetkiyle (SYSTEM) çalışması için Startup Script olarak GPO’ya eklenmesi gerekir.
- Domain Controller sunucusunda Group Policy Management konsolunu açın.
- Kuralı uygulamak istediğiniz Organizasyonel Birim’e (OU) sağ tıklayarak Create a GPO in this domain, and Link it here… seçeneğine tıklayın.
- GPO’ya açıklayıcı bir isim verin (Örn:
GPO_Eski_Sertifika_Temizligi) ve onaylayın. - Oluşturulan GPO’ya sağ tıklayıp Edit (Düzenle) seçeneğini seçin.
- Sol menüden şu yolu izleyin:
Computer Configuration➔Policies➔Windows Settings➔Scripts (Startup/Shutdown)➔Startup. - Açılan pencerede üst kısımdaki PowerShell Scripts sekmesine geçiş yapın.
- Alt taraftaki Show Files… (Dosyaları Göster) butonuna tıklayın. Açılan Sysvol ağ klasörünün içerisine 2. Adımda hazırladığınız EskiSertifikaSil.ps1 dosyasını yapıştırın ve bu klasör penceresini kapatın.
- Özellikler penceresine geri dönüp Add… (Ekle) butonuna tıklayın.
- Browse… (Gözat) butonuna basarak az önce klasöre attığınız
.ps1uzantılı script dosyasını seçin. - Tüm pencereleri OK / Apply diyerek kapatın.
4. Adım: Test ve Doğrulama
Sürecin sorunsuz çalıştığından emin olmak için canlı ortamda doğrulama yapılır.
- İlgili OU altındaki bir test bilgisayarında komut satırını (CMD) açarak
gpupdate /forcekomutu ile politikaları güncelleyin. - Bilgisayarı yeniden başlatın (Startup script bilgisayar açılış ekranında devreye girecektir).
- Bilgisayar açıldığında tekrar
certlm.msckonsolunu açarakTrusted Root Certification Authoritiesaltındaki eski sertifikanın kalıcı olarak silindiğini teyit edin.