Dela via


Aktivera LDAP över SSL med en certifikatutfärdare från tredje part

Den här artikeln beskriver hur du aktiverar Lightweight Directory Access Protocol (LDAP) över Secure Sockets Layer (SSL) med en certifikatutfärdare från tredje part.

Original-KB-nummer: 321051

Sammanfattning

LDAP används för att läsa från och skriva till Active Directory. Som standard överförs LDAP-trafik oskyddad. Du kan göra LDAP-trafik konfidentiell och säker med hjälp av SSL/TLS-teknik (Transport Layer Security). Du kan aktivera LDAP över SSL (LDAPS) genom att installera ett korrekt formaterat certifikat från antingen en Microsoft-certifikatutfärdare (CA) eller en icke-Microsoft CA enligt riktlinjerna i den här artikeln.

Det finns inget användargränssnitt för att konfigurera LDAPS. Om du installerar ett giltigt certifikat på en domänkontrollant kan LDAP-tjänsten lyssna efter och automatiskt acceptera SSL-anslutningar för både LDAP- och global katalogtrafik.

Krav för ett LDAPS-certifikat

Om du vill aktivera LDAPS måste du installera ett certifikat som uppfyller följande krav:

  • LDAPS-certifikatet finns i den lokala datorns personliga certifikatarkiv (programmatiskt kallat datorns MY-certifikatarkiv).

    Obs!

    Om det finns ett certifikat i NT Directory Services-arkivet (NTDS) använder domänkontrollanten certifikatet i NTDS-arkivet i stället.

  • En privat nyckel som matchar certifikatet finns i den lokala datorns arkiv och är korrekt associerad med certifikatet. Den privata nyckeln får inte ha ett starkt skydd för privat nyckel aktiverat.

  • Tillägget Förbättrad nyckelanvändning innehåller objektidentifieraren Serverautentisering (1.3.6.1.5.5.7.3.1) (även kallat OID).

  • Det fullt kvalificerade Active Directory-domännamnet för domänkontrollanten (till exempel dc01.contoso.com) måste visas på någon av följande platser:

    • Det gemensamma namnet (CN) i fältet Ämne.
    • DNS-post i tillägget Alternativt namn för certifikatmottagare.
  • Certifikatet utfärdades av en certifikatutfärdare som domänkontrollanten och LDAPS-klienterna litar på. Förtroende upprättas genom att klienterna och servern konfigureras så att de litar på den rot-CA som den utfärdande CA:en kedjar till.

  • Använd Schannels kryptografiska tjänsteleverantör (CSP) för att generera nyckeln.

Skapa en certifikatbegäran

Alla verktyg eller program som skapar en giltig PKCS #10-begäran kan användas för att skapa SSL-certifikatbegäran. Använd Certreq för att skapa begäran.

Certreq.exe kräver en textinstruktionsfil för att generera en lämplig X.509-certifikatbegäran för en domänkontrollant. Du kan skapa den här filen med hjälp av önskad ASCII-textredigerare. Spara filen som en .inf-fil i valfri mapp på hårddisken.

Följ dessa steg om du vill begära ett certifikat för serverautentisering som är lämpligt för LDAPS:

  1. Skapa .inf-filen. Följande är en .inf-exempelfil som kan användas för att skapa certifikatbegäran.

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

    [Version]

    Signature="$Windows NT$

    [NewRequest]

    Ämne = "CN=<DC fqdn>" ; ersätt med FQDN för domänkontrollanten
    KeySpec = 1
    KeyLength = 1024
    ; Kan vara 1024, 2048, 4096, 8192 eller 16384.
    ; Större nyckelstorlekar är säkrare, men har
    ; en större inverkan på prestandan.
    Exporterbar = SANT
    MachineKeySet = SANT
    SMIME = FALSKT
    PrivateKeyArchive = FALSKT
    UserProtected = FALSKT
    UseExistingKeySet = FALSKT
    ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
    ProviderType = 12
    RequestType = PKCS10
    KeyUsage = 0xa0

    [EnhancedKeyUsageExtension]

    OID=1.3.6.1.5.5.7.3.1. Detta är för serverautentisering

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

    Klipp ut och klistra in exempelfilen i en ny textfil med namnet Request.inf. Ange det fullt kvalificerade DNS-namnet för domänkontrollanten i begäran.

    Vissa certifikatutfärdare från tredje part kan kräva ytterligare information i ämnesparametern. Sådan information omfattar en e-postadress (E), organisationsenhet (OU), organisation (O), ort eller stad (L), delstat eller provins (S) och land eller region (C). Du kan lägga till den här informationen i ämnesnamnet (CN) i filen Request.inf. Till exempel:

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

  2. Skapa begärandefilen genom att köra följande kommando i kommandotolken:

    certreq -new request.inf request.req
    

    En ny fil med namnet Request.req skapas. Det är den base64-kodade begärandefilen.

  3. Skicka begäran till en certifikatutfärdare. Du kan skicka begäran till en certifikatutfärdare från Microsoft eller till en certifikatutfärdare från tredje part.

  4. Hämta certifikatet som utfärdas och spara sedan certifikatet som Certnew.cer i samma mapp som begärandefilen genom att följa dessa steg:

    1. Skapa en ny fil med namnet Certnew.cer.
    2. Öppna filen i Anteckningar, klistra in det kodade certifikatet i filen och spara sedan filen.

    Obs!

    Det sparade certifikatet måste kodas som base64. Vissa certifikatutfärdare från tredje part returnerar det utfärdade certifikatet till beställaren som base64-kodad text i ett e-postmeddelande.

  5. Acceptera det utfärdade certifikatet genom att köra följande kommando i kommandotolken:

    certreq -accept certnew.cer
    
  6. Kontrollera att certifikatet är installerat i datorns personliga arkiv genom att följa dessa steg:

    1. Starta Microsoft Management Console (MMC).
    2. Lägg till snapin-modulen Certifikat som hanterar certifikat på den lokala datorn.
    3. Expandera Certifikat (lokal dator), expandera Personligt och expandera sedan Certifikat. Ett nytt certifikat ska finnas i det personliga arkivet. I dialogrutan Certifikategenskaper visas det avsedda syftet serverautentisering. Det här certifikatet utfärdas till datorns fullständigt kvalificerade värdnamn.
  7. Starta om domänkontrollanten.

