How to Configure LDAP Client to Connect External Authentication

LDAP (skrót od Lightweight Directory Access Protocol) jest standardem przemysłowym, szeroko stosowanym zestawem protokołów dostępu do usług katalogowych.

Usługa katalogowa w prostych słowach jest scentralizowaną, opartą na sieci bazą danych zoptymalizowaną pod kątem dostępu do odczytu. Przechowuje i zapewnia dostęp do informacji, które muszą być współdzielone 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 scentralizowane przechowywanie 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 należy zainstalować na kliencie biblioteki umożliwiające łączenie się z nim. W tym artykule pokażemy, jak skonfigurować klienta LDAP, aby łączył się z zewnętrznym źródłem uwierzytelniania.

Mam nadzieję, że masz już działające środowisko serwera LDAP, jeśli nie, skonfiguruj Up LDAP Server for LDAP-based Authentication.

How to Install and Configure LDAP Client in Ubuntu and CentOS

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

Konfiguracja klienta LDAP w Ubuntu 16.04 i 18.04

Najpierw zacznij od zainstalowania niezbędnych pakietów, wykonują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 dotyczących twojego serwera LDAP (podaj wartości zgodne z twoim środowiskiem). Zauważ, że pakiet ldap-auth-config, który jest automatycznie instalowany, wykonuje większość konfiguracji na podstawie wprowadzonych danych.

Enter LDAP Server URI
Enter LDAP Server URI

Next, enter the name of the LDAP search base, you can use the components of their domain names for this purpose as shown in the screenshot.

Enter LDAP Search Base
Enter LDAP Search Base

Also choose the LDAP version to use and click Ok.

Select LDAP Version
Select LDAP Version

Now configure the option to allow you to make password utilities that use pam to behave like you would be changing local passwords and click Yes to continue..

Make Local Root Database Admin
Make Local Root Database Admin

Next, disable login requirement to the LDAP database using the next option.

Disable Login to LDAP Database
Disable Login to LDAP Database

Also define LDAP account for root and click Ok.

Define LDAP Account for Root
Define LDAP Account for Root

Next, enter the password to use when ldap-auth-config tries to login to the LDAP directory using the LDAP account for root.

Enter LDAP Root Password
Enter LDAP Root Password

The results of the dialog will be stored in the file /etc/ldap.conf. Jeśli chcesz wprowadzić jakieś zmiany, 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ł LDAP do uwierzytelniania, aktualizując konfigurację PAM. Z menu wybierz LDAP i wszelkie inne mechanizmy uwierzytelniania, których potrzebujesz. Powinieneś być teraz w stanie zalogować się używając poświadczeń opartych na LDAP.

$ sudo pam-auth-update
Konfiguracja mechanizmu uwierzytelniania PAM
Konfiguracja mechanizmu uwierzytelniania PAM

W przypadku, gdy chcesz, aby katalog domowy użytkownika był tworzony automatycznie, to należy wykonać jeszcze jedną konfigurację w pliku common-session PAM.

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

Dodaj w nim tę linię.

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

Zapisz zmiany i zamknij plik. Następnie uruchom ponownie usługę NCSD (Name Service Cache Daemon) 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 pliku /etc/ldap.conf. Możesz określić wszystkie serwery w tej formie:

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

Zakłada to, że żądanie będzie czasowo wyłączone i jeśli Dostawca (ldap1.example.com) przestanie odpowiadać, Konsument (ldap2.example.com) będzie próbował zostać osiągnięty, aby je przetworzyć.

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

$ getent passwd tecmint

Jeśli powyższe polecenie wyświetli szczegóły określonego użytkownika z pliku /etc/passwd, twoja maszyna kliencka jest teraz skonfigurowana do uwierzytelniania z serwerem LDAP, powinieneś być w stanie zalogować się używając poświadczeń opartych na LDAP.

Konfiguracja klienta LDAP w CentOS 7

Aby zainstalować niezbędne pakiety, wykonaj następujące polecenie. Zwróć uwagę, że w tej sekcji, jeśli używasz systemu jako użytkownik administracyjny niebędący rootem, użyj polecenia sudo, aby uruchomić wszystkie polecenia.

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

Następnie włącz uwierzytelnianie systemu klienta za pomocą LDAP. Możesz użyć narzędzia authconfig, które jest interfejsem do konfiguracji zasobów uwierzytelniania systemu.

Uruchom następujące polecenie i zastąp example.com swoją domeną, a 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 żaden nie istnieje.

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

$ getent passwd tecmint

Powyższe polecenie powinno wyświetlić dane określonego użytkownika z pliku /etc/passwd, co sugeruje, że maszyna kliencka jest teraz skonfigurowana do uwierzytelniania z serwerem LDAP.

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

Więcej informacji znajdziesz w odpowiedniej dokumentacji z katalogu dokumentów oprogramowania OpenLDAP.

Podsumowanie

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *