Windows Server 2022’de İki Katmanlı PKI Uygulama – Bölüm 2

28 Eyl 2024 | Microsoft, PKI

Windows Server 2022’de İki Katmanlı PKI uygulama kılavuzumuzun 1. Bölümünde PKI’nın temellerini tanıttık, laboratuvar yapılandırmasını kurduk ve çevrimdışı Kök CA’yı oluşturduk. Şimdi, Bölüm 2’de, Alt CA’yı yapılandırma konusunu daha derinlemesine inceleyeceğiz.

Giriş

Devam etmeden önce, bağlamı ve kurulumu anlamak için Bölüm 1‘i okuduğunuzdan emin olun. Unutmayın, bu kılavuz sadece test ve öğrenme amaçlıdır. Bu adımların izlenmesinden kaynaklanabilecek herhangi bir zarardan (mali, fiziksel, duygusal vb.) sorumlu tutulamam. PKI karmaşıktır, bu nedenle başlamadan önce konu hakkında kendi araştırmanızı yapmış olmanız çok önemlidir.

Laboratuvar kurulumu ve ek ayrıntılar için kılavuzun 1. Bölümüne bakın.

Alt (Subordinate) CA Yapılandırması

SubCA’mız zaten pwoks.local etki alanının bir parçasıdır. Yapılandırmaya başlayabiliriz. Önemli: Tüm PKI uygulaması tamamlanana kadar Kök CA’yı kapatmayın!

DNS Yapılandırması:

Etki alanı denetleyicinizde, DNS bölgesine (örneğin, pwoks.local) aşağıdaki CNAME kayıtlarını ekleyin:

  • OCSP.pwoks.local
  • PKI.pwoks.local

Yeni CNAME kaydının diğer adı için OCSP girin (ve ikinci kayıt için PKI girin). CNAME kaydının FQDN alanına, her iki kayıt için de SubCA.pwoks.local (Alt CA’nın adı ve etki alanı) girin.

Yapılandırıldıktan sonra bu şekilde görünmelidir.

DNS configuration in DC for pki and ocsp

Doğru şekilde yapılırsa, bir istemciden pki.pwoks.local veya ocsp.pwoks.local adresine ping atıldığında Alt CA’nın IP’si çözümlenmelidir.

ping test to pki and ocsp

Ardından, bu örnekte SubCA olarak adlandırılan Alt CA’yı yapılandırmaya geçeceğiz.

CAPolicy.inf Dosyasının Oluşturulması:

Tıpkı Kök CA’da olduğu gibi, bir CAPolicy.inf dosyası oluşturun ve Windows’un kök dizinine yerleştirin (C:\Windows\CAPolicy.inf). PEN numaranız varsa, InternalPolicy bölümündeki OID satırını OID=1.3.6.1.4.1.XX (burada XX PEN numaranızdır) olarak değiştirin.

İşte Alt CA için gereken CAPolicy.inf dosyası:

[Version]
Signature=”$Windows NT$”
[PolicyStatementExtension]
Policies = AllIssuancePolicy, InternalPolicy
Critical = FALSE
[AllIssuancePolicy]
OID = 2.5.29.32.0
[InternalPolicy]
OID = 1.2.3.4.1455.67.89.5
Notice = “The Pwoks.local Certification Authority is internal only.”
URL = http://pki.pwoks.local/cps.html
[Certsrv_Server]
RenewalKeyLength = 4096
RenewalValidityPeriod = Years
RenewalValidityPeriodUnits = 5
AlternateSignatureAlgorithm = 0
LoadDefaultTemplates = 1

AD CS Rolünün Yüklenmesi:

Yükleme ve yapılandırma sırasında herhangi bir sorunla karşılaşmamak için Alt CA’da Etki Alanı Yönetici Hesabı (Domain Administrator) olarak oturum açtığınızdan emin olun. Sunucu Yöneticisi’ni açın ve Active Directory Sertifika Hizmetleri rolünü ekleyin.
Add AD CS RoleAçılır pencereyi onaylayın, ardından Sertifika Yetkilisi (Certification Authority) ve Sertifika Yetkilisi Web Kaydı (Certification Authority Web Enrollment)’nı seçin.
Add CA and Web Enrollment role servicesWeb Sunucusu ekranında her şeyi onaylayın ve İleri’ye tıklayın.
Web Server Role Services

Alt CA’nın Yapılandırılması:

Sunucu Yöneticisi’nde, hedef sunucuda Active Directory Sertifika Hizmetlerini Yapılandır’ı seçin. Etki Alanı Yönetici Hesabı‘nı kullanın ve Sertifika Yetkilisi ve Sertifika Yetkilisi Web Kaydı’nı seçin.
Configure AD CS Role Services Aşağıdaki ayarları seçin:

  • Certificate Authority Setup Type: Enterprise CA
  • Certificate Authority Type: Subordinate CA
  • Cryptographic Provider: RSA#Microsoft Software Key Storage Provider
  • Key Length: 4096 Bits
  • Signature Hash Algorithm: SHA256
  • CA Common Name: pwoks-SubCA-CA
  • Validity Period: 5 years

Sertifika talep dosyasını Alt Sunucuya kaydedin.
Save a certificate request file for subordinate ca Beklenen sonuç, oluşturulan .req dosyasını, sertifikayı yayınlamak için Kök CA’ya göndermemiz gerektiğidir.

Alt (Subordinate) Sertifikanın Verilmesi:

Kurulumu doğrulamak için Alt CA’da certsrv.msc dosyasını başlatın. Sertifikayı Kök CA’dan alana kadar hizmet durdurulacaktır. subordinateca service statusAlt CA’da (SubCA), C:\CertData adında bir klasör oluşturun. Kök CA’da oluşturulan .crl ve .crt dosyalarını bu klasöre kopyalayın. .req dosyası da C: sürücüsünün kök dizininde olmalıdır.
Create CertData folder .req dosyasını Alt CA’dan Kök CA’ya aktarın. Kök CA’yı ağ üzerinde tutmak tavsiye edilmediğinden bir USB sürücü kullanın.
Copy Certification Request file to rootCA

SubCA üzerinde CertData Sanal Dizini Oluşturma

IIS Yöneticisi’ni açın. Siteler’i genişletin, Varsayılan Web Sitesi’ne sağ tıklayın ve Sanal Dizin Ekle’yi seçin.
Add CertData virtual directory on IISTakma ad olarak CertData ve fiziksel yol olarak C:\CertData girin. Tamam ile onaylayın. Yeni oluşturulan sanal dizini seçin, Dizin Tarama’ya tıklayın ve etkinleştirin.
Enable Directory Browsing on CertData Değişiklikleri uygulamak için IIS’yi yeniden başlatın. Ve şimdi kurulumu doğrulamamız gerekiyor. Bir istemci makineden, her şeyin doğru kurulduğundan emin olmak için, http://pki.test.local/CertData/ adresine erişin.
CertData IIS access validation

IIS’de Double Escaping Etkinleştirme

Alt CA’daki IIS’de, Varsayılan Web Sitesi’ne gidin. İstek Filtreleme’yi seçin, ardından Özellik Ayarlarını Düzenle’yi seçin. Allow Double Escaping’i etkinleştirin ve Tamam ile onaylayın.
Allow Double Escaping

Alt Sertifika Oluşturma

Kök CA’da, Sertifika Yetkilisi konsolunu (certsrv.msc) açın. Kök CA’yı sağ tıklatın, Tüm Görevler’i ve ardından Yeni istek gönder’i seçin.Submit Cert Request on RootCAC:\RootCA konumuna gidin ve Alt CA’dan .req dosyasını seçin
Select req file

Sertifikanın Oluşturulması:

Kök CA’da, talep kimliğine (örneğin, talep kimliği 2) sağ tıklayın ve Tüm Görevler > Yayınla öğesini seçin.
Issue pending request on RootCASertifika şimdi Verilen Sertifikalar bölümünde görünecektir.
Issued CertificatesGeçerlilik süresi 5 yıl ve RSA 4096 ve SHA256 gibi özellikler gibi ayrıntılarını doğrulamak için sertifikaya çift tıklayın.

Sertifikayı Dışa Aktarma:

Sertifika ayrıntılarını görüntülerken Ayrıntılar sekmesine gidin ve Copy to File… a tıklayın. Exporting CertificateBu, Sertifika Dışa Aktarma Sihirbazını başlatacaktır. İleri’ye tıklayın. .P7B biçimini seçin ve mümkünse sertifika yolundaki tüm sertifikaları dahil et seçeneğini işaretleyin.
Export Certificate file formatDosyayı C:\RootCA klasörüne SubordinateCA.p7b olarak kaydedin.

Sertifikanın SubCA’ya Transferi:

SubordinateCA.p7b dosyasını, şirketinizin güvenlik politikalarına bağlı olarak bir USB sürücü veya ağ kullanarak Kök CA’dan Alt CA’ya (SubCA) aktarın. Dosyayı SubCA’daki C:\ dizinine kopyalayın.
Copy p7b certificate from RootCA to SubordinateCA

CA Sertifikasını Alt CA’ya Yükleme:

Alt CA’da (SubCA), Sertifika Yetkilisi konsolunu (certsrv.msc) açın. Sunucunuza sağ tıklayın, Tüm Görevler > CA Sertifikasını Yükle…. öğesini seçin.
Install Issued Certificate to SubCAEğer “Sertifika zinciri doğrulanamıyor. Hatayı görmezden gelip devam etmek istiyor musunuz? İptal sunucusu çevrimdışı olduğu için iptal işlevi iptal işlemini denetleyemedi 0x80092013” hatasıyla karşılaşırsanız, Tamam ile onaylayın
AD CS Cert Verification ErrorŞimdi Hizmeti Başlatın Start Service
oppps… Başka bir hata Start Service Error Bu sorunu düzeltmek için Alt CA’da yönetici olarak bir komut istemi açın.Çevrimdışı iptal kontrollerini yok saymak için aşağıdaki komutu çalıştırın:

certutil –setreg ca\CRLFlags +CRLF_REVCHECK_IGNORE_OFFLINE

Fix Service Start Error
Sertifika Yetkilisi hizmetini yeniden başlatmayı deneyin
CA Service StartedAşağıdaki adımları izleyerek, Kök CA işlem sırasında çevrimdışı olsa bile Alt CA sertifikasını başarıyla düzenleyip yükleyebilmeniz gerekir.

Maksimum Sertifika Yaşını Ayarlama

SubCA tarafından verilen sertifikaların yalnızca bir yıl geçerli olmasını sağlamak için PowerShell’i yönetici olarak açın ve aşağıdaki komutu girin:

certutil.exe -setreg CA\ValidityPeriodUnits 1 certutil.exe -setreg CA\ValidityPeriod “Years” net stop CertSvc net start CertSvc

Set Maximum Certificate AgeBunu yaparken, diğer yapılandırmaları da ayarlayabilirsiniz:

Certutil -setreg CA\CRLPeriodUnits 1 Certutil -setreg CA\CRLPeriod “Weeks” Certutil -setreg CA\CRLDeltaPeriodUnits 1 Certutil -setreg CA\CRLDeltaPeriod “Days” Certutil -setreg CA\CRLOverlapPeriodUnits 12 Certutil -setreg CA\CRLOverlapPeriod “Hours” net stop CertSvc net start CertSvc

Additional Settings for Certificate IssuingIIS’ye geri dönelim. IIS’yi açın ve CertEnroll’u seçin. Ana ekrandan Dizin Tarama (Directory Browsing)’yı seçin ve etkinleştirin.
Enable directory Browsing for CertEnroll IIS’yi yeniden başlatın. Bağlantıyı test edin: http://pki.pwoks.local/CertEnroll. Dosyaların üzerine tıklayıp indirebiliyorsanız, sorunsuz bir şekilde yapılandırmışsınız demektir. Eğer çalışmıyorsa, daha önce yapılandırılan çift kaçışı (Double Escaping) kontrol edin.
Validate Certenroll

Denetimi Etkinleştir

Yerel Güvenlik İlkesi’nde hem başarısızlık hem de başarı için denetim nesnesi erişimini etkinleştirin. PowerShell’i yönetici olarak açın ve yazın:

certutil.exe -setreg CA\AuditFilter 127 net stop CertSvc net start CertSvc

Alt CA CDP ve AIA Yapılandırması

CDP ve AIA yapılandırmasını Alt CA’da tekrarlayın. Komut İstemi’ni yönetici olarak çalıştırın ve aşağıdakileri tek satırda yazın:

AIA Yapılandırması:

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.pwoks.local/CertEnroll/%1_%3%4.crt”

 

CDP Yapılandırması:

certutil -setreg CA\CRLPublicationURLs “65:C:\Windows\system32\CertSrv\CertEnroll\%3%8%9.crl\n79:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10\n6:http://pki.pwoks.local/CertEnroll/%3%8%9.crl”

Değerleri kontrol edin:

certutil -getreg CA\CRLPublicationURLs certutil -getreg CA\CACertPublicationURLs

Check AIA and CDP Values

Hizmetleri yeniden başlatın:

net stop CertSvc net start CertSvc

Konfigürasyonları yayınlayın:

certutil -crl

certsrv.msc açın, sunucunun Özellikleri’ni seçin ve Uzantı sekmesine gidin. CDP için http’yi seçin ve “CRL’lere dahil et…” ve “CDP’ye dahil et…” seçeneklerinin seçili olduğundan emin olun.
SubCA CDP AIA için, http bağlantısı için “AIA uzantısına dahil et” seçeneğinin seçili olduğundan emin olun.SubCA AIA

Sertifika Uygulama Beyanı Belgesi (CSPD)

cps.html dosyasını oluşturun ve aşağıdaki kodu içine kopyalayın. Ardından, cps.html dosyasını c:\inetpub\wwwroot adresine kopyalayın:

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<title>Pwoks Domain Certification Practice Statement</title>
</head>
<body>
<h1>Pwoks Domain Certification Practice Statement</h1>
<p>The Pwoks Domain Certification Authority is internal only.</p>
<p>All issued certificates are for internal usage only.</p>
<p>Unauthorized usage strictly forbidden.</p>
</body>
</html>

İhtiyaçlarınıza göre düzenleyebilirsiniz.

CPS test

Güvenlik Duvarı Kuralları

Güvenlik duvarının açık olduğundan emin olun ve aşağıdaki kuralları etkinleştirin:
Echo Request – ICMPv4-in (ICMP)
World Wide Web Services HTTP Traffic-In TCP/80
World Wide Web Services HTTPS Traffic-In TCP/443

Active Directory’ye Kök CA Ekleme

Kök CA çevrimdışı olacağından, tanınması için onu Active Directory’ye ekleyin. PowerShell’i yönetici olarak çalıştırın ve şunu yazın:

certutil.exe -dspublish ` -f “C:\CertData\RootCA_Pwoks-RootCA-CA.crt” RootCA certutil.exe -addstore ` -f root “C:\CertData\RootCA_Pwoks-RootCA-CA.crt” certutil.exe -addstore ` -f root “C:\CertData\Pwoks-RootCA-CA.crl”

LET AD to recognize RootCASorunlarla karşılaşırsanız, yönetici olarak Komut İstemi’ni açın, RootCA CRL ve CRT dosyalarının bulunduğu C:\CertData adresine gidin ve aşağıdaki komutu çalıştırın:

certutil -f -dspublish Pwoks-RootCA-CA.crl

ROOTCA CRL ve CRT dosyalarını C:\CertData’dan C:\Windows\System32\certsrv\CertEnroll’a kopyalayın.

Active Directory Yapılandırması

Etki Alanı Denetleyicinizde Active Directory Siteleri ve Hizmetleri’ni açın. Görünüm’ü seçin ve Show Services Node’u etkinleştirin.
DC AD Site ServicesPublic Key Services dosyasını açın ve AIA’ya tıklayın. Hem SubCA hem de ROOTCA’yı görmelisiniz
PKS AIACDP altında SubCA (Alt CA) ve RootCA (Çevrimdışı Kök CA) adlı iki alt klasörünüz olmalıdır.
PKS CDP

PKI Altyapısının Doğrulanması

SubCA’da pkiview.msc çalıştırın. Çevrimdışı Kök CA ve Alt CA için kırmızı çarpı işareti veya “indirilemiyor” durumu olmadığından emin olun.
PKI View StatusSorunlarla karşılaşırsanız, rootca CRL ve CRT dosyalarının C:\Windows\System32\certsrv\CertEnroll’da olduğundan emin olun ve Komut İstemi’nde CRL için ekstra dspublish komutunu çalıştırın. Tebrikler! Artık işlevsel bir İki Katmanlı CA’nız var. Tüm PKI uygulaması tamamlanana kadar Kök CA’yı kapatmamayı unutmayın.

Categories

Recent Posts

Share This