Üçüncü taraf sertifika yetkilisiyle SSL üzerinden LDAP'yi etkinleştirme

Bu makalede, bir üçüncü taraf sertifika yetkilisiyle Güvenli Yuva Katmanı (SSL) üzerinden Basit Dizin Erişim Protokolü'nün (LDAP) nasıl etkinleştirileceği açıklanır.

Şunlar için geçerlidir: Windows Server 2012 R2
Orijinal KB numarası: 321051

Özet

LDAP, Active Directory'den okumak ve Active Directory'ye yazmak için kullanılır. Varsayılan olarak, LDAP trafiği güvenli olmayan bir şekilde iletilir. SSL/Aktarım Katmanı Güvenliği (TLS) teknolojisini kullanarak LDAP trafiğini gizli ve güvenli hale getirebilirsiniz. Bu makaledeki yönergelere göre bir Microsoft sertifika yetkilisinden (CA) veya Microsoft dışı bir CA'dan düzgün biçimlendirilmiş bir sertifika yükleyerek SSL (LDAPS) üzerinden LDAP'yi etkinleştirebilirsiniz.

LDAPS'yi yapılandırmak için kullanıcı arabirimi yoktur. Etki alanı denetleyicisine geçerli bir sertifika yüklemek, LDAP hizmetinin hem LDAP hem de genel katalog trafiği için SSL bağlantılarını dinlemesine ve otomatik olarak kabul etmesine izin verir.

LDAPS sertifikası için gereksinimler

LDAPS'yi etkinleştirmek için aşağıdaki gereksinimleri karşılayan bir sertifika yüklemeniz gerekir:

  • LDAPS sertifikası, Yerel Bilgisayarın Kişisel sertifika deposunda bulunur (program aracılığıyla bilgisayarın MY sertifika deposu olarak bilinir).

    Not

    NT Directory Services (NTDS) deposunda bir sertifika varsa, DC bunun yerine NTDS deposundaki sertifikayı kullanır.

  • Yerel Bilgisayarın deposunda sertifikayla eşleşen bir özel anahtar bulunur ve sertifikayla doğru olarak ilişkilendirilir. Özel anahtarın güçlü özel anahtar koruması etkin olmamalıdır.

  • Gelişmiş Anahtar Kullanımı uzantısı, Sunucu Kimlik Doğrulaması (1.3.6.1.5.5.7.3.1) nesne tanımlayıcısını (OID olarak da bilinir) içerir.

  • Etki alanı denetleyicisinin Active Directory tam etki alanı adı (örneğin, dc01.contoso.com) aşağıdaki yerlerden birinde görünmelidir:

    • Konu alanındaki Ortak Ad (CN).
    • Konu Diğer Adı uzantısındaki DNS girişi.
  • Sertifika, etki alanı denetleyicisinin ve LDAPS istemcilerinin güvendiği bir CA tarafından verilmiştir. Güven, istemcileri ve sunucuyu, veren CA'nın zincirlediği kök CA'ya güvenecek şekilde yapılandırılarak oluşturulur.

  • Anahtarı oluşturmak için Schannel şifreleme hizmeti sağlayıcısını (CSP) kullanın.

Sertifika isteği oluşturma

SSL sertifika isteğini oluşturmak için geçerli bir PKCS #10 isteği oluşturan herhangi bir yardımcı program veya uygulama kullanılabilir. İsteği oluşturmak için Certreq kullanın.

Certreq.exe, etki alanı denetleyicisi için uygun bir X.509 sertifika isteği oluşturmak için bir metin yönerge dosyası gerektirir. Bu dosyayı, tercih ettiğiniz ASCII metin düzenleyicisini kullanarak oluşturabilirsiniz. Dosyayı sabit sürücünüzdeki herhangi bir klasöre .inf dosyası olarak kaydedin.

