Open Directory: Aktivera SSL för Open Directory med kopior
Secure Sockets Layer (SSL) kan aktiveras för att tillhandahålla krypterad kommunikation mellan en Open Directory-huvudserver, en kopia och datorerna som har åtkomst till LDAP-katalogdomänen. Vid SSL används ett digitalt certifikat för att tillhandahålla servrarna en certifierad identitet. Du kan använda ett självsignerat certifikat eller ett certifikat som har erhållits från en certifikatutfärdare.
Med dina datorer med Open Directory-huvudservern och -kopian på plats:
Se till att både datorn med Open Directory-huvudservern och datorn med kopian har stöd för SSL-anslutningar.
Aktivera SSL-kryptering på Open Directory-huvudservern med hjälp av ett självsignerat certifikat med det vanliga namnet inställt på huvudserverns värdnamn.
Aktivera SSL på alla datorer med kopior: Skapa ett självsignerat certifikat på kopiedatorerna med hjälp av Server Admin med samma vanliga namn som datorns värdnamn.
Kör följande kommando i Terminal:
Mac OS X Server 10.5:
sudo slapconfig -setldapconfig -ssl on -sslkey [sökväg till SSL-nyckeln] -sslcert [sökväg till SSL-certifikatet] -ssldomain [certifikatets namn]
Mac OS X Server 10.6:
sudo slapconfig -setldapconfig -ssl on -sslkey [sökväg till SSL-nyckeln] -sslcert [sökväg till SSL-certifikatet]
(Som standard lagrar Server Admin certifikaten under /etc/certificates. Se också till att inkludera filnamnen i sökvägen)
Installera certifikat från Open Directory-huvudservern och -kopior
För att klientdatorer ska kunna använda SSL måste certifikatet från varje server i katalogklustret kopieras till klientdatorerna. Så här installerar du certifikaten från datorerna med Open Directory-huvudservern och -kopior:
1. Skapa katalogen /etc/openldap/certs på varje klientdator.
2. Öppna Terminal på en klientdator och kör följande kommando för att hämta certifikatet från servern:
openssl s_client -connect [serverns värdnamn]:636
3. Kopiera raderna mellan ”---BEGIN CERTIFICATE---” och ”---END CERTIFICATE---” till en fil med namnet ”hostname”.
4. Placera den nya värdnamnsfilen här: /etc/openldap/certs/
5. Du kan testa certifikatet med följande kommando:
openssl s_client -connect [serverns värdnamn]:636 -CAfile /etc/openldap/certs/hostname
Liknande utdata som tidigare bör då visas, med följande ändring i den sista raden: verify return code:0(ok) istället för 18 eller 19 som du fick tidigare
6. Om du bara har ett certifikat (till exempel en enda LDAP-server med SSL aktiverat) lägger du till följande i filen /etc/openldap/ldap.conf
TLS_CACERT /etc/openldap/certs/[serverns värdnamn]
Om du har flera LDAP-servrar med SSL aktiverat
Du måste ange servrarna en i taget eller placera dem alla i samma katalog och rikta ldap.conf mot dem med följande steg:
1. För varje server i LDAP-klustret måste du hämta certifikaten på samma sätt som tidigare med kommandot openssl s_client:
openssl s_client -connect [serverns värdnamn]:636
2. När du har hämtat certifikaten använder du c_hash (ett OpenSSL-verktyg) för att få certifikaten i ett hashat format. För varje certifikat ger c_hash dig ett namn som används för att byta namn på certifikatfilen i /etc/openldap/certs:
/System/Library/OpenSSL/misc/c_hash /etc/openldap/certs/hostname
De utdata som du får liknar följande: 03be8eb2.0 => /etc/openldap/certs/hostname
3. När du har fått hash-namnet byter du namn på den befintliga certifikatfilen manuellt.
Exempel:
mv /etc/openldap/certs/hostname /etc/openldap/certs/03be8eb2.0
4. När du har kört alla certifikat via c_hash redigerar du filen /etc/openldap/ldap.conf med:
TLS_CACERTDIR /etc/openldap/certs/
5. Ta bort alla tidigare TLS_CACERTDIR-poster som kan finnas i ldap.conf-filen.
6. Verifiera med kommandot ldapsearch:
ldapsearch -v -x -H ldaps://[serverns värdnamn] -b [searchbase]
7. Du kan behöva starta om Katalogtjänster om du redan har försökt ställa in LDAP-servern:
sudo killall DirectoryService