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.