PKI altyapısı, kurumsal bir Network içinde kimlik doğrulama, veri bütünlüğü, şifreleme ve güven ilişkisini yöneten kriptografik yapıdır. Sertifikaların üretilmesi, imzalanması, yenilenmesi, yayımlanması ve gerektiğinde iptal edilmesi Certification Authority tarafından sağlanır. Microsoft tarafında bu rol, Windows Server 2022 üzerinde Active Directory Certificate Services (AD CS) bileşeni ile sunulur. AD CS ile oluşturulan sertifikalar SSL/TLS, S/MIME, IPsec, EFS, Smart Card Logon, 802.1X tabanlı Network erişim kontrolü, VPN kimlik doğrulaması ve kod imzalama gibi senaryolarda kullanılabilir.
Bir sertifikanın güvenilir kabul edilmesi, sertifikayı imzalayan CA'ya duyulan güvenle başlar. Bu güven ilişkisi Root CA'dan başlayıp Subordinate CA üzerinden kullanıcı, cihaz ya da servis sertifikasına uzanan bir Certificate Chain ile kurulur. İstemci tarafında sertifikanın geçerlilik süresi, Subject ve SAN bilgileri, imza algoritması, Key Usage, Enhanced Key Usage, CRL ya da OCSP iptal durumu ve güvenilir Root CA'ya bağlanıp bağlanmadığı kontrol edilir.
CA kurulumu, basit bir Server Manager rol kurulumu gibi düşünülmemelidir. CA'nın Enterprise ya da Standalone çalışması, Root ya da Subordinate konumda yer alması, Private Key'in korunma şekli, Cryptographic Provider, Key Length, Hash Algorithm, CA certificate validity period, CRL Distribution Point (CDP) ve Authority Information Access (AIA) konumları PKI yapısının sağlıklı çalışmasını doğrudan etkiler. Hatalı tasarlanan bir CA yapısında sertifikalar üretilse bile istemciler sertifika zincirini doğrulayamayabilir veya CRL erişimi başarısız olabilir.
Enterprise CA senaryolarında Certificate Template'ler, Enrollment izinleri, Autoenrollment ayarları, Public Key Services Container'ı, AIA ve CDP yayım noktaları, Group Policy ayarları ve CA'nın Domain'e Join edilmiş olması birlikte değerlendirilmelidir. Sertifika dağıtımının sorunsuz çalışması için istemcilerin CA sertifikasına güvenmesi, CRL dosyalarına erişebilmesi ve Template izinlerinin doğru hesaplara verilmesi gerekir.
Bu makaledeki kurulum, Windows Server 2022 üzerinde Enterprise Root CA tipinde hazırlanmıştır. Bu yapı laboratuvar, test ve küçük ölçekli ortamlarda AD CS davranışını, Certificate Template mantığını ve PKI bileşenlerinin Active Directory ile bütünleşmesini incelemek için uygundur. Üretim ortamlarında ise Offline Root CA ve Online Enterprise Subordinate CA ayrımıyla daha kontrollü bir PKI hiyerarşisi tasarlanmalıdır.
Certification Authority Türleri
Windows Server üzerinde AD CS rolü dört farklı CA tipini destekler. Bu tipler iki ayrı sınıflandırma ekseninde belirlenir. Birinci eksen, CA'nın Active Directory ile entegre çalışıp çalışmadığını belirler. Bu eksende Enterprise CA ve Standalone CA seçenekleri yer alır. İkinci eksen, CA'nın PKI hiyerarşisindeki konumunu belirler. Bu eksende Root CA ve Subordinate CA seçenekleri bulunur. Bu iki eksen birleştiğinde Enterprise Root CA, Enterprise Subordinate CA, Standalone Root CA ve Standalone Subordinate CA olmak üzere dört CA tipi ortaya çıkar.
|
CA Türü |
Active Directory Entegrasyonu |
PKI Hiyerarşisindeki Konumu |
Sertifika Talep Yönetimi |
Yaygın Kullanım Senaryosu |
|
Enterprise Root CA |
Active Directory ile entegre çalışır. Sertifika şablonlarını, kullanıcı ve grup bilgilerini kullanabilir. |
PKI hiyerarşisinin en üstünde yer alır. Kendi sertifikasını kendi özel anahtarıyla imzalar. |
Certificate Template ve AD izinleri üzerinden otomatik veya kontrollü sertifika dağıtımı yapabilir. |
Laboratuvar ortamları, küçük ölçekli yapılar veya tek katmanlı PKI tasarımları. |
|
Enterprise Subordinate CA |
Active Directory ile entegre çalışır. Domain'e Join edilmiş bir Windows Server üzerinde çalışır. |
Bir üst CA tarafından imzalanmış CA sertifikasına sahiptir. Genellikle son kullanıcı ve cihaz sertifikalarını dağıtır. |
Certificate Template, Autoenrollment ve AD tabanlı izinler ile merkezi sertifika yönetimi sağlar. |
Üretim ortamlarında Online Issuing CA olarak kullanılır. |
|
Standalone Root CA |
Active Directory bağımlılığı yoktur. Workgroup veya Offline ortamda çalışabilir. |
PKI hiyerarşisinin en üstünde yer alır. Kendi sertifikasını kendi özel anahtarıyla imzalar. |
Sertifika talepleri varsayılan olarak manuel onay bekler. Certificate Template kullanmaz. |
Üretim ortamlarında Offline Root CA olarak tercih edilir. |
|
Standalone Subordinate CA |
Active Directory bağımlılığı yoktur. Domain dışında veya özel ayrılmış yapılarda çalışabilir. |
Bir üst CA tarafından imzalanmış CA sertifikasına sahiptir. |
Sertifika talepleri manuel süreçlerle yönetilir. Certificate Template kullanmaz. |
AD dışı sistemler, izole PKI yapıları veya özel sertifika dağıtım senaryoları. |
Enterprise CA, Active Directory ile entegre çalışan CA modelidir. Sertifika şablonlarını kullanır ve talepleri, AD üzerindeki kullanıcı ve grup bilgilerine göre değerlendirir, sertifikalarını ve CRL dosyalarını Public Key Services Container üzerinden LDAP yayımı ile dağıtabilir. Bu sebeple Enterprise CA, Domain'e Join edilmiş bir Windows Server üzerinde çalışmak zorundadır. Standalone CA ise AD DS bağımlılığı taşımaz. Workgroup ya da tamamen Offline ortamlarda çalışabilir, Certificate Template kullanmaz ve sertifika taleplerini varsayılan olarak manuel onay bekletir.
• Root CA: PKI hiyerarşisinin en üstünde yer alır ve kendi sertifikasını kendi özel anahtarıyla imzalar. Bu yapı, sertifikanın Subject ve Issuer alanlarının aynı değeri taşımasıyla sonuçlanır ve Self-Signed sertifika olarak adlandırılır.
• Subordinate CA: Hiyerarşide bir üstünde bulunan CA tarafından imzalanmış bir sertifikaya sahiptir. Üretim ortamlarında Subordinate CA genellikle Online Issuing CA olarak konumlandırılır ve kullanıcı, bilgisayar, servis ya da Network cihazları için sertifika dağıtımını üstlenir.
Microsoft, üretim ortamları için iki katmanlı PKI yapısını önerir. Üst katmanda Offline tutulan Standalone Root CA, alt katmanda Online çalışan Enterprise Subordinate CA bulunur. Bu makaledeki tek katmanlı Enterprise Root CA kurulumu ise laboratuvar, test ve küçük ölçekli ortamlar için daha uygundur.
Ön Hazırlık ve Gereksinimler
AD CS rolünün kurulacağı sunucuda kurulum öncesi bazı teknik şartların sağlanmış olması gerekir. Bu şartlar, PKI yayım noktalarına erişim, sertifika doğrulaması, CRL yayımı ve Enterprise CA'nın Active Directory ile doğru bütünleşmesi için önemlidir.
|
Gereksinim |
Açıklama |
Neden Önemli? |
|
Domain Join |
Sunucu, Active Directory Domain'e Join edilmiş olmalıdır. |
Enterprise CA, Certificate Template'leri, AD izinlerini ve Public Key Services container'ını kullanabilmek için Domain üyeliğine ihtiyaç duyar. |
|
Statik IP Adresi |
CA sunucusuna sabit IP adresi tanımlanmış olmalıdır. |
CA, CRL, AIA ve Web Enrollment erişimlerinde istemcilerin tutarlı şekilde aynı sunucuya ulaşabilmesi gerekir. |
|
Sağlıklı DNS Çözümlemesi |
Sunucunun FQDN kaydı doğru çözülmeli, Domain Controller ve istemcilerle DNS iletişimi sorunsuz çalışmalıdır. |
Sertifika doğrulama, LDAP yayımı, Group Policy uygulanması ve CA erişimi DNS bağımlılığı taşır. |
|
Time Sync (NTP) |
Sunucunun zaman senkronizasyonu Domain zaman hiyerarşisiyle uyumlu olmalıdır. |
Sertifikalarda NotBefore ve NotAfter alanları zaman bazlı çalışır. Zaman farkı, sertifikanın geçersiz veya henüz başlamamış görünmesine neden olabilir. |
|
Enterprise Admins Üyeliği |
Kurulumu yapan hesap Enterprise Admins grubuna üye olmalıdır. |
Enterprise CA kurulumu Forest seviyesinde Public Key Services container'ına yazma, NTAuthCertificates container'ını güncelleme ve CA bilgisini AD içinde yayımlama işlemleri yapar. |
|
Root Domain Domain Admins Üyeliği |
Kurulumu yapan hesap Root Domain'in Domain Admins grubuna da üye olmalıdır. |
Domain seviyesinde CA yapılandırması, servis kayıtları, izinler ve sertifika servisi bileşenlerinin doğru oluşturulması için gereklidir. |
|
Sunucu Rol Ayrımı |
CA rolü, mümkünse Domain Controller üzerinde değil ayrı bir sunucu üzerinde konumlandırılmalıdır. |
CA private key'i korunması gereken hassas bir bileşendir. CA ve Domain Controller rollerinin ayrılması saldırı yüzeyini azaltır ve yönetimi kolaylaştırır. |
Microsoft, CA rolünün Domain Controller üzerinde konumlandırılmasını önermez. CA sunucusunun ayrı bir sunucuda tutulması saldırı yüzeyini azaltır, private key korumasını kolaylaştırır ve PKI yönetimini daha kontrollü hale getirir. Üretim ortamlarında CA sunucusu Tier 0 asset olarak değerlendirilmelidir.
Kullanılan Ortam ve Parametreler
Bu kurulum, abc.local Active Directory Domain'i üzerinde TRISTSRVCER01 isimli Windows Server 2022 Standard sunucusu üzerinde gerçekleştirilmiştir. CA için seçilen Common Name değeri ABC-Corporate-Root-CA olarak belirlenmiştir. Bu isimde sunucu Hostname'i bilinçli olarak yer almamıştır. Hostname; donanım yenilemesi, taşıma ve yeniden adlandırma gibi operasyonlarda değişebilir. CA ismi ise sertifikanın imzalandığı andan itibaren kalıcıdır ve sonradan değiştirilemez. Hostname'e bağlı bir CA ismi, sunucu değiştiği anda kurumsal anlamını yitirir. Kurumsal kimliği temsil eden bir Common Name ise sertifikaların ömrü boyunca tutarlı kalır.
Common Name içerisinde kelime ayrımı için boşluk yerine tire karakteri kullanılmıştır. Boşluk içeren CA isimleri certutil, PowerShell ve AIA ile CDP URL'leri içinde tırnak işareti gerektirir, otomasyon ve script senaryolarında okunabilirliği azaltır. Tire ile birleşik yazılan kelimeler bu sorunu ortadan kaldırır.
|
Parametre |
Değer |
Açıklama |
|
Hostname |
TRISTSRVCER01 |
CA sunucusunun Hostname bilgisidir. |
|
Domain |
abc.local |
Sunucunun üyesi olduğu Active Directory Domain bilgisidir. |
|
FQDN |
TRISTSRVCER01.abc.local |
Hostname ile Domain bilgisinin birleşiminden oluşan tam ağ adıdır. |
|
IP Adresi |
10.10.10.210 |
Sunucuya tanımlı statik IP adresidir. |
|
CA Common Name |
ABC-Corporate-Root-CA |
CA için belirlenen kalıcı isimdir. |
|
CA Type |
Enterprise Root CA |
AD entegre Root CA tipidir. |
|
Cryptographic Provider |
RSA#Microsoft Software Key Storage Provider |
CA Private Key için kullanılan Provider bilgisidir. |
|
Hash Algorithm |
SHA256 |
CA sertifikasının imzalama algoritmasıdır. |
|
Key Length |
RSA 2048 bit |
CA Private Key uzunluğudur. |
|
Validity Period |
5 yıl |
CA sertifikasının geçerlilik süresidir. |
|
Çalışma Dizini |
C:\Temp |
Export ve dump dosyaları için kullanılan dizindir. |
CA Common Name, Configuration Wizard içinde onaylandığı andan itibaren değiştirilemez. Bu isim sertifikanın Subject ve Issuer alanına, PKI Container'larına ve AIA ile CDP URL'lerine kalıcı olarak gömülür. İsim değişikliği CA'nın kaldırılıp yeniden kurulmasını gerektirir ve mevcut sertifika yapısını etkiler.
Bölüm 1. AD CS Rolünün Kurulumu
AD CS rolünün kurulumu Server Manager üzerinden gerçekleştirilir. Sunucuya Domain Admin veya Enterprise Admin yetkili bir hesapla giriş yapıldıktan sonra Server Manager üzerinden sağ üst köşedeki Manage menüsünden Add Roles and Features seçeneği tıklanır.
Açılan Add Roles and Features Wizard ekranında Before You Begin sayfası atlanabilir. Installation Type sayfasında varsayılan olarak seçili gelen Role-based or feature-based installation seçeneği işaretli bırakılır ve devam edilir.
Server Selection sayfasında rolün kurulacağı sunucu seçilir. Bu makalede TRISTSRVCER01.abc.local sunucusu üzerinde kurulum yapıldığı için bu sunucu seçili olarak işaretlenmiş şekilde gelir.
Server Roles sayfasında listede yer alan Active Directory Certificate Services seçeneği işaretlenir. İşaretleme yapıldığında AD CS rolünün yönetimi için gerekli Certification Authority Management Tools bileşeninin de eklenmesi gerektiğini bildiren bir uyarı penceresi açılır. Add Features butonuna tıklanarak yönetim araçları kurulum kapsamına dahil edilir. Yönetim araçları eklendikten sonra Active Directory Certificate Services seçeneğinin işaretli hale geldiği görülür.
Features sayfasında ek bir Feature seçimi yapılmasına gerek yoktur. Varsayılan değerler ile devam edilir.
AD CS bilgilendirme sayfasında, Certificate Authority kurulduktan sonra Hostname'in ve Domain üyeliğinin değiştirilemeyeceği uyarısı yer alır. Bu uyarı önemlidir çünkü CA sertifikası içerisindeki Issuer ve Subject alanları sunucunun mevcut isim ve Domain bilgilerini içerir.




CA kurulduktan sonra sunucunun Hostname'i, Domain üyeliği ve FQDN bilgileri değiştirilmemelidir. Bu bilgiler sertifikanın imzalandığı anda Issuer alanına gömülür. Sunucu üzerinde gerekli tüm sistem ve isim ayarlarının kurulum öncesinde tamamlanmış olması gerekir.
Role Services sayfasında AD CS altındaki alt servisler listelenir. Bu makalede yapılandırılacak servisler Certification Authority ve Certification Authority Web Enrollment servisleridir. Certification Authority, CA'nın temel servisidir ve sertifika veren ana bileşendir. Certification Authority Web Enrollment ise tarayıcı tabanlı bir arayüz üzerinden sertifika talebi yapılmasını sağlar.

Certification Authority Web Enrollment, sertifika taleplerinin tarayıcı üzerinden PKCS #10 formatında gönderilmesini sağlar. Bu servis HTTPS bağlantısı gerektirir. Aksi halde In order to complete certificate enrollment, the website for the CA must be configured to use HTTPS authentication hatası alınır. Bu servis IIS bağımlılığı taşıdığı için kurulum sırasında Web Server (IIS) rolü de otomatik olarak eklenir.
Web Enrollment servisi seçildiği için ardından Web Server Role (IIS) bilgilendirme sayfası ve onun altında Role Services sayfası gelir. Bu sayfada IIS için gerekli olan Web Server bileşenleri varsayılan olarak seçili gelir ve ek değişiklik yapılmadan ilerlenir.
Confirmation sayfasında kurulacak rol ve servislerin özeti yer alır. Listede Active Directory Certificate Services altında Certification Authority ve Certification Authority Web Enrollment, Remote Server Administration Tools altında Certification Authority Management Tools, Web Server (IIS) altında ise gerekli IIS bileşenleri görüntülenir. Install butonuna tıklanarak kurulum başlatılır.
Kurulum işlemi başlar ve Installation progress sayfasından izlenir. Bu aşamada kurulum süresince ek bir kullanıcı etkileşimi gerekmez.
Kurulum tamamlandığında üst kısımda yer alan Configuration required. Installation succeeded on TRISTSRVCER01.abc.local ifadesi, rolün kurulduğunu ancak yapılandırmanın henüz yapılmadığını belirtir. Aynı ekranda Configure Active Directory Certificate Services on the destination server bağlantısı da yer alır.



AD CS rolünün kurulumu iki aşamadan oluşur. Birinci aşama rolün ve binary dosyaların sisteme yüklenmesidir. İkinci aşama Post-Deployment Configuration adı verilen ve CA Type, Cryptographic Provider, CA Common Name, Validity Period gibi PKI'a özgü parametrelerin belirlendiği Configuration Wizard aşamasıdır. Birinci aşama tamamlandığında CA servisi henüz oluşturulmuş olmaz. Configuration Wizard çalıştırılmadan certsrv.msc veya certutil komutları kullanılırsa hata alınır.
Bölüm 2. CA Configuration Öncesi Durum
AD CS rolü Server Manager üzerinden kurulduktan sonra CA servisi henüz tam olarak oluşturulmuş olmaz. Bu aşamada sisteme rol binary dosyaları yüklenmiş, gerekli yönetim araçları eklenmiş ve Web Enrollment seçildiyse IIS bileşenleri kurulmuş olur. Ancak CA Type, CA Common Name, Cryptographic Provider, Key Length, Hash Algorithm ve Validity Period gibi PKI parametreleri henüz belirlenmediği için CertSvc servisi kullanılabilir durumda değildir.
Bu nedenle rol kurulumu tamamlandıktan hemen sonra certsrv.msc konsolu açılmak istenirse Microsoft Active Directory Certificate Services uyarı penceresinde Cannot manage Active Directory Certificate Services. The system cannot find the file specified. 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND) hatası alınır. Bu hata bir bozulma veya eksik kurulum belirtisi değildir. CA Configuration adımı tamamlanmadığı için yönetim konsolu bağlanabileceği aktif bir CA servisi bulamaz.

Bu hata, AD CS rolünün kurulmuş ancak CA Configuration işleminin henüz tamamlanmamış olduğunu gösterir. Certificate Services yönetim konsolunun çalışabilmesi için önce AD CS Configuration Wizard tamamlanmalı ve CertSvc servisi oluşturulmalıdır.
Bölüm 3. AD CS Configuration Wizard
AD CS rolü kurulduktan sonra çalıştırılması gereken Post-Deployment Configuration aşaması, AD CS Configuration Wizard üzerinden yürütülür. Server Manager üst tarafında bulunan sarı uyarı bayrağına tıklanır. Açılan Post-deployment Configuration bildirimi içerisindeki Configure Active Directory Certificate Services on the destination server bağlantısı seçilerek Wizard başlatılır.

Wizard açıldığında ilk olarak Credentials sayfası görüntülenir. Bu sayfada hangi izin seviyesinin hangi rol servisi için gerekli olduğu belirtilir. Enterprise Certification Authority kurulumu için kullanılan hesabın Enterprise Admins grubuna üye olması gerekir. Bu makalede ABC\Administrator hesabı kullanılmıştır.
Credentials sayfasında AD CS rol servislerini yapılandıracak hesabın izin seviyesi gösterilir. Enterprise Certification Authority kurulumu için kullanılan hesabın Enterprise Admins grubuna üye olması gerekir. Bu makalede ABC\Administrator hesabı kullanılmıştır.

Role Services sayfasında bu yapılandırma sırasında ayarlanacak servisler işaretlenir. Önceki adımda rol kurulumu sırasında Certification Authority ve Certification Authority Web Enrollment seçildiği için her ikisi de listelenir ve işaretli olarak gelir.

Setup Type sayfasında CA'nın Active Directory ile entegre çalışacak şekilde Enterprise CA olarak kurulup kurulmayacağı belirlenir. Sunucu Domain'e Join edilmiş olduğu ve sertifika dağıtımı sırasında AD entegrasyonundan faydalanılacağı için Enterprise CA seçeneği işaretlenir.

CA Type sayfasında kurulacak CA'nın hiyerarşideki konumu belirlenir. Hiyerarşinin en üstünde yer alacak Self-Signed Root CA olduğu için Root CA seçeneği işaretlenir. Eğer hiyerarşide üst seviyede başka bir CA bulunsaydı bu noktada Subordinate CA tercih edilir ve üst CA'dan sertifika talep edilirdi.

Private Key sayfasında CA'nın kimliğini oluşturan özel anahtarın nasıl üretileceği belirlenir. Yeni kurulan bir CA olduğu için Create a new Private Key seçeneği işaretlenir. Var olan bir CA'nın HSM'den taşınması veya yeniden kurulumu sırasında ise Use existing Private Key seçenekleri kullanılır.

Cryptography for CA sayfasında özel anahtarın hangi Cryptographic Provider ile saklanacağı, anahtar uzunluğu ve sertifika imzalama için kullanılacak Hash Algorithm seçilir. Yazılım tabanlı varsayılan Provider olan RSA#Microsoft Software Key Storage Provider seçili kalır. Bu kurulumda Key Length 2048, Hash Algorithm SHA256 olarak belirlenir. Bu ekranda listelenen Hash Algorithm ve Key Length seçenekleri benzer görünse de her biri farklı güvenlik, uyumluluk ve performans etkisine sahiptir. Bu nedenle seçenekleri ayrı ayrı değerlendirmek, CA tasarımının doğru anlaşılması açısından önemlidir.

