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

Protokół Secure Sockets Layer (SSL) można włączyć w celu zapewnienia szyfrowanych połączeń między głównym serwerem Open Directory, replikami i komputerami, które uzyskują dostęp do domeny katalogu LDAP. Protokół SSL zapewnia certyfikowaną tożsamość dla serwerów przy użyciu certyfikatu cyfrowego. Można używać certyfikatu z podpisem własnym lub certyfikatu uzyskanego z urzędu certyfikacji.

Gdy serwer główny Open Directory i komputery replik są obecne:

  1. Upewnij się, że główny serwer usługi Open Directory i komputery, na których znajdują się repliki, obsługują połączenia SSL.
  2. Włącz szyfrowanie SSL na głównym serwerze usługi Open Directory przy użyciu certyfikatu z podpisem własnym z nazwą pospolitą ustawioną na nazwę hosta głównego serwera usługi Open Directory.
  3. Włącz protokół SSL na wszystkich komputerach, na których znajdują się repliki. Za pomocą programu Server Admin utwórz na komputerach replik certyfikat z podpisem własnym o takiej samej nazwie pospolitej jak nazwa hosta danego komputera.

W programie Terminal uruchom następujące polecenie:

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]

(Domyślnie program Server Admin przechowuje certyfikaty w katalogu /etc/certificates. Pamiętaj także o dodaniu nazw plików w ścieżce).

Zainstaluj certyfikaty z głównego serwera usługi Open Directory oraz replik.

Aby komputery klienckie mogły używać protokołu SSL, należy skopiować na te komputery certyfikaty z każdego serwera w klastrze katalogów. Aby zainstalować certyfikaty z głównego serwera usługi Open Directory oraz z komputerów, na których znajdują się repliki:

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

2. Na komputerze klienckim otwórz program Terminal i uruchom następujące polecenie w celu pobrania certyfikatu z serwera:

openssl s_client -connect [hostname of the server]:636

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

4. Umieść nowy plik hostname w tym miejscu: /etc/openldap/certs/

5. Certyfikat można przetestować, używając następującego polecenia: 

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

Powinny zostać wyświetlone dane wyjściowe podobne do otrzymanych poprzednio, z następującą zmianą w ostatnim wierszu: wartość 0(ok) zamiast wartości 18 lub 19.

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

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

W przypadku wielu serwerów LDAP z włączonym protokołem SSL

Należy określić każdy serwer indywidualnie lub umieścić je wszystkie w tym samym katalogu i wskazać je plikowi ldap.conf, wykonując następujące czynności:

1. Dla każdego serwera w klastrze LDAP uzyskaj certyfikaty tak jak poprzednio, używając polecenia openssl s_client:

openssl s_client -connect [nazwa hosta serwera]:636

2. Po uzyskaniu certyfikatów użyj narzędzia c_hash (narzędzie oprogramowania OpenSSL) do przekonwertowania certyfikatów na format skrótu. Dla każdego certyfikatu narzędzie c_hash poda nazwę, która zostanie użyta do zmiany nazwy pliku certyfikatu w katalogu /etc/openldap/certs:

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

Dane wyjściowe powinny przypominać następujące:  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 przetworzeniu wszystkich certyfikatów za pomocą narzędzia c_hash zmodyfikuj plik /etc/openldap/ldap.conf przy użyciu następującego wpisu:

TLS_CACERTDIR /etc/openldap/certs/

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

6. Przeprowadź test, używając polecenia ldapsearch:

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

7. Jeśli próbowałeś(-aś) już skonfigurować serwer LDAP, może być konieczne ponowne uruchomienie usług katalogowych:

sudo killall DirectoryService
Data publikacji: