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

15 Kas 2024 | Microsoft, PKI

Active Directory Sertifika Hizmetleri (AD CS), çeşitli amaçlar için birçok önceden tanımlanmış şablon sunar. Bu şablonlardan bazılarını inceleyeceğiz, özelleştireceğiz ve en iyi uygulamaları tartışacağız.

Sertifika Şablonları İçin Ana Noktalar:

  • Her zaman varsayılan şablonun bir kopyasını oluşturun ve kopyayı değiştirin (PKI serisinin 4. Bölümündeki örnekler).
  • Kopyaların amacını anlamak için açıklayıcı isimler verin.
  • Güvenlik ayarlarını gözden geçirin ve ihtiyaçlarınıza göre optimize edin; varsayılan ayarlar (SHA1) yeterli değildir.
  • Yalnızca belirli şablonlar için ihtiyaç duyan kullanıcı/gruplara erişimi sınırlayın.
  • Önemli sertifikalar için otomatik kaydı önleyin.
  • Gereksiz şablonları silin ve kullanmayı düşünmediğiniz sertifikaları vermekten kaçının.

Mevcut Şablonlar:
List of Templates

Mevcut olan şablonlar çeşitli kullanım alanlarına göre özelleştirilebilir. Ortamımda en sık kullanılan User (Kullanıcı), Computer (Bilgisayar) ve Web Server (Web Sunucusu) şablonlarını alan kullanımı için değiştireceğiz. Smartcard (Akıllı Kart) yapılandırmaları daha az yaygındır ancak bazen gerekli olabilir.

Kullanıcı Sertifika Şablonu Oluşturma

Not: Kullanıcılara sertifika verirken hata almamak için kullanıcıların AD hesaplarına e-posta adresleri girilmelidir.

  1. Sertifika Yetkilisi Konsolunu Açın (certsrv.msc), Sertifika Şablonları üzerine sağ tıklayın ve “Manage” seçeneğini seçin..
  2. Kullanıcı Şablonunu Çoğaltın:
    • Kullanıcı Şablonuna sağ tıklayın ve “Duplicate Template” seçeneğini seçin.
  3. Compatibility Tab (Uyumluluk Sekmesi):
    • Sertifika Yetkilisi: Windows Server 2016, Sertifika alıcısı: Windows 10 / Windows Server 2016 olarak ayarlayın.
  4. General Tab (Genel Sekme):
    • Şablon görüntü adı: Domain FQDN ekleyin (örneğin, User pwoks.local).
    • Geçerlilik: 1 yıl, Yenileme: 6 hafta.
    • “Publish certificate in AD” ve “Do not automatically reenroll” işaretleyin.
      General Tab
  5. Request Handling Tab (Talep İşleme Sekmesi):
    • Amaç: İmza ve şifreleme.
    • “Include symmetric algorithms” ve “Archive subjects encryption private key” seçeneklerini etkinleştirin (açılır onayı onaylayın).
    • Özel anahtarın ihraç edilmesine izin verin ve aynı anahtar ile yenilemeyi etkinleştirin.
      Request Handling Tab
  6. Cryptography Tab (Kriptografi Sekmesi):
    • Sağlayıcı Kategorisi: Anahtar Saklama Sağlayıcı.
    • Algoritma: RSA, Minimum anahtar boyutu: 4096, Talep karması: SHA256.
  7. Security Tab (Güvenlik Sekmesi):
    • SUBCA sunucusunu bilgisayar olarak ekleyin.
    • Domain kullanıcıları: Okuma, Kayıt, Otomatik Kayıt.
    • SUBCA: Okuma, Kayıt.
    • Uygula, Tamam ve Sertifika Şablonu penceresini kapatın.
      Security TabSecurity tab - domain users  
  8. Şablonu Etkinleştirin:
    • Sertifika Yetkilisi konsolunda, Sertifika Şablonları üzerine sağ tıklayın, Yeni, Sertifika Şablonunu Verin seçeneğini seçin.
    • Kullanıcı pwoks.local şablonunu seçin ve Tamam’a basın.
      Enable template

Kullanıcı Sertifikası Otomatik Kaydı

Otomatik Kayıt (Auto-Enrollment), pwoks.local domainindeki kullanıcıların AD CS’den otomatik olarak sertifika almasını sağlar. Yukarıda tanımlanan şablonu kullanacağız. Öncelikle DC’ye gidip Grup İlkesi Yönetim Konsolunu (gpmc.msc) açın.

Domain kullanıcılarımı yerleştirdiğim bir Domain Users OU’um var. Bunun için yeni bir GPO oluşturacağız.