Aşağıdakli tablolarda listelenen Hash Algorithm ve Key Length seçenekleri benzer görünse de her biri farklı güvenlik, uyumluluk ve performans etkisine sahiptir. Bu nedenle seçenekleri ayrı ayrı değerlendirmek, CA tasarımının doğru anlaşılması açısından önemlidir.
|
Hash Algorithm |
Açıklama |
Kullanım Değerlendirmesi |
|
SHA256 |
SHA-2 ailesinin 256 bit hash üreten algoritmasıdır. Modern Windows PKI yapılarında CA sertifikası ve verilen sertifikaların imzalanması için yaygın olarak kullanılır. |
Bu kurulum için tercih edilen algoritmadır. Güvenlik ve uyumluluk açısından güncel kurumsal senaryolar için dengeli bir seçimdir. |
|
SHA384 |
SHA-2 ailesinde 384 bit hash çıktısı üreten algoritmadır. SHA256'ya göre daha uzun hash değeri üretir. |
Daha yüksek güvenlik beklentisi olan yapılarda değerlendirilebilir. Ancak istemci, uygulama ve cihaz uyumluluğu ayrıca kontrol edilmelidir. |
|
SHA512 |
SHA-2 ailesinin 512 bit hash çıktısı üreten algoritmasıdır. En uzun SHA-2 hash değerlerinden birini sağlar. |
Her ortam için varsayılan seçim olarak düşünülmemelidir. Eski istemci, eski uygulama veya bazı Network cihazlarıyla uyumluluk sorunu oluşturabilir. |
|
SHA1 |
Eski PKI yapılarında kullanılan hash algoritmasıdır. Çakışma saldırılarına karşı zayıfladığı için modern sertifika yapılarında güvenli kabul edilmez. |
Yeni CA kurulumlarında kullanılmamalıdır. Geriye dönük uyumluluk dışında tercih edilmesi doğru değildir. |
|
MD5 |
Eski ve kriptografik olarak zayıf bir hash algoritmasıdır. Sertifika imzalama senaryoları için güvenli değildir. |
Kullanılmamalıdır. Modern PKI tasarımlarında güvenli bir seçenek olarak değerlendirilmez. |
|
Key Length |
Açıklama |
Kullanım Değerlendirmesi |
|
512 bit |
Çok eski RSA anahtar uzunluğudur. Güncel güvenlik beklentilerini karşılamaz. |
Kullanılmamalıdır. Sertifika imzalama için güvenli kabul edilmez. |
|
1024 bit |
Eski sistemlerde karşılaşılan RSA anahtar uzunluğudur. Güncel PKI dağıtımları için zayıf kabul edilir. |
Yeni CA kurulumlarında tercih edilmemelidir. Güvenlik seviyesi modern kurumsal ihtiyaçlar için yeterli değildir. |
|
2048 bit |
Güncel kurumsal PKI kurulumlarında yaygın kullanılan RSA anahtar uzunluğudur. Güvenlik, performans ve uyumluluk arasında dengeli bir yapı sağlar. |
Bu kurulumda seçilen değerdir. Laboratuvar, test ve birçok kurumsal senaryo için uygun bir başlangıç değeridir. |
|
4096 bit |
2048 bit'e göre daha güçlü RSA anahtar uzunluğu sağlar. İmzalama işlemleri daha fazla işlem gücü gerektirebilir. |
Daha uzun ömürlü Root CA veya yüksek güvenlik beklentisi olan yapılarda değerlendirilebilir. Performans, uyumluluk ve operasyonel etki ayrıca planlanmalıdır. |
Bu kurulumda SHA256 ve 2048 bit RSA değeri tercih edilmiştir. SHA1 ve MD5 yeni PKI kurulumları için uygun değildir. 512 bit ve 1024 bit RSA anahtar uzunlukları da güncel güvenlik beklentilerini karşılamaz. Daha yüksek güvenlik ihtiyacı olan yapılarda 4096 bit RSA veya ECDSA P-256 gibi seçenekler değerlendirilebilir. Üretim ortamlarında CA private key'in yazılım tabanlı Provider yerine Hardware Security Module (HSM) üzerinde saklanması daha güvenli bir yaklaşımdır.
CA Name sayfası, bu kurulumun en önemli adımlarından biridir. Wizard varsayılan olarak Domain bilgisi ve Hostname'den türetilmiş bir Common Name önerir. Bu makalede önerilen abc-TRISTSRVCER01-CA ismi yerine, kurumsal anlam taşıyan ve Hostname'den bağımsız ABC-Corporate-Root-CA adı tercih edilmiştir. Distinguished name suffix alanında DC=abc,DC=local değeri otomatik olarak yer alır. Bu, AD topolojisindeki Domain bilgisinin DN formatına dönüşmüş halidir. Preview of distinguished name alanında ise tam DN olan CN=ABC-Corporate-Root-CA,DC=abc,DC=local görüntülenir.
Validity Period sayfasında CA sertifikasının geçerlilik süresi belirlenir. Bu kurulumda geçerlilik süresi 5 yıl olarak bırakılmıştır. CA sertifikasının ömrü, onun verdiği son kullanıcı sertifikalarının ömründen daha uzun olmalıdır.
CA Database sayfasında sertifika veritabanı ve log dosyalarının saklanacağı dizinler belirlenir. Varsayılan olarak C:\Windows\system32\CertLog dizini önerilir. Üretim ortamında veritabanı ve log dizininin ayrı bir veri diskinde tutulması yönetim ve yedekleme açısından daha doğru olur.
Confirmation sayfasında önceki adımlarda yapılan seçimlerin özeti yer alır. Bu özette CA Type olarak Enterprise Root, Cryptographic Provider olarak RSA Microsoft Software Key Storage Provider, Hash Algorithm olarak SHA256, Key Length olarak 2048, Distinguished Name olarak CN=ABC-Corporate-Root-CA,DC=abc,DC=local görüntülenir.
Configure butonuna tıklanır ve yapılandırma işlemi başlatılır. İşlem tamamlandığında Results sayfasında hem Certification Authority hem de Certification Authority Web Enrollment için yeşil tikli Configuration succeeded mesajı görüntülenir.



Bölüm 4. Kurulumun Doğrulanması
Kurulumun başarısı tek bir komut veya tek bir ekran üzerinden değil, birden fazla katmanda doğrulanır. Bu yaklaşım hem görsel hem komut satırı hem de kriptografik düzlemde teyit sağlar. Aşağıdaki başlıklar bu üç katmanın her birini ayrı ayrı ele alır.
1. certsrv.msc Konsolundan Görsel Kontrol
Run penceresi açılır ve certsrv.msc komutu çalıştırılır. Konsol açıldığında sol panelde ABC-Corporate-Root-CA nesnesi yeşil tik ile yer alır. CA nesnesinin altında Revoked Certificates, Issued Certificates, Pending Requests, Failed Requests ve Certificate Templates klasörleri görüntülenir. Bu yapı CA servisinin çalıştığının ve yönetim konsolunun bağlandığının ilk görsel kanıtıdır.

2. pkiview.msc ile PKI Sağlık Kontrolü
pkiview.msc, AD CS dağıtımının sağlığını kontrol etmek için Microsoft tarafından sunulan Enterprise PKI aracıdır. Bu araç, hiyerarşideki tüm CA'ların sertifikalarını, AIA Location, CDP Location ve DeltaCRL Location yayım noktalarını tarar ve her birinin erişilebilirlik durumunu raporlar.
Araç açıldığında sol panelde Enterprise PKI altında ABC-Corporate-Root-CA (V0.0) görüntülenir. Sağ panelde ise CA Certificate, AIA Location #1, CDP Location #1 ve DeltaCRL Location #1 satırlarının her birinin Status sütununda OK ifadesi yer alır. Location sütununda ise ldap:///CN=ABC-Corporate-Root-CA,... formatında LDAP URL'leri görünür. Bu LDAP URL'lerinin görünmesi Enterprise CA'nın Active Directory ile entegre çalıştığının ve sertifika ile CRL yayımının LDAP üzerinden başarıyla yapıldığının kanıtıdır.

pkiview.msc çıktısında satırların yanında karşılaşılabilecek diğer status değerleri Unable to Download, Expiring ve Expired olarak sıralanır. Unable to Download durumu, sertifika veya CRL dosyasına yayım noktasından erişilemediğini gösterir. Expiring durumu, sertifika veya CRL'nin yakın zamanda süresinin biteceğini bildirir. Expired durumu ise ilgili nesnenin süresinin geçtiğini ifade eder. Tüm satırlar OK olarak rapor ediliyorsa kurulum sağlık testinden başarıyla geçmiştir.
3. certutil -cainfo ile Komut Satırı Doğrulaması
PowerShell üzerinden certutil -cainfo komutu çalıştırıldığında CA'nın temel yapılandırma bilgileri listelenir.
Komut çıktısında öne çıkan satırlar ve anlamları aşağıdaki tabloda özetlenmiştir.
|
Çıktı Alanı |
Değer |
Anlamı |
CA name: |
ABC-Corporate-Root-CA |
Yapılandırma sırasında belirlenen CA isminin doğru kaydedildiğini gösterir. |
CA type:
ENUM_ENTERPRISE_ROOTCA |
0 -- Enterprise Root CA
0 |
CA'nın Enterprise Root tipinde olduğunu doğrular. |
CA cert[0]: |
3 -- Valid |
CA sertifikası Valid durumdadır. |
CRL[0]: |
3 -- Valid |
CRL dosyası Valid durumdadır. |
DNS Name: |
TRISTSRVCER01.abc.local |
Sunucunun FQDN bilgisini taşır. |
Advanced Server: |
1 |
Windows Server sürümünün advanced özellikleri desteklediğini ifade eder. |

4. CA Properties Üzerinden Cryptographic Settings Kontrolü
certsrv.msc konsolu içerisinde ABC-Corporate-Root-CA üzerine sağ tıklayıp Properties seçildiğinde, CA özelliklerine erişilir. General sekmesinde Cryptographic settings bölümü altında Provider: Microsoft Software Key Storage Provider ve Hash Algorithm: SHA256 bilgileri görüntülenir. Bu, yapılandırma sırasında seçilen değerlerin sertifika imzalama için kullanıldığını doğrular.

Bölüm 5. Root CA Sertifikasının İncelenmesi
CA Properties penceresinde View Certificate butonuna tıklandığında Root CA sertifikasının detaylarına erişilir.
1. Certificate General Sekmesi
General sekmesinde sertifikanın temel kimlik bilgileri yer alır. Issued to: ABC-Corporate-Root-CA ve Issued by: ABC-Corporate-Root-CA satırlarının aynı olması Self-Signed Root sertifikasının göstergesidir. Aynı değerin hem Subject hem Issuer alanına yazılı olması, sertifikanın kendi özel anahtarıyla imzalandığı anlamına gelir. Valid from 5/17/2026 to 5/17/2031 satırı 5 yıllık geçerlilik süresinin uygulandığını gösterir.

2. Certification Path Sekmesi
Certification Path sekmesinde sertifika zinciri görselleştirilir. Root sertifikası söz konusu olduğu için zincirde tek bir öğe yer alır ve bu öğe ABC-Corporate-Root-CA'nın kendisidir. Pencerenin alt kısmında This certificate is OK. mesajı görüntülenir. Bu, sertifika zincirinin tam olduğunu ve sertifikanın güvenilir Root mağazasında bulunduğunu gösterir.

3. Trusted Root Certification Authorities Mağazası
Yerel makine sertifika mağazasında Root CA sertifikasının doğru konuma yerleştirilip yerleştirilmediği kontrol edilir. Run penceresinden certlm.msc komutu çalıştırılır.
Sol paneldeki Trusted Root Certification Authorities dalı altında bulunan Certificates klasörü açıldığında, listenin en üstünde ABC-Corporate-Root-CA isimli sertifikanın iki kez yer aldığı görülür.

Enterprise CA kurulumunda Root CA sertifikasının Trusted Root mağazasında iki kez görünmesi normaldir. Sertifika ilk olarak CA'nın kurulduğu sunucunun yerel makine mağazasına yazılır. Aynı sertifika Enterprise CA olarak Active Directory ile entegre olduğu için Public Key Services Container içindeki Certification Authorities nesnesine de yazılır ve buradan AD üyesi makinelere Group Policy ile dağıtılır. Thumbprint değeri aynı olduğu için aslında aynı sertifika nesnesidir.
Bölüm 6. PowerShell ile Sertifikanın Dışa Aktarılması
Root CA sertifikasını dışa aktarmak için klasik yöntem certutil aracı, modern yöntem ise PowerShell Export-Certificate cmdlet'idir. Bu makalede uygulama PowerShell üzerinden yapılmıştır.
1. Sertifikanın Filtrelenmesi
Yerel makine Root mağazasında Subject ve Issuer alanı eşit olan, yani Self-Signed olan Root sertifikaları filtrelenir. Aşağıdaki PowerShell komutu bu filtreyi uygular.
Get-ChildItem -Path Cert:\LocalMachine\Root |
Where-Object { $_.Subject -eq $_.Issuer -and $_.Subject -like "*$env:USERDOMAIN*" } |
Format-List Subject, Issuer, Thumbprint, NotBefore, NotAfter
Komutta $_.Subject -eq $_.Issuer ifadesi Self-Signed sertifikaları yakalar. $env:USERDOMAIN değişkeni içinde bulunulan Domain'in NetBIOS adını döndürür ve filtreye eklendiği için Microsoft Root CA'larından ayrım sağlar. Format-List kullanımı çıktının kesilmesini önler, her alanı alt alta gösterir.
Komut çalıştırıldığında çıktıda iki ayrı satır yer alır ve her iki satırın Thumbprint değeri B8328E38954DC0E0CBF3D67B86296D7CD3C74B73 olarak birebir aynıdır. Subject sütununda ise her iki satırda da CN=ABC-Corporate-Root-CA, DC=abc, DC=local görünür. İki ayrı kayıt olarak listelenen sertifikanın aslında aynı sertifika olduğu Thumbprint değerlerinin eşitliğinden anlaşılır.

