Wyszukiwanie w witrynie

Jak skonfigurować klienta LDAP do łączenia uwierzytelniania zewnętrznego


LDAP (skrót od Lightweight Directory Access Protocol) to standard branżowy, powszechnie używany zestaw protokołów umożliwiających dostęp do usług katalogowych.

Usługa katalogowa, w uproszczeniu, to scentralizowana, sieciowa baza danych zoptymalizowana pod kątem dostępu do odczytu. Przechowuje i zapewnia dostęp do informacji, które muszą być współużytkowane między aplikacjami lub są wysoce rozproszone.

Usługi katalogowe odgrywają ważną rolę w tworzeniu aplikacji intranetowych i internetowych, pomagając w udostępnianiu informacji o użytkownikach, systemach, sieciach, aplikacjach i usługach w całej sieci.

Typowym przypadkiem użycia LDAP jest oferowanie scentralizowanego przechowywania nazw użytkowników i haseł. Umożliwia to różnym aplikacjom (lub usługom) łączenie się z serwerem LDAP w celu sprawdzania poprawności użytkowników.

Po skonfigurowaniu działającego serwera LDAP będziesz musiał zainstalować na kliencie biblioteki umożliwiające połączenie się z nim. W tym artykule pokażemy, jak skonfigurować klienta LDAP do łączenia się z zewnętrznym źródłem uwierzytelniania.

Mam nadzieję, że masz już działające środowisko serwera LDAP, jeśli nie, skonfiguruj serwer LDAP do uwierzytelniania opartego na LDAP.

Jak zainstalować i skonfigurować klienta LDAP w Ubuntu i CentOS

Na systemach klienckich będziesz musiał zainstalować kilka niezbędnych pakietów, aby mechanizm uwierzytelniania działał poprawnie z serwerem LDAP.

Skonfiguruj klienta LDAP w Ubuntu 16.04 i 18.04

Najpierw zacznij od zainstalowania niezbędnych pakietów, uruchamiając następujące polecenie.

sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

Podczas instalacji zostaniesz poproszony o podanie szczegółów serwera LDAP (podaj wartości zgodnie ze swoim środowiskiem). Pamiętaj, że pakiet ldap-auth-config, który jest instalowany automatycznie, wykonuje większość konfiguracji na podstawie wprowadzonych danych wejściowych.

Następnie wpisz nazwę bazy wyszukiwania LDAP, możesz w tym celu wykorzystać składniki ich nazw domen, jak pokazano na zrzucie ekranu.

Wybierz także wersję LDAP, której chcesz używać, i kliknij OK.

Teraz skonfiguruj opcję, aby umożliwić narzędziom haseł korzystającym z pam zachowanie tak, jakbyś zmieniał hasła lokalne, i kliknij Tak, aby kontynuować.

Następnie wyłącz wymóg logowania do bazy danych LDAP, korzystając z następnej opcji.

Zdefiniuj także konto LDAP dla roota i kliknij OK.

Następnie wprowadź hasło, które będzie używane podczas próby zalogowania się ldap-auth-config do katalogu LDAP przy użyciu konta LDAP dla użytkownika root.

Wyniki okna dialogowego zostaną zapisane w pliku /etc/ldap.conf. Jeśli chcesz dokonać jakichkolwiek zmian, otwórz i edytuj ten plik za pomocą ulubionego edytora wiersza poleceń.

Następnie skonfiguruj profil LDAP dla NSS, uruchamiając.

sudo auth-client-config -t nss -p lac_ldap

Następnie skonfiguruj system tak, aby używał protokołu LDAP do uwierzytelniania, aktualizując konfiguracje PAM. Z menu wybierz LDAP i inne potrzebne mechanizmy uwierzytelniania. Teraz powinno być możliwe zalogowanie się przy użyciu poświadczeń opartych na LDAP.

sudo pam-auth-update

Jeżeli chcesz, aby katalog domowy użytkownika został utworzony automatycznie, musisz wykonać jeszcze jedną konfigurację w pliku PAM wspólnej sesji.

sudo vim /etc/pam.d/common-session

Dodaj do niego tę linię.

session required pam_mkhomedir.so skel=/etc/skel umask=077

Zapisz zmiany i zamknij plik. Następnie zrestartuj usługę NCSD (Demon pamięci podręcznej usługi nazw) za pomocą następującego polecenia.

sudo systemctl restart nscd
sudo systemctl enable nscd

Uwaga: jeśli używasz replikacji, klienci LDAP będą musieli odwoływać się do wielu serwerów określonych w /etc/ldap.conf. Możesz określić wszystkie serwery w tym formularzu:

uri ldap://ldap1.example.com  ldap://ldap2.example.com

Oznacza to, że żądanie przekroczy limit czasu i jeśli Dostawca (ldap1.example.com) przestanie odpowiadać, Konsument (ldap2 .example.com) podejmie próbę nawiązania połączenia w celu jego przetworzenia.

Aby sprawdzić wpisy LDAP dla konkretnego użytkownika na serwerze, uruchom na przykład polecenie getent.

getent passwd tecmint

Jeśli powyższe polecenie wyświetla szczegóły określonego użytkownika z pliku /etc/passwd, Twój komputer kliencki jest teraz skonfigurowany do uwierzytelniania na serwerze LDAP, powinieneś móc zalogować się przy użyciu poświadczeń opartych na LDAP .

Skonfiguruj klienta LDAP w CentOS 7

Aby zainstalować niezbędne pakiety, uruchom następujące polecenie. Pamiętaj, że w tej sekcji, jeśli używasz systemu jako użytkownik administracyjny inny niż root, użyj polecenie sudo, aby uruchomić wszystkie polecenia.

yum update && yum install openldap openldap-clients nss-pam-ldapd

Następnie włącz system kliencki do uwierzytelniania przy użyciu protokołu LDAP. Możesz skorzystać z narzędzia authconfig, które jest interfejsem do konfigurowania zasobów uwierzytelniania systemu.

Uruchom następujące polecenie i zastąp example.com swoją domeną i dc=example,dc=com swoim kontrolerem domeny LDAP.

authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update

W powyższym poleceniu opcja -enablemkhomedir tworzy lokalny katalog domowy użytkownika przy pierwszym połączeniu, jeśli taki nie istnieje.

Następnie sprawdź, czy wpisy LDAP dla konkretnego użytkownika z serwera, na przykład użytkownik tecmint.

getent passwd tecmint

Powyższe polecenie powinno wyświetlić szczegóły określonego użytkownika z pliku /etc/passwd, co oznacza, że komputer kliencki jest teraz skonfigurowany do uwierzytelniania na serwerze LDAP.

Ważne: jeśli w Twoim systemie jest włączony SELinux, musisz dodać regułę zezwalającą na automatyczne tworzenie katalogów domowych przez mkhomedir.

Aby uzyskać więcej informacji, zapoznaj się z odpowiednią dokumentacją z katalogu dokumentów oprogramowania OpenLDAP.

Streszczenie

LDAP to powszechnie używany protokół do wysyłania zapytań i modyfikowania usług katalogowych. W tym przewodniku pokazaliśmy, jak skonfigurować klienta LDAP do łączenia się z zewnętrznym źródłem uwierzytelniania na komputerach klienckich Ubuntu i CentOS. Możesz zostawić jakiekolwiek pytania lub komentarze, korzystając z poniższego formularza opinii.