Domain Users (veya belirli OU’nuz) üzerine sağ tıklayın ve “Create a GPO in this domain, and Link it here…” seçeneğini seçin. Politikayı “User Cert Enroll” olarak adlandırın ve diğer ayarları değiştirmeden Tamam’a basın.

Create GPO

Yeni bir GPO olan UserCertEnroll, Domain Users altında oluşturuldu. Üzerine sağ tıklayın ve Düzenle’yi seçin.

Edit GPO

Kullanıcı Yapılandırması | İlkeler | Windows Ayarları | Güvenlik Ayarları’na gidin. Genel Anahtar İlkelerini tıklayın. Sertifika Hizmetleri İstemcisi – Sertifika Kaydı İlkesini seçin, sağ tıklayın ve Özellikler’i seçin. Yapılandırma Modelini Etkinleştir’i etkinleştirin ve Tamam’a tıklayın.

Certificate Enrollment Policy

Ardından, Sertifika Hizmetleri İstemcisi – Otomatik Kayıt’ı seçin, sağ tıklayın ve Özellikler’i seçin

Yapılandırma Modelinde, Etkin’i seçin. “Süresi dolmuş sertifikaları yenile, bekleyen sertifikaları güncelle…” ve “Sertifika şablonlarını kullanan sertifikaları güncelle” seçeneklerinin seçili olduğundan emin olun. Diğer her şeyi varsayılan olarak bırakın. Uygula ve Tamam’a basın.

Auto Enrollment Policy

Grup İlkesi Yönetim Konsolunu artık kapatabiliriz.

Ardından, grup ilkesini yapılandırmadan önce istemci makinesindeki Yerel Kullanıcı Sertifikası Mağazasını açın (domain kullanıcısı ile Windows 11). İstemcide certmgr.msc’yi başlatın ve Kişisel mağazayı kontrol edin – boş olmalıdır.

Bir süre sonra PwoksUser için bir sertifika almazsanız, bunun nedeni genellikle eksik bir e-postadır. SUBCA sunucusunda, Sertifika Yetkilisi konsolunda, e-posta eksikliği nedeniyle sertifikanın reddedildiğini görebilirsiniz. PwoksUser için bir e-posta ekleyin

Certificate Issue Error

E-postayı ekledikten sonra SUBCA’daki Sertifika Yetkilisi konsolundan sertifikayı yeniden vermeyi denerseniz (sağ tıklayarak), “İstek, sunucu tarafından arşivlenecek gerekli bir özel anahtar eksik hatası 0x80094804” hatası alırsınız. Bunun yerine, sadece İstemci makineyi yeniden başlatın ve PwoksUser ile giriş yapın. Bu yeni bir sertifika verecektir

İstemci makineyi yeniden başlattıktan ve WinUser1 ile tekrar giriş yaptıktan sonra, geçerli bir sertifika görmelisiniz

Valid User Certificate

Bu sertifikayı ayrıca SUBCA’daki Sertifika Yetkilisi konsolunda Verilen Sertifikalar altında görebilirsiniz

Issued Certificates

Böylece, kullanıcı sertifikalarımız User pwoks.local şablonunu kullanarak otomatik olarak kaydedilmektedir..

Kullanıcı Sertifikası Özel Anahtar Kurtarma

Kullanıcı sertifikalarını kullanıyorsanız, özel anahtarın kaybolmasının, şifrelenmiş dosyaların, e-postaların ve VPN erişiminin kaybolmasına yol açabileceğini unutmayın. Kullanıcıya yeni bir özel anahtar verebilirsiniz, ancak eski anahtarla şifrelenmiş içeriğe erişemezsiniz.

Önceki bölümlerde özel anahtar kurtarmayı zaten ayarladık ve Kullanıcı Şablonunda anahtarları arşivleme seçeneğini ekledik. Şimdi bir kullanıcının özel anahtarını kurtarma sürecini inceleyelim.

PwoksUser2 adlı bir hesap oluşturdum ve bu hesap İstemci makinesine giriş yaptı. Şimdi PwoksUser2 için özel anahtarı kurtarmaya çalışacağız.

SUBCA sunucusunda, C:\CertRecover dizinini oluşturun.

Sertifika Yetkilisi konsolunu (certsrv.msc) açın ve Verilen Sertifikalar klasörünü görene kadar konsolu genişletin. PwoksUser2 için anahtarı kurtarmak için sağ tıklayın ve Aç’ı seçin.

Open Issued Certificate

Seri numarası alanını bulun ve seri numarasını kopyalayın.

Certificate Serial Number

Yönetici olarak PowerShell’i açın ve C:\CertRecover dizinine gidin.

Aşağıdaki komutu girin ve “serialnumber” yerine aldığınız seri numarasını, “username” yerine ise anahtarı kaybeden kullanıcıyı yazın.

certutil -getkey serialnumber username

Benim durumumda böyle görünüyor:

Powershell command

Şimdi, C:\CertRecover klasöründe bir dosyamız var. Bunu aşağıdaki komutla .pfx dosyasına dönüştüreceğiz, ilk komutta kullandığınız kullanıcı adını “PwoksUser2” ile değiştirin.

certutil.exe -recoverkey .\PwoksUser2 PwoksUser2.pfx

Anahtarı korumak için bir şifre girmeniz istenecek. Şifreyi girin ve hatırlayın.

Convert to PFX

Şimdi, SUBCA’daki C:\CertRecover içinde PwoksUser2 için özel anahtarı görebilirsiniz. Bunu kullanıcıya ait bilgisayara kopyalayın ve certmgr.msc’de Kişisel mağazada sağ tıklayarak ve İçe Aktar’ı seçerek içe aktarın.

Import Certificate

Bu sertifikaları güvenli bir şekilde saklamak çok önemlidir.

Bilgisayar Sertifika Şablonu Oluşturma

Sonraki adımda, disk şifreleme, 802.1x kimlik doğrulama, VPN ve MDM yönetimi gibi uygulamalarla kullanılan makineler için bir Bilgisayar Sertifika Şablonu oluşturacağız. 

Bu sertifika, Kullanıcı Sertifikasından ayrıdır.

Aşağıdaki adımlar, Kullanıcı Sertifikası örneğinde olduğu gibi SUBCA üzerinde gerçekleştirilir.

Öncelikle Bilgisayar Şablonunu çoğaltın.

Duplicate Computer Template

Uyumluluk sekmesinde, Sertifika Yetkilisini Windows Server 2016 ve Sertifika alıcısını Windows 10 / Windows Server 2016 olarak ayarlayın.

Genel sekmesinde, Şablonun adını değiştirin, Geçerlilik süresini 1 yıl, Yenileme süresini 6 hafta olarak ayarlayın ve “Publish certificate in Active Directory” seçeneğini etkinleştirin.

Talep İşleme sekmesinde, Amacı İmza ve şifreleme olarak ayarlayın, diğer her şeyi varsayılan olarak bırakın.

Kriptografi sekmesinde, Sağlayıcıyı Anahtar Saklama Sağlayıcı olarak ayarlayın, Algoritmayı RSA, Minimum anahtar boyutunu 4096, Talep karmasını SHA256 olarak ayarlayın.

Güvenlik sekmesinde, SubCA bilgisayarını ekleyin (Ekle’ye tıklayın, Nesne türleri altında Bilgisayarları seçin, Bilgisayar Adını girin ve ekleyin) ve Okuma ve Kayıt izinlerini verin. Domain Bilgisayarları için, Okuma, Kayıt ve Otomatik Kayıt izinlerini ayarlayın.

Uygula ve Tamam’a tıklayarak konsolu kapatın.

Sertifika Şablonlarına gidin, sağ tıklayın, Yeni, Sertifika Şablonunu Verin’i seçin ve yeni oluşturduğumuz şablonu seçin.

Issue new template

Tamam’a basın ve şablon şimdi verilmiştir.

Bilgisayar Sertifikası Otomatik Kaydı

Makinelerimiz için otomatik sertifika kaydını etkinleştirmek için bir grup ilkesi kuralı eklememiz gerekiyor. DomainPCs OU’ya bir GPO ekleyerek DC’de başlayacağız.

İlk olarak, gpmc.msc’yi açın. DomainPCs üzerine sağ tıklayın, “Create a GPO in this domain” seçeneğini seçin, bir ad verin ve Tamam’a tıklayın. Daha sonra, yeni oluşturulan GPO (CompCertEnroll) üzerine sağ tıklayın ve “Edit” seçeneğini seçin.

Computer Enrollment GPO

Bilgisayar Yapılandırması | İlkeler | Windows Ayarları | Güvenlik Ayarları’na gidin ve Genel Anahtar İlkelerine tıklayın. Sertifika Hizmetleri İstemcisi – Sertifika Kaydı İlkesini seçin, sağ tıklayın ve “Özellikler” seçeneğini seçin.

Yapılandırma Modelini “Etkin” olarak ayarlayın ve diğer her şeyi varsayılan olarak bırakın. “Uygula” ve ardından “Tamam”a tıklayın.

Certificate Enrollment Policy Properties

Ardından, Sertifika Hizmetleri İstemcisi – Otomatik Kayıt’ı seçin, sağ tıklayın ve “Özellikler”i seçin.