2. System.Object[] Hatası ve Çözümü
Export-Certificate cmdlet'i tek bir sertifika nesnesi bekler. Yukarıdaki filtre Trusted Root mağazasındaki sertifikanın iki kopyasını da döndürdüğü için doğrudan Export-Certificate'a aktarıldığında aşağıdaki hata alınır.
Cannot convert 'System.Object[]' to the type
'Microsoft.CertificateServices.Commands.Certificate'
Bu durum Root CA sertifikasının hem yerel makineden hem de AD replikasyonundan geldiğini gösterir. Çözüm için filtreye Select-Object -First 1 eklenir. Her iki kopyanın Thumbprint değeri aynı olduğu için hangisinin seçildiği fark etmez.
3. Export-Certificate ile Dışa Aktarma
Aşağıdaki komut sertifikayı filtreleyip tek nesneye indirger ve C:\Temp\RootCA.cer dosyasına dışa aktarır.
$cert = Get-ChildItem -Path Cert:\LocalMachine\Root |
Where-Object { $_.Subject -eq $_.Issuer -and $_.Subject -like "*$env:USERDOMAIN*" } |
Select-Object -First 1
Export-Certificate -Cert $cert -FilePath C:\Temp\RootCA.cer
Komut başarıyla çalıştığında PowerShell çıktısında dosyanın oluşturulduğuna dair bilgi yer alır. Mode kısmında -a---- ifadesi dosyanın arşiv özniteliği ile oluşturulduğunu, Length kısmındaki 887 bytes değeri ise sertifikanın DER kodlu binary boyutunu gösterir. Dosya gezgini üzerinden C:\Temp dizini açıldığında oluşan RootCA.cer dosyası Security Certificate türünde görüntülenir.

Klasik yöntem olarak certutil ile aynı işlem aşağıdaki komut ile yapılabilir.
certutil -ca.cert C:\Temp\RootCA.cer
Bu komut CA'nın kendi sertifikasını doğrudan dosyaya yazar. PowerShell yaklaşımı ise filtre ve doğrulama imkanı sunduğu için daha esnek bir yöntemdir.
Bölüm 7. certutil -dump ile Detaylı Sertifika Analizi
Sertifika dosyasının iç yapısını incelemek için certutil -dump komutu kullanılır. Bu komut sertifikanın X.509 alanlarını, extension'larını ve hash değerlerini ASCII olarak yazdırır. Çıktıyı doğrudan ekranda incelemek yerine UTF-8 kodlama ile bir dosyaya aktarmak hem kalıcılık hem de okunabilirlik sağlar.
1. Dump Dosyasının Oluşturulması
Aşağıdaki komut sertifika dump çıktısını UTF-8 kodlamasıyla C:\Temp\RootCA-Dump.txt dosyasına aktarır.
certutil -dump C:\Temp\RootCA.cer | Out-File -FilePath C:\Temp\RootCA-Dump.txt -Encoding UTF8
Çıktı dosyası yaklaşık 5 KB boyutundadır ve üç ana mantıksal bölümden oluşur. Bu bölümler sertifika temel bilgileri, sertifika extension'ları ve hash ile doğrulama çıktıları olarak sınıflandırılabilir.

2. Bölüm A. Sertifika Temel Bilgileri
Dump dosyasının ilk bölümünde sertifikanın temel kimlik bilgileri yer alır. Bu alanlar sertifikanın X.509 sürümünü, benzersiz seri numarasını, imzalama algoritmasını, kim tarafından verildiğini, hangi nesne adına üretildiğini, geçerlilik aralığını ve public key bilgisini gösterir.
|
Dump Alanı |
Değer |
Teknik Anlamı |
|
X509 Certificate: Version |
3 |
Sertifikanın X.509 Version 3 formatında olduğunu gösterir. Version 3, Key Usage, Basic Constraints, Subject Key Identifier, AIA ve CDP gibi extension'ların kullanılmasını sağlar. |
|
Serial Number |
31f9a883444237824a11250152d6395e |
CA tarafından sertifikaya verilen benzersiz seri numarasıdır. Sertifika iptali, takip ve doğrulama işlemlerinde bu değer kullanılır. |
|
Signature Algorithm ObjectId |
1.2.840.113549.1.1.11 sha256RSA |
Sertifikanın SHA256 hash algoritması ve RSA imzalama yöntemiyle imzalandığını gösterir. |
|
Issuer |
CN=ABC-Corporate-Root-CA, DC=abc, DC=local |
Sertifikayı imzalayan CA bilgisidir. Root CA sertifikasında Issuer alanı CA'nın kendi adını taşır. |
|
Subject |
CN=ABC-Corporate-Root-CA, DC=abc, DC=local |
Sertifikanın kime ait olduğunu gösterir. Issuer ve Subject alanlarının aynı olması, bu sertifikanın Self-Signed Root CA sertifikası olduğunu gösterir. |
|
NotBefore |
5/17/2026 1:00 PM |
Sertifikanın geçerli olmaya başladığı tarih ve saattir. |
|
NotAfter |
5/17/2031 1:10 PM |
Sertifikanın geçerliliğinin sona ereceği tarih ve saattir. Bu örnekte CA sertifikası 5 yıllık geçerlilik süresiyle oluşturulmuştur. |
|
Public Key Algorithm ObjectId |
1.2.840.113549.1.1.1 RSA |
Sertifikanın public key algoritmasının RSA olduğunu gösterir. |
|
Public Key Length |
2048 bits |
CA sertifikasının RSA public key uzunluğunu gösterir. Bu değer, kurulum sırasında seçilen 2048 bit Key Length bilgisinin dump çıktısındaki karşılığıdır. |
Bu bilgiler birlikte değerlendirildiğinde sertifikanın X.509 Version 3 formatında, SHA256RSA algoritmasıyla imzalanmış, 2048 bit RSA public key kullanan ve Issuer ile Subject alanları aynı olan Self-Signed bir Root CA sertifikası olduğu doğrulanır.
4. Bölüm C. Hash ve Doğrulama Çıktıları
Dump dosyasının son bölümünde sertifika imzasının bayt dökümü ve doğrulama satırları yer alır.
Signature matches Public Key satırı, sertifikadaki imzanın aynı sertifikadaki public key tarafından doğrulandığını ifade eder. Self-Signed sertifikalarda bu, sertifikanın kendi özel anahtarı ile imzalandığının kriptografik teyididir.
Root Certificate: Subject matches Issuer satırı, sertifikanın Subject alanının Issuer alanı ile birebir eşleştiğini ve bu sertifikanın bir Root sertifikası olduğunu gösterir.
Cert Hash(sha1) ve Cert Hash(sha256) satırları, sertifikanın kendisinin SHA-1 ve SHA-256 hash değerlerini verir. Bu Thumbprint değerleri Windows ortamında bir sertifikayı benzersiz şekilde tanımlamak için kullanılır.
CertUtil: -dump command completed successfully. satırı ile dump işlemi sona erer.

