Open Directory: Aktivere SSL for Open Directory med replikaer

Secure Sockets Layer (SSL) kan aktiveres for å få kryptert kommunikasjon mellom en Open Directory Master, replika og datamaskinene som bruker LDAP-katalogdomenet. SSL bruker et digitalt sertifikat til å sørge for en sertifisert identitet for serverne. Du kan bruke et egensignert sertifikat eller et sertifikat som er mottatt fra en sertifikatautoritet.

Med Open Directory Master- og replika-datamaskiner på plass:

  1. Sørg for at både Open Directory Master- og replika-datamaskinene støtter SSL-tilkoblinger.

  2. Aktiver SSL-kryptering på Open Directory Master ved bruk av et egensignert sertifikat med vertsnavnet til Master som navn (cn).

  3. Aktiver SSL på alle replika-datamaskiner: Opprett et egensignert sertifikat på replika-datamaskinene ved hjelp av Server Admin med samme navn (cn) som vertsnavnet på datamaskinen.

Utfør denne kommandoen i Terminal:

Mac OS X Server 10.5:

sudo slapconfig -setldapconfig -ssl on -sslkey [path to SSL key] -sslcert [path to SSL cert] -ssldomain [name of the certificate]

Mac OS X Server 10.6:

sudo slapconfig -setldapconfig -ssl on -sslkey [path to SSL key] -sslcert [path to SSL cert]

(Som standard lagrer Server Admin sertifikatene under /etc/certificates. Sørg også for å inkludere filnavn i banen)

Installer sertifikater fra Open Directory Master og replikaer

For at klientmaskiner skal kunne bruke SSL må sertifikatet fra hver server i katalogklyngen bli kopiert til klientmaskinene. Slik installerer du sertifikatene fra Open Directory Master- og replika-datamaskinene:

1. Opprett /etc/openldap/certs-katalogen på hver klientdatamaskin.

2. Åpne Terminal på en klientmaskin og utfør denne kommandoen for å få sertifikatet fra serveren:

openssl s_client -connect [hostname for server]:636

3. Kopier linjene mellom «----BEGIN CERTIFICATE--» og «---END CERTIFICATE--» til en fil med navnet «hostname».

4. Plasser den nye hostname-filen her:/etc/openldap/certs/

5. Du kan teste sertifikatet ved hjelp av denne kommandoen:

openssl s_client -connect [hostname of the server]:636 -CAfile /etc/openldap/certs/hostname

Det skal gi omtrent de samme utdataene som tidligere, men med denne endringen på siste linje: verify return code:0(ok) i stedet for 18 eller 19 som du har mottatt tidligere.

6. Hvis du har bare ett sertifikat (for eksempel en enkelt LDAP-server med SSL aktivert), legger du til følgende i filen /etc/openldap/ldap.conf

TLS_CACERT /etc/openldap/certs/[hostname of the server]

Hvis du har flere LDAP-servere med SSL-aktivert

Du må angi serverne enkeltvis eller plassere dem alle i samme katalog og la ldap.conf peke mot dem ved å følge denne framgangsmåten:

1. Du må skaffe sertifikater for hver server i LDAP-klyngen akkurat som før ved bruke kommandoen openssl s_client:

openssl s_client -connect [hostname for server]:636

2. Når du har fått sertifikatene, bruker du c_hash (et OpenSSL-verktøy) til å hente sertifikatene i et «hashed»-format. For hvert sertifikat vil c_hash gi deg et navn som vil bli brukt til å gi sertifikatet et nytt navn i /etc/openldap/certs:

/System/Library/OpenSSL/misc/c_hash /etc/openldap/certs/hostname

Utdataene skal se omtrent slik ut: 03be8eb2.0 => /etc/openldap/certs/hostname

3. Når du har mottatt «hash»-navnet, gir du hver eksisterende sertifikatfil nytt navn manuelt.

Eksempel:

mv /etc/openldap/certs/hostname /etc/openldap/certs/03be8eb2.0

4. Når du har kjørt alle sertifikatene gjennom c_hash, redigerer du /etc/openldap/ldap.conf-filen med:

TLS_CACERTDIR /etc/openldap/certs/

5. Fjern eventuelle tidligere TLS_CACERTDIR-oppføringer som kan finnes i ldap.conf-filen.

6. Kontroller med kommandoen ldapsearch:

ldapsearch -v -x -H ldaps://[hostname of the server] -b [searchbase]

7. Du må kanskje omstarte Katalogtjenester hvis du allerede har forsøkt å konfigurere LDAP-serveren:

sudo killall DirectoryService

Publiseringsdato: