Two Tier PKI Tasarımı Bölüm-1
Kurumsal bilgi güvenliğinin temel taşlarından biri olan Public Key Infrastructure (PKI), dijital kimliklerin doğrulanması, veri bütünlüğünün sağlanması ve güvenli iletişimin temin edilmesinde kritik bir rol oynamaktadır. Özellikle geniş ölçekli organizasyonlarda, güvenlik, yönetilebilirlik ve sürdürülebilirlik gibi gereksinimler doğrultusunda “Two Tier” (İki Katmanlı) PKI mimarisi tercih edilmektedir.
Bu yapı, üst düzeyde korunan bir Root Certification Authority (Root CA) ile operatif süreçleri yöneten bir veya birden fazla Subordinate (Issuing) Certification Authority (Sub CA) bileşeninden oluşur. Root CA genellikle çevrimdışı konumlandırılarak güvenlik riski minimize edilirken, Sub CA’lar çevrimiçi olarak çalışarak sertifika taleplerini karşılar ve kurum içindeki kimlik doğrulama süreçlerini yürütür. Bu makalede, iki katmanlı PKI mimarisinin temel bileşenleri, tasarım prensipleri, güvenlik uygulamaları ve kurulum aşamaları detaylı bir şekilde inceleyeceğiz.
Two Tier PKI Mimarisi – Topoloji
Bu tasarım, güvenlik ve operasyonel verimliliği ön planda tutan klasik bir iki katmanlı PKI yapısını temsil eder:
- Root CA (Offline) – 192.168.0.100-PKIDC
En üst seviyedeki sertifika otoritesidir ve sistemin güvenlik temeli olarak görev yapar. Çevrimdışı (offline) konumlandırılarak ağ bağlantısı kesilir ve yalnızca Subordinate CA’ları imzalamak gibi kritik işlemler için devreye alınır. Bu sayede saldırılara karşı azami koruma sağlanır. - Subordinate CAs (SubCA1) – 192.168.0.101-PKIES1
Günlük operasyonları yürüten çevrimiçi CA’lardır. Sertifika taleplerini değerlendirir, son kullanıcılar, sunucular ve servisler için dijital sertifikalar üretir.
- SubCA1, doğrudan Online Responder bileşeniyle entegredir.
- SubCA1, doğrudan Online Responder bileşeniyle entegredir.
- Online Responder (OCSP Responder) – 192.168.0.103-PKIOR
SubCA1 ile bağlantılıdır ve istemcilerin bir sertifikanın geçerli olup olmadığını hızlıca kontrol etmesine olanak tanıyan OCSP (Online Certificate Status Protocol) hizmetini sunar. CRL (Certificate Revocation List) sorgularına kıyasla daha düşük gecikme süresi sağlar.
CDP ve AIA için HTTP Web Sunucusunu Hazırlama
PKI altyapısında, istemcilerin sertifika iptal listelerine (CRL) ve sertifika otoritelerinin kimlik bilgilerine (AIA) HTTP üzerinden ulaşabilmesi gerekir. Bu erişimi sağlamak için bir web sunucusu kullanılır.



CRL ve AIA dosyalarının IIS üzerinden yayınlanabilmesi için, bu dosyaların tutulduğu klasör olan CertEnroll, hem paylaşılmalı hem de uygun erişim izinleri verilmelidir.
Klasör Paylaşımı
- C:\CertEnroll klasörü oluşturulur.
- Klasöre sağ tıklanıp Properties > Sharing > Advanced Sharing bölümüne girilir.
- “Share this folder” kutusu işaretlenir.
- Paylaşım adı olarak yine CertEnroll yazılır.
- Permissions butonuna tıklanır.
- Cert Publishers grubuna Read yetkisi verilir.
- Everyone grubuna da sadece Read verilir.
(Varsayılan olarak gelir, silinmesine gerek yoktur.)
NTFS İzinleri
- Aynı klasörde Properties > Security sekmesine geçilir.
- Cert Publishers grubu eklenir.
- Bu gruba Modify ve Write izinleri verilir.
- Users grubuna sadece Read Execute izni yeterlidir.
Bu yapı sayesinde:
- CA sunucusu, CRL ve .crt dosyalarını buraya yazabilir.
- İstemciler yalnızca bu dosyaları okuyabilir.
Bu işlem tamamlandığında, CA sunucusu bu yolu HTTP CDP ve AIA adresi olarak kullanabilir. Bir sonraki adımda certutil komutlarıyla CRL yayımı ve CA konfigürasyonuna bu HTTP yolunun tanımlanması yapılabilir.




Bu işlemlerin ardından Online Responder sunucu için DNS de aşağıdaki A kaydı tanımlıyoruz.

Bu adım ile beraber AIA ve CDP için gerekli ayarlar tamamlandı.
Standalone Offline Root CA Kurulumu
İlk olarak CAPolicy.inf dosyasını aşağıdaki gibi oluşturuyoruz ve “c:\windows” altına kopyalıyoruz.
[Version]
Signature="$Windows NT$"
[PolicyStatementExtension]
Policies=InternalPolicy
[InternalPolicy]
OID= 1.2.3.4.1455.67.89.5
Notice="This CA is governed by the internal PKI policy of Cozumpark Inc."
URL=https://pki.cozumpark.com/cps.html
[Certsrv_Server]
RenewalKeyLength=4096
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
CRLPeriod=weeks
CRLPeriodUnits=26
CRLDeltaPeriod=Days
CRLDeltaPeriodUnits=0
LoadDefaultTemplates=0
AlternateSignatureAlgorithm=0

Kurulum sihirbazında yalnızca Certification Authority kutucuğu seçilir, ardından Next ile devam edilir. Diğer bileşenler Root CA için gerekli değildir.



Role Services
Root CA kurulumu sırasında yalnızca Certification Authority rolü seçilir. Bu sayede sunucu sadece sertifika otoritesi olarak çalışır, ek bileşenler yüklenmez. Güvenlik gereği Root CA üzerinde Online Responder veya Web Enrollment gibi bileşenler kullanılmaz.

Setup Type
Kurulum tipi olarak Standalone CA seçilir. Bu yapılandırma, Root CA’nın Active Directory’den bağımsız çalışmasını sağlar. Genellikle offline tutulan Root CA sunucuları için bu tercih zorunludur.

CA Type
Kurulumda Root CA seçilir. Root CA, PKI hiyerarşisinin en üst katmanını temsil eder ve kendi imzaladığı (self-signed) sertifikayı üretir. İmza yetkisi sadece bu sunucudadır.

Create a new private key seçeneği işaretlenir. Bu seçenek, yeni bir anahtar çifti oluşturur ve CA için eşsiz bir kimlik sağlar. Root CA ilk kez kurulduğu için mevcut bir anahtarın kullanılması tercih edilmez.

Anahtar uzunluğu olarak 4096 bit tercih edilir. Bu değer, güncel güvenlik standartlarına uygun yüksek seviyeli bir şifreleme sağlar.


Validity Period
Root CA için sertifika geçerlilik süresi 20 yıl olarak belirlenmiştir. Bu süre, Root CA’nın imzalayacağı alt sertifikaların geçerlilik süresinden daha uzun olmalıdır. Uzun süreli geçerlilik, Root CA’nın yeniden oluşturulma sıklığını azaltır.


CRL ve Geçerlilik Ayarları
CMD i açarak aşağıdaki satırları sırayla giriyoruz. Aşağıdaki certutil komutlarıyla CRL (Certificate Revocation List) ve sertifika geçerlilik süreleri tanımlanır.
Bu yapılandırmayla:
- CRL dosyası her 52 haftada bir oluşturulur.
- CRL yenileme çakışma süresi 12 saat olarak tanımlanır.
- Root CA tarafından verilen sertifikalar 10 yıl geçerli olur.
Certutil -setreg CA\DSConfigDN "CN=Configuration,DC=cozumpark,DC=com"
Certutil -setreg CA\CRLPeriodUnits 52
Certutil -setreg CA\CRLPeriod "Weeks"
Certutil -setreg CA\CRLDeltaPeriodUnits 0
Certutil -setreg CA\CRLOverlapPeriodUnits 12
Certutil -setreg CA\CRLOverlapPeriod "Hours"
Certutil -setreg CA\ValidityPeriodUnits 10
Certutil -setreg CA\ValidityPeriod "Years"
Denetim (Audit) Ayarları
Yerel güvenlik ilkelerinde Audit object access ayarı hem başarılı hem de başarısız erişim denemeleri için etkinleştirilmiştir. Bu sayede sertifika veritabanı dosyalarına yapılan erişimler takip altına alınabilir. PKI ortamında güvenlik açısından kritik bir adımdır.

Yine CMD ile aşağıdaki komutu giriyoruz.
Certutil -setreg CA\AuditFilter 127
Bir PKI altyapısında sertifikaların güvenli bir şekilde doğrulanabilmesi için istemcilerin belirli bilgilere erişebilmesi gerekir. Bu doğrulama sürecini sağlayan iki temel bileşen AIA (Authority Information Access) ve CDP (CRL Distribution Point) noktalarıdır.
AIA yapılandırması, istemcilerin sertifikayı imzalayan sertifika otoritesine (CA) ait bilgileri doğrulayabilmesini sağlar. Özellikle sertifika zincirinin uçtan köke kadar eksiksiz tamamlanabilmesi için CA sertifikasının istemcilere ulaşması gerekir.
CDP ise istemcilerin, bir sertifikanın iptal edilip edilmediğini kontrol edebilmesi için kullanılır. Bu işlem, CRL (Certificate Revocation List) dosyaları aracılığıyla gerçekleştirilir. Sertifika iptal edildiyse, istemci bu bilgiyi CDP üzerinden öğrenebilir ve sertifikaya güvenmeyi reddeder.
Aşağıdaki komutları kendi ortamınıza göre düzenleyip CMD üzerinden giriniz.
AIA Config
certutil -setreg CA\CACertPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\ %1_%3%4.crt\n2:ldap:///CN=%7,CN=AIA,
CN=Public Key Services,CN=Services,%6%11\n2:http://pki.cozumpark.com/CertEnroll/%1_%3%4.crt"

CDP Config
certutil -setreg CA\CRLPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%3%8%9.crl\n10:ldap:///CN=%7%8,CN=%2,
CN=CDP,CN=Public Key Services,CN=Services,%6%10\n2:http://pki.cozumpark.com//CertEnroll/%3%8%9.crl"

net stop certsvc
Net start certsvc
certutil -crl
Bu adım ile beraberRootPKI kurulumu ve ayarları tamalandı makalenin diğer serisinde devam edeceğiz.










Eline sağlık Sait.