LDAPS için uygun bir Sunucu Kimlik Doğrulaması sertifikası istemek için şu adımları izleyin:

  1. .inf dosyasını oluşturun. Sertifika isteğini oluşturmak için kullanılabilecek örnek bir .inf dosyası aşağıda yer almaktadır.

    ;----------------- request.inf -----------------

    [Version]

    Signature="$Windows NT$

    [NewRequest]

    Konu = "CN=<DC fqdn>" ; değerini DC'nin FQDN'si ile değiştirin
    KeySpec = 1
    KeyLength = 1024
    ; 1024, 2048, 4096, 8192 veya 16384 olabilir.
    ; Daha büyük anahtar boyutları daha güvenlidir, ancak
    ; performans üzerinde daha büyük bir etki oluşturur.
    Exportable = TRUE
    MachineKeySet = TRUE
    SMIME = False
    PrivateKeyArchive = FALSE
    UserProtected = FALSE
    UseExistingKeySet = FALSE
    ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
    ProviderType = 12
    RequestType = PKCS10
    KeyUsage = 0xa0

    [EnhancedKeyUsageExtension]

    OID=1.3.6.1.5.5.7.3.1 ; bu, Sunucu Kimlik Doğrulaması içindir

    ;-----------------------------------------------

    Örnek dosyayı kesin ve Request.inf adlı yeni bir metin dosyasına yapıştırın. İstekteki etki alanı denetleyicisinin tam DNS adını belirtin.

    Bazı üçüncü taraf sertifika yetkilileri Konu parametresinde ek bilgi gerektirebilir. Söz konusu bilgiler, bir e-posta adresi (E), kuruluş birimi (OU), kuruluş (O), yerleşim yeri veya şehir (L), eyalet veya il (S) ve ülke veya bölge (C) içerir. Bu bilgileri Request.inf dosyasındaki Konu adına (CN) ekleyebilirsiniz. Örneğin:

    Subject="E=admin@contoso.com, CN=<DC fqdn>, OU=Servers, O=Contoso, L=Redmond, S=Washington, C=US."

  2. Komut isteminde aşağıdaki komutu çalıştırarak istek dosyasını oluşturun:

    certreq -new request.inf request.req
    

    Request.req adlı yeni bir dosya oluşturulur. Bu, base64 ile kodlanmış istek dosyasıdır.

  3. İsteği bir CA'ya gönderin. İsteği bir Microsoft CA'ya veya üçüncü taraf CA'ya gönderebilirsiniz.

  4. Verilen sertifikayı alın ve aşağıdaki adımları izleyerek sertifikayı istek dosyasıyla aynı klasöre Certnew.cer olarak kaydedin:

    1. Certnew.cer adlı yeni bir dosya oluşturun.
    2. Dosyayı Not Defterinde açın, kodlanmış sertifikayı dosyaya yapıştırın ve dosyayı kaydedin.

    Not

    Kaydedilen sertifika base64 olarak kodlanmalıdır. Bazı üçüncü taraf CA'lar, verilen sertifikayı istek sahibine bir e-posta iletisinde base64 ile kodlanmış metin olarak iade eder.

  5. Komut isteminde aşağıdaki komutu çalıştırarak verilen sertifikayı kabul edin:

    certreq -accept certnew.cer
    
  6. Aşağıdaki adımları izleyerek sertifikanın bilgisayarın Kişisel deposuna yüklendiğini doğrulayın:

    1. Microsoft Yönetim Konsolu'nu (MMC) başlatın.
    2. Yerel bilgisayardaki sertifikaları yöneten Sertifikalar ek bileşenini ekleyin.
    3. Sertifikalar (Yerel Bilgisayar)'ı genişletin, Kişisel'i genişletin ve ardından Sertifikalar'ı genişletin. Kişisel depoda yeni bir sertifika bulunmalıdır. Sertifika Özellikleri iletişim kutusunda, hedeflenen amaç Sunucu Kimlik Doğrulaması'dır. Bu sertifika, bilgisayarın tam ana bilgisayar adına verilir.
  7. Etki alanı denetleyicisini yeniden başlatın.

Sertifika isteğini oluşturma hakkında daha fazla bilgi için aşağıdaki Gelişmiş Sertifika Kaydı ve Yönetimi teknik incelemesine bakın. Bu teknik incelemeyi görüntülemek için bkz. Gelişmiş Sertifika Kaydı ve Yönetimi.

LDAPS bağlantısını doğrulama

Sertifika yüklendikten sonra LDAPS'nin etkinleştirildiğini doğrulamak için şu adımları izleyin:

  1. Active Directory Yönetim Aracı'nı (Ldp.exe) başlatın.

  2. Bağlantı menüsünde, Bağlan'a tıklayın.

  3. Bağlanmak istediğiniz etki alanı denetleyicisinin adını yazın.

  4. Bağlantı noktası numarası olarak 636 yazın.

  5. Tamam'a tıklayın.

    RootDSE bilgileri sağ bölmeye yazdırılmalıdır ve bağlantının başarılı olduğunu gösterir.

Olası sorunlar

  • TLS genişletilmiş isteğini başlatma

    LDAPS iletişimi TCP 636 bağlantı noktası üzerinden gerçekleşir. Genel katalog sunucusuyla LDAPS iletişimi TCP 3269 üzerinden gerçekleşir. 636 veya 3269 bağlantı noktalarına bağlanırken, herhangi bir LDAP trafiği değişimi öncesinde SSL/TLS anlaşması yapılır.

  • Birden çok SSL sertifikası

    Microsoft SSL sağlayıcısı Schannel, yerel bilgisayar deposunda bulduğu ilk geçerli sertifikayı seçer. Yerel bilgisayar deposunda birden çok geçerli sertifika varsa Schannel doğru sertifikayı seçemeyebilir.

  • SP3 öncesi SSL sertifikası önbelleğe alma sorunu

    Varolan bir LDAPS sertifikası, gerek yenileme işlemi aracılığıyla gerek veren CA değiştiğinden başka bir sertifikayla değiştirilirse Schannel'in yeni sertifikayı kullanması için sunucunun yeniden başlatılması gerekir.

Geliştirmeler

Bu makaledeki özgün öneri, Sertifikaları Yerel Makinenin Kişisel deposuna yerleştirmekti. Bu seçenek destekleniyor olsa da sertifikaları, Windows Server 2008'de ve Active Directory Domain Services'in (AD DS) sonraki sürümlerinde NTDS Hizmetinin Kişisel sertifika deposuna da yerleştirebilirsiniz. Sertifikanın NTDS hizmetinin Kişisel sertifika deposuna nasıl ekleneceği hakkında daha fazla bilgi için bkz. Olay Kimliği 1220 - SSL üzerinden LDAP.

AD DS, tercihen Yerel Makinenin deposu yerine bu depodaki sertifikaları arar. Bu, AD DS'yi kullanmak istediğiniz sertifikayı kullanacak şekilde yapılandırmayı kolaylaştırır. Bunun nedeni, Yerel Makine Kişisel deposunda birden çok sertifikanın bulunabilmesi ve hangisinin seçileceğini tahmin etmenin zor olmasıdır.

AD DS, sertifika deposuna yeni bir sertifika bırakıldığını algılar ve ardından AD DS'yi veya etki alanı denetleyicisini yeniden başlatmak zorunda kalmadan bir SSL sertifika güncelleştirmesi tetikler.

renewServerCertificate adlı yeni bir rootDse işlemi, AD DS'yi yeniden başlatmak veya etki alanı denetleyicisini yeniden başlatmak zorunda kalmadan SSL sertifikalarını güncelleştirmek için AD DS'yi el ile tetikleme amacıyla kullanılabilir. Bu özellik, adsiedit.msc kullanılarak veya ldifde.exe kullanıp LDAP Dizin Değişim Biçimi'ndeki (LDIF) değişikliğini içeri aktarılarak güncelleştirilebilir. Bu özniteliği güncelleştirmek için LDIF kullanma hakkında daha fazla bilgi için bkz. renewServerCertificate.

Son olarak, bir Windows Server 2008 veya sonraki bir sürüm etki alanı denetleyicisi deposunda birden çok sertifika bulursa, bu sertifikalardan birini rastgele seçer.

Tüm bu çalışmalar, Windows Server 2008 AD DS ve 2008 Active Directory Hafif Dizin Hizmetleri (AD LDS) içindir. AD LDS için NTDS hizmeti yerine AD LDS örneğine karşılık gelen hizmet için Kişisel sertifika deposuna sertifikalar yerleştirin.