Mer information om hur du skapar certifikatbegäran finns i följande white paper för avancerad certifikatregistrering och -hantering. För att visa detta white paper, se Avancerad certifikatregistrering och -hantering.

Verifiera en LDAPS-anslutning

När ett certifikat har installerats följer du dessa steg för att kontrollera att LDAPS är aktiverat:

  1. Starta administrationsverktyget för Active Directory (Ldp.exe).

  2. På menyn Anslutning klickar du på Anslut.

  3. Ange namnet på domänkontrollanten som du vill ansluta till.

  4. Skriv 636 som portnummer.

  5. Klicka på OK.

    RootDSE-information bör skrivas ut i den högra rutan, vilket indikerar en lyckad anslutning.

Möjliga problem

  • Starta utökad TLS-begäran

    LDAPS-kommunikation sker via port TCP 636. LDAPS-kommunikation till en global katalogserver sker via TCP 3269. När du ansluter till portarna 636 eller 3269 förhandlas SSL/TLS innan någon LDAP-trafik utbyts.

  • Flera SSL-certifikat

    Schannel, Microsofts SSL-leverantör, väljer det första giltiga certifikatet som det hittar i den lokala datorbutiken. Om det finns flera giltiga certifikat tillgängliga i det lokala datorarkivet kanske Schannel inte väljer rätt certifikat.

  • Problem med cachelagring av SSL-certifikat före SP3

    Om ett befintligt LDAPS-certifikat ersätts med ett annat certifikat, antingen genom en förnyelseprocess eller på grund av att den utfärdande certifikatutfärdare har ändrats, måste servern startas om för att Schannel ska kunna använda det nya certifikatet.

Förbättringar

Den ursprungliga rekommendationen i den här artikeln var att placera certifikat i den lokala datorns personliga arkiv. Även om det här alternativet stöds kan du även placera certifikat i NTDS-tjänstens personliga certifikatarkiv i Windows Server 2008 och i senare versioner av Active Directory Domain Services (AD DS). Mer information om hur du lägger till certifikatet i NTDS-tjänstens personliga certifikatarkiv finns i Händelse-ID 1220 – LDAP över SSL.

AD DS söker företrädesvis efter certifikat i det här arkivet över den lokala datorns arkiv. Det gör det enklare att konfigurera AD DS att använda det certifikat som du vill att det ska använda. Det beror på att det kan finnas flera certifikat i det personliga arkivet Lokala datorer och det kan vara svårt att förutsäga vilken som väljs.

AD DS identifierar när ett nytt certifikat släpps i certifikatarkivet och utlöser sedan en SSL-certifikatuppdatering utan att behöva starta om AD DS eller starta om domänkontrollanten.

En ny rootDse-åtgärd med namnet renewServerCertificate kan användas för att manuellt utlösa AD DS för att uppdatera sina SSL-certifikat utan att behöva starta om AD DS eller starta om domänkontrollanten. Det här attributet kan uppdateras med hjälp av adsiedit.msc eller genom att importera ändringen i LDAP Directory Interchange Format (LDIF) med hjälp av ldifde.exe. Mer information om hur du använder LDIF för att uppdatera det här attributet finns i renewServerCertificate.

Om en Windows Server 2008 eller en senare version av domänkontrollanten hittar flera certifikat i sitt arkiv, väljs ett av dessa certifikat slumpmässigt.

Alla dessa fungerar för Windows Server 2008 AD DS och för 2008 Active Directory Lightweight Directory Services (AD LDS). För AD LDS placerar du certifikat i det personliga certifikatarkivet för tjänsten som motsvarar AD LDS-instansen i stället för för NTDS-tjänsten.