Open Directory: Zapnutí SSL ve službě Open Directory s replikami
Můžete si zapnout technologii SSL (Secure Sockets Layer), která zajišťuje šifrovanou komunikaci mezi masterem služby Open Directory, replikami a počítači schopnými přistupovat k adresářové doméně LDAP. SSL zprostředkovává serverům ověřování identity pomocí digitálního certifikátu. Můžete používat váš vlastní podepsaný certifikát nebo certifikát získaný od certifikační autority.
Až budete mít připravený hlavní server (master) služby Open Directory i počítače s replikami:
Přesvědčte se, že master služby Open Directory i počítače s replikami podporují SSL spojení.
Na masteru služby Open Directory zapněte SSL šifrování na základě vašeho vlastního podepsaného certifikátu, kterému nastavte stejný název, jako je název hostitele masteru.
Zapněte SSL na všech počítačích s replikami: Na počítačích s replikami vytvořte nástrojem Server Admin vaše vlastní podepsané certifikáty, kterým nastavte stejný název, jako je název hostitele pro daný počítač.
V Terminálu spusťte tento příkaz:
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]
(Ve výchozím nastavení uloží Server Admin certifikáty do složky /etc/certificates. Nezapomeňte do cesty napsat i názvy souborů.)
Nainstalujte certifikáty z masteru a replik služby Open Directory
Aby vaše klientské počítače mohly používat SSL, musíte certifikát každého serveru z adresářového clusteru zkopírovat na klientské počítače. Certifikáty z masteru a replik služby Open Directory nainstalujete takto:
1. Na každém klientském počítači vytvořte složku /etc/openldap/certs.
2. Na klientském počítači otevřete Terminál a spuštěním následujícího příkazu stáhněte certifikát ze serveru:
openssl s_client -connect [hostname of the server]:636
3. Řádky uvedené mezi „---BEGIN CERTIFICATE---“ a „---END CERTIFICATE---“ zkopírujte do souboru, který nazvěte „hostname“.
4. Nový soubor hostname umístěte sem: /etc/openldap/certs/.
5. Certifikát můžete otestovat pomocí tohoto příkazu:
openssl s_client -connect [hostname of the server]:636 -CAfile /etc/openldap/certs/hostname
Měl by se zobrazit podobný výstup jako předtím, ale s následující změnou na posledním řádku: verify return code:0(ok) místo hodnoty 18 nebo 19, která se zobrazovala předtím.
6. Pokud máte jenom jeden certifikát (například jediný server LDAP se zapnutým SSL), přidejte do souboru /etc/openldap/ldap.conf tohle:
TLS_CACERT /etc/openldap/certs/[hostitelský název serveru]
Pokud máte více LDAP serverů se zapnutým SSL
Každý server budete muset určit ručně, případně je všechny umístit do stejného adresáře a podle následujícího postupu na ně nasměrovat soubor ldap.conf:
1. U každého serveru v LDAP clusteru budete muset pomocí příkazu openssl s_client získat certifikát, stejně jako předtím:
openssl s_client -connect [hostname of the server]:636
2. Až certifikáty budete mít, pomocí funkce c_hash (což je utilita OpenSSL) je převeďte do hashovaného formátu. U každého certifikátu vám c_hash uvede název, který se použije k přejmenování tohoto certifikátu ve složce /etc/openldap/certs:
/System/Library/OpenSSL/misc/c_hash /etc/openldap/certs/hostname
Výstup by měl vypadat zhruba takto: 03be8eb2.0 => /etc/openldap/certs/hostname
3. Až se vám zobrazí název hashe, ručně přejmenujte existující soubor certifikátu.
Příklad:
mv /etc/openldap/certs/hostname /etc/openldap/certs/03be8eb2.0
4. Až funkcí c_hash proženete všechny certifikáty, upravte soubor /etc/openldap/ldap.conf takto:
TLS_CACERTDIR /etc/openldap/certs/
5. Odeberte všechny starší záznamy TLS_CACERTDIR, které v souboru ldap.conf můžou být.
6. Vše ověřte pomocí příkazu ldapsearch:
ldapsearch -v -x -H ldaps://[hostname of the server] -b [searchbase]
7. Pokud už jste se dřív pokoušeli nastavit LDAP server, možná teď budete muset restartovat Adresářové služby:
sudo killall DirectoryService