Open Directory: włączanie protokołu SSL dla programu Open Directory z replikami

Protokół SSL (Secure Sockets Layer) można włączyć, aby zapewnić szyfrowaną komunikację między oprogramowaniem Open Directory Master i Replica a komputerami, które uzyskują dostęp do domeny katalogu LDAP. Protokół SSL używa certyfikatu cyfrowego do potwierdzania tożsamości serwerów. Możesz użyć certyfikatu z podpisem własnym lub certyfikatu wydanego przez urząd certyfikacji.

Po skonfigurowaniu komputerów z oprogramowaniem Open Directory Master i Replica:

  1. Upewnij się, że zarówno komputery z oprogramowaniem Open Directory Master, jak i Replica obsługują połączenia SSL.

  2. Włącz szyfrowanie SSL na komputerze z Open Directory Master przy użyciu certyfikatu podpisanego samodzielnie z nazwą wspólną ustawioną na nazwę hosta Master.

  3. Włącz protokół SSL na wszystkich komputerach z Replica — utwórz certyfikat podpisany samodzielnie na komputerach Replica przy użyciu programu Server Admin i tej samej nazwy co nazwa hosta tego komputera.

Wykonaj te polecenie w Terminalu:

Mac OS X Server 10.5:

sudo slapconfig -setldapconfig -ssl on -sslkey [ścieżka do klucza SSL] -sslcert [ścieżka do certyfikatu SSL] -ssldomain [nazwa certyfikatu]

Mac OS X Server 10.6:

sudo slapconfig -setldapconfig -ssl on -sslkey [ścieżka do klucza SSL] -sslcert [ścieżka do certyfikatu SSL]

(Domyślnie program Server Admin przechowuje certyfikaty w folderze /etc/certificates. Pamiętaj też, aby w ścieżce uwzględnić nazwy plików).

Zainstaluj certyfikaty z komputerów z oprogramowaniem Open Directory Master i Replica

Aby komputery klienckie mogły używać protokołu SSL, należy skopiować certyfikaty z każdego serwera w klastrze katalogowym na komputery klienckie. Aby zainstalować certyfikaty z komputerów Open Directory Master i Replica:

1. Na każdym komputerze klienckim utwórz katalog /etc/openldap/certs.

2. Na komputerze klienckim otwórz Terminal i wykonaj to polecenie, aby pobrać certyfikat z serwera:

openssl s_client -connect [nazwa hosta serwera]:636

3. Skopiuj wiersze między „---BEGIN CERTIFICATE---” a „---END CERTIFICATE---” do pliku o nazwie „hostname”.

4. Umieść nowy plik hostname w katalogu /etc/openldap/certs/

5. Certyfikat można przetestować, używając tego polecenia:

openssl s_client -connect [nazwa hosta serwera]:636 -CAfile /etc/openldap/certs/hostname

Powinny zostać wyświetlone dane wyjściowe podobne do poprzednich, z następującą zmianą w ostatnim wierszu: „verify return code:0(ok)” (zamiast 18 lub 19 jak poprzednio).

6. Jeśli masz tylko jeden certyfikat (na przykład jeden serwer LDAP z włączonym protokołem SSL), dodaj następujące elementy do pliku /etc/openldap/ldap.conf:

TLS_CACERT /etc/openldap/certs/[nazwa hosta serwera]

Jeśli masz wiele serwerów LDAP z włączonym protokołem SSL

Określ serwery pojedynczo lub umieść je wszystkie w tym samym katalogu i przekieruj do nich plik ldap.conf, wykonując następujące czynności:

1. Dla każdego serwera w klastrze LDAP należy uzyskać certyfikaty tak jak przed użyciem polecenia openssl s_client:

openssl s_client -connect [nazwa hosta serwera]:636

2. Po uzyskaniu certyfikatów użyj polecenia c_hash (narzędzie OpenSSL), aby pobrać certyfikaty w formacie zaszyfrowanym. Dla każdego certyfikatu narzędzie c_hash poda nazwę, która zostanie użyta do zmiany nazwy pliku certyfikatu w folderze /etc/openldap/certs:

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

Dane wyjściowe powinny być podobne do następujących: 03be8eb2.0 => /etc/openldap/certs/hostname

3. Po otrzymaniu nazwy skrótu ręcznie zmień nazwę istniejącego pliku certyfikatu.

Przykład:

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

4. Po uruchomieniu wszystkich certyfikatów w narzędziu c_hash zmodyfikuj plik /etc/openldap/ldap.conf za pomocą polecenia:

TLS_CACERTDIR /etc/openldap/certs/

5. Usuń wszystkie wcześniejsze wpisy TLS_CACERTDIR, które mogą znajdować się w pliku ldap.conf.

6. Zweryfikuj za pomocą polecenia ldapsearch:

ldapsearch -v -x -H ldaps://[nazwa hosta serwera] -b [baza wyszukiwania]

7. Może być konieczne ponowne uruchomienie usług Directory, jeśli podjęto już próbę skonfigurowania serwera LDAP:

sudo killall DirectoryService

Data publikacji: