Open Directory: Az SSL engedélyezése az Open Directory replika-számítógépein
Az SSL (Secure Sockets Layer) engedélyezésével titkosítható a kommunikáció az Open Directory elsődleges számítógépe és replika-számítógépei, valamint az LDAP-tartományhoz csatlakozó számítógépek között. Az SSL digitális tanúsítvánnyal biztosítja a kiszolgálók tanúsított azonosíthatóságát. Alkalmazhat önaláírt tanúsítványt, illetve egy tanúsítványkiadó hatóságtól beszerzett tanúsítványt is.
Ha az Open Directory elsődleges számítógépe és a replika-számítógépek készen állnak:
Győződjön meg arról, hogy az Open Directory elsődleges számítógépe és replika-számítógépei támogatják az SSL-kapcsolatokat.
Engedélyezze az SSL-titkosítást az Open Directory elsődleges számítógépén egy önaláírt tanúsítvány segítségével – általános névként adja meg az elsődleges számítógép állomásnevét.
Engedélyezze az SSL-titkosítást az összes replika-számítógépen: hozzon létre egy önaláírt tanúsítványt a replika-számítógépeken a Server Admin segítségével.
A Terminalban írja be az alábbi parancsot:
Mac OS X Server 10.5:
sudo slapconfig -setldapconfig -ssl on -sslkey [SSL-kulcs elérési útvonala] -sslcert [SSL-tanúsítvány elérési útvonala] -ssldomain [tanúsítvány neve]
Mac OS X Server 10.6:
sudo slapconfig -setldapconfig -ssl on -sslkey [SSL-kulcs elérési útvonala] -sslcert [SSL-tanúsítvány elérési útvonala]
(Alapértelmezés szerint a Server Admin az /etc/certificates mappában tárolja a tanúsítványokat. Az elérési útvonal részeként a fájlneveket is adja meg.)
Tanúsítványok telepítése az Open Directory elsődleges számítógépéről és replika-számítógépeiről
Annak érdekében, hogy az ügyfélszámítógépek használni tudják az SSL-t, a címtárfürtben lévő összes kiszolgálóról az ügyfélszámítógépekre kell másolni a tanúsítványt. A következőképpen telepítheti a tanúsítványokat az Open Directory elsődleges számítógépéről és replika-számítógépeiről:
1. Mindegyik ügyfélszámítógépen hozza létre az /etc/openldap/certs könyvtárat.
2. Az ügyfélszámítógépeken nyissa meg a Terminalt, és írja be az alábbi parancsot a tanúsítvány kiszolgálóról történő lekéréséhez:
openssl s_client -connect [a kiszolgáló állomásneve]:636
3. Másolja a „---BEGIN CERTIFICATE---” és az „---END CERTIFICATE---” közötti sorokat egy „hostname” nevű fájlba.
4. Helyezze az új „hostname” fájlt az /etc/openldap/certs/ mappába.
5. Az alábbi paranccsal tesztelheti a tanúsítványt:
openssl s_client -connect [a kiszolgáló állomásneve]:636 -CAfile /etc/openldap/certs/hostname
Ekkor az előbbihez hasonló eredményt kap, az utolsó sorban azonban a következő szerepel: „verify return code:0(ok)”, nem pedig 18 vagy 19, ahogy az előbb.
6. Ha csak egy tanúsítvánnyal rendelkezik (például egyetlen LDAP-kiszolgálóval, amelyen engedélyezve van az SSL), adja hozzá a következőket az /etc/openldap/ldap.conf nevű fájlhoz:
TLS_CACERT /etc/openldap/certs/[a kiszolgáló állomásneve]
Ha több LDAP-kiszolgálóval rendelkezik, amelyeken engedélyezve van az SSL
Egyenként kell megadnia a kiszolgálókat, vagy az összeset ugyanabba a könyvtárba kell helyeznie, és az ldap.conf fájlban meg kell adnia a helyüket az alábbiak szerint:
1. Az LDAP-fürtben lévő összes kiszolgáló esetén a korábbiak szerint, tehát az openssl s_client paranccsal kell beszereznie a tanúsítványokat:
openssl s_client -connect [a kiszolgáló állomásneve]:636
2. A tanúsítványok beszerzése után a c_hash (egy OpenSSL-segédprogram) segítségével konvertálja a tanúsítványokat kivonatolt formátumba. A c_hash mindegyik tanúsítványhoz biztosít egy olyan nevet, amelyre át lehet nevezni az /etc/openldap/certs mappában található tanúsítványfájlt:
/System/Library/OpenSSL/misc/c_hash /etc/openldap/certs/hostname
Az eredmény a következőhöz lesz hasonló: 03be8eb2.0 => /etc/openldap/certs/hostname
3. Miután megkapta a kivonatnevet, manuálisan nevezze át a meglévő tanúsítványfájlt.
Példa:
mv /etc/openldap/certs/állomásnév /etc/openldap/certs/03be8eb2.0
4. Miután mindegyik tanúsítványt konvertálta a c_hash segítségével, szerkessze az /etc/openldap/ldap.conf fájlt az alábbi paranccsal:
TLS_CACERTDIR /etc/openldap/certs/
5. Távolítsa el a TLS_CACERTDIR összes korábbi bejegyzését, amelyek esetleg az ldap.conf fájlban találhatók.
6. Végezzen ellenőrzést az ldapsearch paranccsal:
ldapsearch -v -x -H ldaps://[a kiszolgáló állomásneve] -b [keresési bázis]
7. Szükség lehet a Címtárszolgáltatások újraindítására, ha már megpróbálta beállítani az LDAP-kiszolgálót:
sudo killall DirectoryService