Windows Server 2022’de AD CS Enterprise Root CA Kurulumu ve Sertifika Doğrulama Adımları
Windows Server 2022’de AD CS Enterprise Root CA Kurulumu ve Sertifika Doğrulama Adımları
Kurumsal ağlarda kullanıcıların, bilgisayarların, sunucuların ve servislerin güvenli bir şekilde kimlik doğrulaması yapabilmesi için yalnızca Active Directory altyapısı yeterli olmayabilir. Özellikle SSL/TLS, VPN, 802.1X, Wi-Fi kimlik doğrulaması, IPsec, S/MIME, EFS ve istemci sertifikası gibi senaryolarda bir PKI (Public Key Infrastructure) altyapısına ihtiyaç duyulur.
Microsoft ortamlarında bu yapı Active Directory Certificate Services (AD CS) rolü ile sağlanır. AD CS, kurum içerisindeki sertifikaların oluşturulması, imzalanması, dağıtılması, yenilenmesi ve gerektiğinde iptal edilmesini sağlar.
Bu makalede Windows Server 2022 üzerinde Enterprise Root CA kurulumu, temel yapılandırması, sertifika talebi oluşturulması ve sertifika zincirinin doğrulanmasını adım adım gerçekleştireceğiz.
1. AD CS Nedir?
Active Directory Certificate Services, Windows Server üzerinde çalışan Microsoft PKI altyapısıdır. Bir Certificate Authority (CA), kurum içerisinde oluşturulan dijital sertifikaların güvenilir bir otorite tarafından imzalanmasını sağlar.
AD CS ile oluşturulan sertifikalar aşağıdaki sistemlerde kullanılabilir:
- HTTPS / SSL / TLS
- VPN kimlik doğrulaması
- 802.1X kablolu ve kablosuz ağ doğrulaması
- IPsec
- S/MIME e-posta imzalama ve şifreleme
- EFS dosya şifreleme
- Smart Card Logon
- Bilgisayar ve kullanıcı sertifikaları
- Web sunucuları
- RADIUS / NPS
- Kurumsal uygulamalar
Microsoft'un güncel dokümantasyonuna göre AD CS, Windows Server 2022 dahil desteklenen Windows Server sürümlerinde PKI sertifikalarının oluşturulması ve yönetilmesi amacıyla kullanılmaktadır.
2. Enterprise Root CA Nedir?
Bir PKI yapısının en üst noktasında Root Certificate Authority bulunur. Root CA'nın oluşturduğu sertifika kendisi tarafından imzalanır ve güven zincirinin başlangıç noktasını oluşturur.
Enterprise Root CA'nın Standalone Root CA'dan temel farkı Active Directory ile doğrudan entegre çalışmasıdır.
- Active Directory Certificate Template yapılarını kullanabilir.
- Domain kullanıcı ve bilgisayarlarına otomatik sertifika dağıtabilir.
- Group Policy ile Auto Enrollment kullanılabilir.
- CA sertifikası domain içerisindeki istemcilere dağıtılabilir.
- Active Directory üzerinden yetkilendirme yapılabilir.
3. Kurulum Öncesi Gereksinimler
Kuruluma başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun.
- Windows Server 2022
- Active Directory Domain Services altyapısı
- Sunucunun domaine dahil olması
- Statik IP adresi
- Doğru DNS yapılandırması
- Güncel Windows Update yamaları
- Domain Admin / Enterprise Admin yetkisi
Örnek yapımız:
Domain : sabancicek.local
CA Server : CA01
FQDN : CA01.sabancicek.local
IP : 192.168.1.20
CA Name : SABANCICEK-ROOT-CA
İşletim Sistemi: Windows Server 2022
4. Sunucuya Statik IP Verilmesi
Certificate Authority olacak sunucunun IP adresinin değişmemesi önemlidir. Bu nedenle sunucuya statik IP verilmesini tavsiye ederim.
Örnek:
IP Address : 192.168.1.20
Subnet : 255.255.255.0
Gateway : 192.168.1.1
DNS : 192.168.1.10
DNS olarak doğrudan kurum içerisindeki Active Directory DNS sunucusunun kullanılması daha doğru olacaktır.
5. AD CS Rolünün Server Manager ile Kurulması
Windows Server üzerinde Server Manager uygulamasını açın.
Sırasıyla:
Server Manager
→ Manage
→ Add Roles and Features
Role-based or feature-based installation seçeneğini seçerek devam edin.
Kurulum yapılacak sunucuyu seçtikten sonra Server Roles ekranında:
Active Directory Certificate Services
rolünü işaretleyin.
Gelen ekranda:
Add Features
seçeneğine tıklayın.
Role Services bölümünde ilk aşamada yalnızca:
Certification Authority
seçeneğinin kurulması yeterlidir.
Daha sonra ihtiyaca göre şu servisler de eklenebilir:
- Certification Authority Web Enrollment
- Online Responder
- Network Device Enrollment Service
- Certificate Enrollment Web Service
- Certificate Enrollment Policy Web Service
6. PowerShell ile AD CS Kurulumu
Aynı işlem PowerShell üzerinden de gerçekleştirilebilir. PowerShell'i Administrator olarak açın.
Install-WindowsFeature -Name ADCS-Cert-Authority -IncludeManagementTools
Rol kurulduktan sonra Enterprise Root CA oluşturmak için:
Install-AdcsCertificationAuthority -CAType EnterpriseRootCA
Microsoft'un resmi AD CS dokümantasyonunda da Enterprise Root CA kurulumu için bu PowerShell yöntemi kullanılmaktadır.
7. AD CS Post-Deployment Configuration
Rol kurulumu tamamlandıktan sonra Server Manager üzerinde sağ üst bölümde bulunan bildirim ikonuna tıklayın.
Ardından:
Configure Active Directory Certificate Services
on the destination server
seçeneğini açın.
8. AD CS Yetkilendirme Hesabı
Credentials ekranında yapılandırmayı gerçekleştirecek hesabı seçin.
Enterprise CA kurulumu gerçekleştirileceğinden yeterli Active Directory yetkilerine sahip bir hesap kullanılmalıdır.
Örneğin:
SABANCICEK\Administrator
9. Role Services Seçimi
Role Services ekranında:
Certification Authority
işaretlenir.
10. Enterprise CA Seçimi
Setup Type ekranında iki seçenek bulunur:
- Enterprise CA
- Standalone CA
Active Directory ile entegre çalışacağımız için:
Enterprise CA
seçeneğini işaretliyoruz.
11. Root CA Seçimi
CA Type ekranında:
- Root CA
- Subordinate CA
seçenekleri bulunacaktır.
Bu sunucu PKI yapımızın en üst sertifika otoritesi olacağı için:
Root CA
seçilir.
12. Private Key Oluşturulması
Private Key ekranında:
Create a new private key
seçeneğini seçiyoruz.
Private Key, CA'nın oluşturduğu tüm sertifikaları imzalayacağından PKI altyapısının en kritik bileşenlerinden biridir.
13. Kriptografi Ayarları
Cryptography ekranında CA'nın kullanacağı anahtar ve hash algoritması belirlenir.
Örnek yapılandırma:
Cryptographic Provider:
RSA#Microsoft Software Key Storage Provider
Key Length:
4096
Hash Algorithm:
SHA256
4096-bit RSA özellikle Root CA için güçlü ve yaygın bir seçimdir. Ancak kurumunuzun kullandığı eski sistem ve uygulamalar varsa uyumluluk kontrolü yapılmalıdır.
14. CA İsminin Belirlenmesi
Configure CA Name ekranında CA için anlamlı ve uzun süre değişmeyecek bir isim belirlenmelidir.
Örneğin:
SABANCICEK-ROOT-CA
15. CA Sertifika Geçerlilik Süresi
Root CA sertifikasının geçerlilik süresi normal sunucu sertifikalarına göre daha uzun belirlenir.
Örneğin:
Validity Period:
10 Years
Buradaki süre kurumun PKI politikasına göre belirlenmelidir. CA sertifikasının süresi dolmadan önce yenileme planlaması yapılmalıdır.
16. Certificate Database Konumu
Bir sonraki ekranda CA Database ve log dosyalarının konumu belirlenir.
Varsayılan değerler:
C:\Windows\System32\CertLog
Küçük yapılarda varsayılan konum kullanılabilir. Daha yoğun çalışan CA sistemlerinde database ve log dosyalarının ayrı disklerde tutulması tercih edilebilir.
17. Kurulumun Tamamlanması
Confirmation ekranında seçilen ayarları kontrol edin ve:
Configure
butonuna basın.
Yapılandırma tamamlandığında:
Configuration succeeded
mesajı görüntülenmelidir.
18. Certification Authority Konsolunun Açılması
CA yönetim konsolunu açmak için:
Win + R
certsrv.msc
komutunu çalıştırın.
Aşağıdaki bölümler görüntülenecektir:
- Revoked Certificates
- Issued Certificates
- Pending Requests
- Failed Requests
- Certificate Templates
19. Root CA Sertifikasını Kontrol Etmek
Sunucunun Root Certificate Store alanını görüntülemek için:
certlm.msc
komutunu çalıştırın.
Ardından:
Trusted Root Certification Authorities
→ Certificates
bölümünü açın.
Oluşturduğumuz:
SABANCICEK-ROOT-CA
sertifikasını burada görebilmeliyiz.
20. CA Yapılandırmasını Certutil ile Kontrol Etmek
Komut satırını Administrator olarak açın.
certutil -config - -ping
Bu komut Active Directory içerisinde yayınlanmış Certificate Authority sunucularını görmemizi ve CA ile iletişim durumunu test etmemizi sağlar.
CA bilgilerini görüntülemek için:
certutil -getreg CA
CA sertifikalarını görüntülemek için:
certutil -ca.cert
21. Test Amaçlı Bilgisayar Sertifikası Oluşturma
AD CS altyapısının doğru çalıştığını test etmek için domain üyesi bir bilgisayardan sertifika talebi oluşturabiliriz.
İstemci bilgisayarda:
Win + R
mmc
komutunu çalıştırın.
Ardından:
File
→ Add/Remove Snap-in
→ Certificates
→ Computer Account
→ Local Computer
seçimlerini yapın.
22. Sertifika Talebi Oluşturulması
MMC içerisinde:
Certificates
→ Personal
→ Certificates
bölümüne gidin.
Sağ tıklayın:
All Tasks
→ Request New Certificate
Active Directory Enrollment Policy görüntülenecektir.
Örneğin:
Computer
template'i seçilerek sertifika talebi gönderilebilir.
İşlem başarılı olduğunda:
Certificate Enrollment
Status: Succeeded
mesajını görmeliyiz.
23. Oluşturulan Sertifikanın Kontrolü
Sertifikayı çift tıklayarak:
Certification Path
sekmesine geçin.
Sertifika zinciri aşağıdakine benzer görünmelidir:
SABANCICEK-ROOT-CA
|
└── CLIENT01.sabancicek.local
Alt bölümde:
This certificate is OK.
mesajı görünüyorsa sertifika zinciri güvenilir kabul edilmektedir.
24. Certutil ile Sertifika Doğrulama
Bir sertifikanın zincir yapısını komut satırından kontrol etmek için:
certutil -verify sertifika.cer
kullanılabilir.
Certutil aracı CA yapılandırmasını görüntüleyebilir ve sertifika, anahtar çifti ve sertifika zinciri doğrulaması yapabilir.
25. Sertifika Zinciri Nasıl Çalışır?
PKI altyapısında istemci yalnızca kendisine verilen sertifikaya bakmaz. Sertifikayı imzalayan otoritenin güvenilir olup olmadığını kontrol eder.
Örneğin iki katmanlı bir yapıda:
ROOT CA
|
└── ISSUING CA
|
└── SERVER CERTIFICATE
İstemci en alttaki sertifikadan başlayarak Root CA'ya kadar tüm zinciri doğrular.
Root CA istemcinin Trusted Root Certification Authorities deposunda bulunuyorsa güven zinciri oluşturulabilir.
26. CRL Nedir?
Bir sertifikanın süresi henüz dolmamış olsa bile güvenlik nedeniyle iptal edilmesi gerekebilir.
Bu bilgiler Certificate Revocation List – CRL içerisinde yayınlanır.
Örneğin:
- Bir sunucunun private key'i çalındıysa
- Bir kullanıcı kurumdan ayrıldıysa
- Bir cihaz kaybolduysa
- Sertifika yanlışlıkla oluşturulduysa
ilgili sertifika iptal edilebilir.
27. CRL Manuel Yayınlama
Certification Authority konsolunda:
Revoked Certificates
→ Sağ Tık
→ All Tasks
→ Publish
seçeneği kullanılabilir.
Komut satırından ise:
certutil -crl
komutu ile yeni CRL oluşturulabilir.
28. Certificate Template Yönetimi
Enterprise CA'nın önemli avantajlarından biri Certificate Template kullanabilmesidir.
Template yönetimini açmak için:
certtmpl.msc
komutunu çalıştırabilirsiniz.
Burada:
- Computer
- User
- Web Server
- Domain Controller Authentication
- Kerberos Authentication
- IPSec
gibi birçok hazır template bulunmaktadır.
29. Web Server Sertifika Template'i Oluşturma
Örneğin IIS sunucuları için özel bir template oluşturmak istiyorsak:
certtmpl.msc
açılır.
Web Server template'i üzerinde sağ tıklanır:
Duplicate Template
seçilir.
Template adı örneğin:
Sabancicek Web Server
olarak belirlenebilir.
Security bölümünde sertifika almasına izin verilecek sunucu veya gruplara:
Read
Enroll
yetkileri verilir.
30. Template'i CA Üzerinde Yayınlama
Certificate Authority konsoluna dönün.
Certificate Templates
→ Sağ Tık
→ New
→ Certificate Template to Issue
oluşturduğumuz:
Sabancicek Web Server
template'ini seçin.
Bu işlemden sonra ilgili sunucular bu template üzerinden sertifika talep edebilir.
31. Group Policy ile Otomatik Sertifika Dağıtımı
Enterprise CA yapısının en güçlü özelliklerinden biri Certificate Auto Enrollment sistemidir.
Group Policy Management açılır:
gpmc.msc
İlgili GPO içerisinde:
Computer Configuration
→ Policies
→ Windows Settings
→ Security Settings
→ Public Key Policies
→ Certificate Services Client - Auto-Enrollment
bölümüne gidilir.
Configuration Model:
Enabled
olarak ayarlanır.
Aşağıdaki seçenekler de etkinleştirilebilir:
Renew expired certificates,
update pending certificates,
and remove revoked certificates
Update certificates that use certificate templates
32. Group Policy Güncelleme
İstemci bilgisayarda:
gpupdate /force
komutu çalıştırılır.
Sertifika enrollment işlemini ayrıca tetiklemek için:
certutil -pulse
komutu kullanılabilir.
33. CA Yedeği Almak
Certificate Authority kurulduktan sonra yapılması gereken en önemli işlemlerden biri yedek almaktır.
CA database yedeği:
certutil -backupDB C:\CABackup
Private Key ve CA sertifika yedeği:
certutil -backupKey C:\CABackup
Alternatif olarak Certification Authority konsolu üzerinden:
CA
→ Sağ Tık
→ All Tasks
→ Back up CA
seçeneği kullanılabilir.
34. Faydalı AD CS Komutları
# CA sunucularını görüntüleme
certutil -config - -ping
# CA yapılandırmasını görüntüleme
certutil -getreg CA
# Yeni CRL oluşturma
certutil -crl
# Sertifika detaylarını görüntüleme
certutil -dump certificate.cer
# Sertifika doğrulama
certutil -verify certificate.cer
# Sertifika enrollment tetikleme
certutil -pulse
# CA database yedeği
certutil -backupDB C:\CABackup
# Private Key yedeği
certutil -backupKey C:\CABackup
35. Enterprise Root CA mı, İki Katmanlı PKI mı?
Küçük ve orta ölçekli yapılarda tek Enterprise Root CA teknik olarak çalışabilir.
Yapı şu şekildedir:
Enterprise Root CA
|
├── Server Certificates
├── Computer Certificates
├── User Certificates
└── VPN Certificates
Daha güvenli kurumsal yapılarda ise:
OFFLINE ROOT CA
|
└── ENTERPRISE ISSUING CA
|
├── Server Certificates
├── User Certificates
├── Computer Certificates
├── VPN
├── Wi-Fi
└── 802.1X
mimarisi tercih edilir.
Bu yapıda Root CA yalnızca Issuing CA sertifikalarını imzalamak veya CRL işlemleri gibi özel durumlarda açılır. Günlük sertifika işlemleri Enterprise Issuing CA tarafından gerçekleştirilir.
36. Güvenlik İçin Öneriler
- CA sunucusunu mümkünse ayrı bir Windows Server üzerinde çalıştırın.
- Üretim ortamında CA'yı Domain Controller üzerine kurmayın.
- CA'ya RDP erişimini sınırlandırın.
- Domain Admin hesaplarının günlük kullanımını azaltın.
- CA database ve Private Key yedeklerini düzenli alın.
- CRL ve AIA erişilebilirliğini düzenli kontrol edin.
- CA üzerindeki başarısız ve başarılı sertifika taleplerini izleyin.
- Certificate Template yetkilerini minimum yetki prensibine göre yapılandırın.
- Gereksiz template'leri yayınlamayın.
- Web Enrollment servisini yalnızca gerçekten gerekiyorsa kurun.
- Root CA private key güvenliğini en yüksek öncelikte tutun.
Sonuç
Windows Server 2022 üzerinde Active Directory Certificate Services kullanarak kurumsal bir PKI altyapısı oluşturmak, yalnızca SSL sertifikası üretmekten çok daha fazlasını sağlar.
Doğru yapılandırılmış bir AD CS altyapısı ile kullanıcı, bilgisayar, sunucu ve ağ cihazlarının kimlik doğrulaması merkezi olarak yönetilebilir. VPN, Wi-Fi, 802.1X, IIS, IPsec ve istemci sertifikası gibi birçok sistem aynı güven zincirini kullanabilir.
Ancak Certificate Authority kurum içerisindeki en kritik güvenlik bileşenlerinden biridir. Bu nedenle özellikle production ortamlarında PKI mimarisi kurulmadan önce Root CA, Issuing CA, CRL, AIA, Certificate Template ve Private Key güvenliği birlikte planlanmalıdır.
Bir sonraki makalede Offline Root CA + Enterprise Issuing CA kullanarak iki katmanlı Microsoft PKI mimarisi oluşturmayı ve sertifika template'leri üzerinden IIS, VPN ve 802.1X sertifikalarının otomatik dağıtımını ele alabiliriz.
Şaban ÇİÇEK
Bilgi Teknolojileri