Bölüm 8. PowerShell ile Tek Komutla AD CS Kurulumu
Yukarıdaki tüm adımlar Server Manager üzerinden grafiksel Wizard ile yapıldı. Aynı kurulum PowerShell üzerinden iki komutla da gerçekleştirilebilir. Bu yöntem otomasyon senaryoları, Server Core ortamları ve toplu kurulumlar için tercih edilir.
İlk komut AD CS rolünü ve yönetim araçlarını sunucuya yükler.
Install-WindowsFeature -Name ADCS-Cert-Authority -IncludeManagementTools
İkinci komut ise Configuration Wizard'ın tüm adımlarını parametre olarak alarak Enterprise Root CA yapılandırmasını tamamlar.
$params = @{
CAType = "EnterpriseRootCA"
CACommonName = "ABC-Corporate-Root-CA"
CryptoProviderName = "RSA#Microsoft Software Key Storage Provider"
KeyLength = 2048
HashAlgorithmName = "SHA256"
ValidityPeriod = "Years"
ValidityPeriodUnits = 5
}
Install-AdcsCertificationAuthority @params -Force
Web Enrollment servisi de ayrıca yapılandırılmak istenirse aşağıdaki komut çalıştırılır.
Install-WindowsFeature -Name ADCS-Web-Enrollment -IncludeManagementTools
Install-AdcsWebEnrollment -Force
Install-AdcsCertificationAuthority cmdlet'i çalıştırıldığında PowerShell yönetici hakları ile başlatılmış olmalıdır. Aksi takdirde Access Denied hatası alınır. Cmdlet'in -Force parametresi onay isteme adımını atlar ve script tabanlı kurulumlarda kesintisiz çalışma sağlar. Üretim ortamı senaryolarında parametrelerin script içinde net olarak tanımlanması, Wizard üzerinden yapılacak hataları azaltır.
Kurulum Sonrası Kanıt Özeti
Buraya kadar yapılan doğrulamalar bir tabloda özetlendiğinde, kurulumun farklı katmanlarda teyit edildiği görülür.
|
Kontrol Adımı |
Beklenen Sonuç |
Elde Edilen Sonuç |
|
CA Servisi (certsrv.msc) |
Yeşil tik, aktif CA nesnesi |
ABC-Corporate-Root-CA aktif |
|
PKI Sağlık (pkiview.msc) |
Tüm satırlar OK |
CA, AIA, CDP, DeltaCRL = OK |
|
CA Tipi |
Enterprise Root CA |
CA type 0 ile Enterprise Root CA |
|
Hash Algorithm |
SHA256 |
sha256RSA |
|
Key Length |
RSA 2048+ bit |
RSA 2048 bits |
|
Self-Signed Yapı |
Issuer = Subject |
Subject matches Issuer |
|
Basic Constraints |
Subject Type=CA |
Subject Type=CA, Critical flag |
|
Key Usage |
Certificate Signing, CRL Signing |
Digital Signature, Certificate Signing, Off-line CRL Signing, CRL Signing |
|
Sertifika Geçerliliği |
Valid |
CA cert[0] 3 Valid |
|
CRL Geçerliliği |
Valid |
CRL[0] 3 Valid |
|
AD Entegrasyonu |
ldap:/// URL'leri yayım noktalarında |
LDAP URL'leri AIA, CDP, DeltaCRL alanlarında doğrulandı |
|
İmza Doğrulaması |
Matches Public Key |
Signature matches Public Key |
Sonuç
Bu makalede Windows Server 2022 üzerinde Active Directory Certificate Services rolü ile Enterprise Root CA kurulumu adım adım anlatıldı. Kurulum; certsrv.msc, certlm.msc, pkiview.msc, certutil ve PowerShell çıktılarıyla doğrulandı. Root CA sertifikası ayrıca Basic Constraints, Subject matches Issuer ve Signature matches Public Key gibi kriptografik kanıtlar üzerinden incelendi.
Tek katmanlı Enterprise Root CA, laboratuvar ve küçük ölçekli ortamlar için hızlı bir başlangıç noktasıdır. Üretim ortamında ise iki katmanlı PKI yapısı kurulmalı, Root CA Offline tutulmalı ve sertifika dağıtımı Online Subordinate CA üzerinden yapılmalıdır. CA'nın Domain Controller üzerine kurulmaması, özel anahtarın HSM ile korunması, CA sunucusunun Tier 0 asset olarak sıkılaştırılması, AIA ile CDP yayım noktalarının HTTP üzerinden erişilebilir bir konuma yerleştirilmesi ve sertifika şablonu izinlerinin düzenli aralıklarla gözden geçirilmesi üretim ortamları için doğru yaklaşımdır.
Bu makalenin devamı olarak Certificate Templates yapılandırması, Auto-Enrollment'ın Group Policy ile yapılandırılması, AIA ile CDP extension'larının HTTP'ye taşınması ve Two-Tier PKI hiyerarşisinin kurulması gibi konular ayrı makalelerde ele alınacaktır.
Faydalı olması dileğiyle...
Makale ile ilgili düşüncelerinizi ve sorularınızı aşağıdaki yorum kısmında paylaşmaktan çekinmeyin. Her katkı, içeriğin daha fazla kişiye ulaşmasını ve daha faydalı bir tartışma ortamı oluşmasını sağlar.