Yapılandırma Modelinde, “Etkin”i seçin ve “Süresi dolmuş sertifikaları yenile, bekleyen sertifikaları güncelle…” ve “Sertifika şablonlarını kullanan sertifikaları güncelle” seçeneklerinin seçili olduğundan emin olun. Diğer her şeyi varsayılan olarak bırakın. “Uygula” ve ardından “Tamam”a tıklayın.

Auto-Enrollment Configuration

Bu değişikliğin yayılması biraz zaman alacaktır. İstemci makinede grup ilkesi güncellemesini gpupdate /force komutunu çalıştırarak ve istemci makineyi yeniden başlatarak zorlayabilirsiniz. İstemci makinede, yerel makine sertifikaları snap-in’ini (certlm.msc) çalıştırarak ve Kişisel mağazayı kontrol ederek sertifikanın eklenip eklenmediğini kontrol edebilirsiniz. SUBCA’da, Sertifika Yetkilisi konsolunda Verilen Sertifikalar altında görülebilir.

Issued Computer Certificate

Web Sunucusu Sertifika Şablonu

Bu rehber oldukça uzun olduğu için, bu konu 6. bölümde ele alacağımız son konulardan biri olacak.

Bir web sunucusu sertifikası, IIS’de SSL’i etkinleştirmek ve Linux web sunucularını yönetmek için kullanılabilir. Kullanıcı Şablonunu ayrıntılı olarak ele aldık, bu nedenle herhangi bir adımı kaçırıyorsanız veya belirli bir ekrana nasıl gidileceğinden emin değilseniz, o rehbere başvurun. Burada yalnızca önemli adımları belirteceğiz.

Web Sunucusu Şablonu üzerine sağ tıklayın ve “Duplicate Template” seçeneğini seçin.

Şu anda, sürece aşina olmalısınız.

Uyumluluk sekmesinde, Windows Server 2016, Windows 10 / Windows Server 2016 olarak ayarlayın. Genel sekmesinde, Şablonun adını değiştirin, Geçerliliği 1 yıl, Yenilemeyi 6 hafta olarak ayarlayın. Diğer her şeyi olduğu gibi bırakın ve ek bir şey etkinleştirmeyin.

Talep İşleme sekmesinde, Amacı “İmza ve şifreleme” olarak ayarlayın ve diğer her şeyi varsayılan olarak bırakın. Geleneksel Kriptografik Hizmet Sağlayıcıyı koruyun, Algoritmayı “CSP tarafından belirlenir” olarak ayarlayın ve Minimum anahtar boyutunu 2048 (2048’de bırakabilir veya 4096’ya değiştirebilirsiniz) olarak ayarlayın. Diğer her şeyi olduğu gibi bırakın.

Cryptography settings

Güvenlik sekmesinde, SUBCA’yı ekleyin (Ekle’ye tıklayın, Nesne türleri altında Bilgisayarları seçin, Bilgisayar Adını girin ve ekleyin) ve Okuma ve Kayıt izinlerini verin.

Domain Yöneticileri için Okuma, Yazma, Kayıt ve Otomatik Kayıt izinlerini ayarlayın. “Uygula” ve “Tamam”a tıklayın. Web Sunucusu Şablonuyla işimiz bitti; şimdi sadece yayınlamamız gerekiyor.

İsterseniz, Web Sunucusu sertifikası talep edebilecek diğer grupları (BT departmanı, geliştiriciler vb.) ekleyebilirsiniz; sadece Domain Yöneticileri olmak zorunda değildir.

Sertifika Şablonlarına gidin, sağ tıklayın, “Yeni,” ardından “Verilecek Sertifika Şablonu”nu seçin ve az önce oluşturduğumuz şablonu seçin.

Web Server Certificate To Issue

Neredeyse bitirdik.

Linux için bir web sunucusu sertifikasına ihtiyacınız varsa, bana ulaşabilir veya bu konudaki rehberlere göz atabilirsiniz.

  • Linux’ta sertifika talebi nasıl oluşturulur
  • Apache – LAMP Yığını nasıl kurulur
  • Apache / LAMP Yığını üzerinde SSL nasıl etkinleştirilir
  • Nginx – LEMP Yığını nasıl kurulur

Şimdilik burada duracağız, çünkü bu rehber çok uzun hale geliyor. Gelecek bölümlerde Windows Server’da PKI ile ilgili birkaç konu daha ele alacağız, ancak şimdilik, ortamımız için kullanıcılar, bilgisayarlar ve web sunucuları için şablonlarımız hazır.

Categories

Recent Posts

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

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

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ş...

Share This