Seria RHCSA konfiguruje uwierzytelnianie oparte na LDAP w RHEL 7 - Część 14
- 2798
- 273
- Juliusz Sienkiewicz
Rozpoczniemy ten artykuł od nakreślenia niektórych LDAP Podstawy (co to jest, gdzie jest używany i dlaczego) i pokazuj, jak skonfigurować serwer LDAP i skonfigurować klienta do uwierzytelnienia się za pomocą za pomocą Red Hat Enterprise Linux 7 systemy.
RHCSA SerieJak zobaczymy, istnieje kilka innych możliwych scenariuszy aplikacji, ale na tym przewodniku skupimy się całkowicie Oparte na LDAP uwierzytelnianie. Ponadto pamiętaj, że ze względu na ogromnego tematu omówimy tylko jego podstawy, ale możesz odwołać się do dokumentacji przedstawionej w podsumowaniu, aby uzyskać bardziej szczegółowe szczegóły.
Z tego samego powodu zauważysz, że postanowiłem pominąć kilka odniesień do stron narzędzi LDAP ze względu na zwięzłość, ale odpowiednie wyjaśnienia znajdują się na odległości wyciągnięcia (Man ldapadd, Na przykład).
To powiedziawszy, zacznijmy.
Nasze środowisko testowe
Nasze środowisko testowe składa się z dwóch RHEL 7 pudła:
serwer: 192.168.0.18. Fqdn: Rhel7.mydomain.com Klient: 192.168.0.20. Fqdn: ldapclient.mydomain.com
Jeśli chcesz, możesz użyć maszyny zainstalowanej w części 12: Zautomatyzuj instalacje RHEL 7 za pomocą KICKStART jako klienta.
Co to jest LDAP?
LDAP oznacza Lekki protokół dostępu do katalogu i składa się z zestawu protokołów, które pozwala klientowi uzyskać dostęp do sieci, centralnie przechowywane informacje (takie jak katalog powłok logowania, bezwzględne ścieżki do katal. od różnych miejsc lub dostępnych do dużej liczby użytkowników końcowych (innym przykładem byłby katalog adresów domowych i numerów telefonów wszystkich pracowników w firmie).
Utrzymanie takich (i więcej) informacji centralnie oznacza, że można je łatwiej utrzymać i uzyskać do uzyskania przez wszystkich, którzy otrzymali uprawnienia do korzystania z nich.
Poniższy schemat oferuje uproszczony schemat LDAP, i jest opisany poniżej bardziej szczegółowo:
Schemat LDAPSzczegółowo wyjaśnienie powyższego schematu.
- Jakiś wejście W katalogu LDAP reprezentuje pojedynczą jednostkę lub informacje i jest wyjątkowo identyfikowana przez tak zwaną nazwę wyróżniającą.
- Jakiś atrybut to informacje powiązane z wpisem (na przykład adresy, dostępne numery telefonów kontaktowych i adresy e -mail).
- Każdy atrybut jest przypisany jeden lub więcej wartości składający się na liście oddzielonej przestrzeni. Wartość, która jest unikalna na wpis, nazywa się względną nazwą wyróżniającą.
To powiedziawszy, kontynuujmy instalacje serwera i klienta.
Instalowanie i konfigurowanie serwera LDAP i klienta
W RHEL 7, LDAP jest wdrażany przez OpenlDap. Aby zainstalować serwer i klient, użyj odpowiednio następujących poleceń:
# Yum Update && Yum Instaluj OpenLDAP OpenlDap-CLUSS OpenLDap-Servers # Yum Update && Yum Instaluj OpenlDap OpenlDAP-CLUSS NSS-PAM-LDAPD
Po zakończeniu instalacji są pewne rzeczy, na które patrzymy. Poniższe kroki należy wykonać sam na serwerze, chyba że wyraźnie zauważono:
1. Upewnić się Selinux nie przeszkadza, umożliwiając następujące Boolean trwale, zarówno na serwerze, jak i klienta:
# setsebool -p zezwolić_ypbind = 0 authlogin_nssligch_use_ldap = 0
Gdzie Zezwalaj na_pbind jest wymagane do uwierzytelniania opartego na LDAP i AuthLogin_NSSwitch_use_ldap niektóre aplikacje mogą być potrzebne.
2. Włącz i uruchom usługę:
# Systemctl Włącz slapd.Service # Systemctl start slapd.praca
Należy pamiętać, że możesz również wyłączyć, ponownie uruchomić lub zatrzymać usługę za pomocą SystemCTL:
# Systemctl wyłącz slapd.Service # Systemctl restart slapd.Service # Systemctl Stop Slapd.praca
3. Od Slapd Usługa działa jako użytkownik LDAP (który możesz zweryfikować Ps -e -o pid, niezamazja, comm | Grep Slapd), taki użytkownik powinien posiadać /var/lib/ldap katalog, aby serwer mógł modyfikować wpisy utworzone przez narzędzia administracyjne, które można uruchomić tylko jako root (więcej na ten temat za minutę).
Przed zmianą własności tego katalogu rekurencyjnie skopiuj przykładowy plik konfiguracyjny bazy danych Slapd w tym:
# cp/usr/share/openlDap-servers/db_config.przykład/var/lib/ldap/db_config # chown -r ldap: ldap/var/lib/ldap
4. Skonfiguruj użytkownika administracyjnego OpenLDAP i przypisz hasło:
# slappasswd
Jak pokazano na następnym obrazie:
Ustaw hasło administratora LDAPi stwórz Ldif plik (ldaprootpasswd.ldif) Z następującymi treściami:
DN: olcDatabase = 0 config, cn = config cangetype: modyfikuj Dodaj: olcrootpw olcrootpw: ssha hasło
Gdzie:
- HASŁO to sznur haszedowy uzyskany wcześniej.
- cn = config Wskazuje globalne opcje konfiguracji.
- Olcdatabaza Wskazuje określoną nazwę instancji bazy danych i można je zwykle znaleźć w środku /etc/openlDap/slapd.d/cn = config.
Odnosząc się do teoretycznego tła podanego wcześniej, ldaprootpasswd.ldif
Plik doda wpis do katalogu LDAP. W tym wpisie każda linia reprezentuje atrybut: para wartości (gdzie DN, ChangeType, Add i OlcrootPW są atrybutami, a ciągami po prawej stronie każdego okrężnicy są ich odpowiednimi wartościami).
Możesz o tym pamiętać, gdy postępujemy dalej, i pamiętaj, że używamy tych samych powszechnych nazwisk (CN =)
przez resztę tego artykułu, w którym każdy krok zależy od poprzedniego.
5. Teraz dodaj odpowiedni wpis LDAP, określając URI odnosząc się do serwera LDAP, gdzie dozwolone są tylko pola protokołu/hosta/portu.
# ldapadd -h ldapi: /// -f ldaprootpasswd.ldif
Wyjście powinno być podobne do:
Konfiguracja LDAPi zaimportować podstawowe definicje LDAP z /etc/openlDap/schemat
informator:
# dla def w cosinus.ldif nis.LDIF INETORGPERSON.ldif; do ldapadd -h ldapi: /// -f/etc/openlDap/schema/$ def; zrobioneDefinicje LDAP
6. Niech LDAP użyje swojej domeny w swojej bazie danych.
Utwórz kolejny Ldif plik, który zadzwonimy ldapdomain.ldif
, Z następującą zawartością zastępując domenę (w komponencie domeny DC =) i hasło odpowiednio:
DN: OLCDATABASE = 1 Monitor, CN = Config CangeType: Modyfikuj Wymień: Olcaccess olcAccess: 0 do * przez DN.base = "gidnumber = 0+uidnumber = 0, cn = peercred, cn = zewnętrzny, cn = auth" odczytany przez DN.base = "cn = menedżer,DC = MyDomain,dc = com "odczyt przez * Brak dn: olcDatabase = 2 hdb, cn = config cangeType: modyfikuj zamień: olcsuffix olcsuffix: DC = MyDomain,dc = com dn: olcDatabase = 2 hdb, cn = config cangeType: modyfikuj zamień: olcrootdn olcrootdn: cn = menedżer,DC = MyDomain,dc = com dn: olcDatabase = 2 hdb, cn = config cangeType: modyfikuj Dodaj: olcrootpw olcrootpw: ssha hasło dn: olcDatabase = 2 hdb, cn = config cangeType: modyfikuj dodaj: olcaccess olcasccess: 0 do attrs = userPassword, shadowlastchange by dn = "cn = menedżer,DC = MyDomain,dc = com "Write by Anonimowy auth autor: Self Write by * none olcaccess: 1 do dn.base = "" przez * odczyt olcAccess: 2 do * przez dn = "cn = menedżer, dc = myDomain, dc = com" pisz przez * odczyt
Następnie załaduj go w następujący sposób:
# ldapModify -h ldapi: /// -f ldapdomain.ldifKonfiguracja domeny LDAP
7. Teraz nadszedł czas, aby dodać kilka wpisów do naszego katalogu LDAP. Atrybuty i wartości są oddzielone przez okrężnicę (:)
W poniższym pliku, który nazwiemy Baseldapdomain.ldif
:
DN: DC = MyDomain, DC = COM ObjectClass: Top Obiektclass: DCObject ObjectClass: Organizacja O: MyDomain Com DC: MyDomain DN: CN = Manager, DC = MyDomain, DC = COM OBIETNIK ou = ludzie, DC = MyDomain, DC = COM ObjectClass: OrganizationalUnit OU: People DN: OU = Group, DC = MyDomain, DC = COM ObjectClass: OrganizationalUnit Ou: Grupa
Dodaj wpisy do katalogu LDAP:
# ldapadd -x -d cn = menedżer, dc = myDomain, dc = com -w -f baseldapdomain.ldifDodaj atrybuty i wartości domeny LDAP
8. Utwórz użytkownik LDAP, nazywany Ldapuser (Adduser Ldapuser), następnie utwórz definicje dla grupy LDAP w ldapgroup.ldif
.
# adduser ldapuser # vi ldapgroup.ldif
Dodaj następującą zawartość.
DN: cn = menedżer, ou = grupa, dc = myDomain, dc = com obiekt klas: TOP OBSZIOR CLASS: POSIXGROUP GIDNumber: 1004
Gdzie Gidnumber jest GID w /etc/grupa dla ldapuser) i załaduj go:
# ldapadd -x -w -d "cn = menedżer, dc = myDomain, dc = com" -f ldapgroup.ldif
9. Dodaj plik LDIF z definicjami dla użytkownika LDapuser (Ldapuser.ldif
):
dn: uid = ldapuser, ou = ludzie, dc = MyDomain, dc = com obiektclass: TOP OBIEKCLASS: Konto ObjectClass: PosixAccount ObjectClass: Shadowaccount CN: LDAPUSER UID: LDAPUSER UIDNUMBER: 1004 SSHA FIN0YQZBDUDI0FPQQ9UUDWMJZQY28S3M LOGINSHELL: /BIN /BASH GECO: LDAPUSER ShadowlastChange: 0 Shadowmax: 0 ShadowWarning: 0
i załaduj to:
# ldapadd -x -d cn = menedżer, dc = myDomain, dc = com -w -f ldapuser.ldifKonfiguracja użytkownika LDAP
Podobnie możesz usunąć właśnie utworzony wpis użytkownika:
# ldapdelete -x -w -d cn = menedżer, dc = myDomain, dc = com "uid = ldapuser, ou = ludzie, dc = myDomain, dc = com"
10. Pozwól komunikacji za pośrednictwem zapory:
# Firewall-Cmd --add-Service = LDAP
11. Wreszcie, umożliwić klientowi uwierzytelnianie się za pomocą LDAP.
Aby pomóc nam w tym ostatnim kroku, użyjemy Authconfig narzędzie (interfejs konfigurowania zasobów uwierzytelniania systemu).
Korzystając z następującego polecenia, katalog domowy dla żądanego użytkownika jest tworzony, jeśli nie istnieje po uwierzytelnieniu na serwerze LDAP:
# Authconfig --enableldap --enableldapauth --ldapserver = rhel7.mydomain.com --ldapbasedn = "dc = myDomain, dc = com" --enablemkhomedir -updateKonfiguracja klienta LDAP
Streszczenie
W tym artykule wyjaśniliśmy, jak skonfigurować podstawowe uwierzytelnianie na serwerze LDAP. Aby dalej skonfigurować konfigurację opisaną w niniejszym przewodniku, patrz rozdział 13 - Konfiguracja LDAP w przewodniku administratora systemu RHEL 7, zwracając szczególną uwagę na ustawienia zabezpieczeń za pomocą TLS.
Zapraszam do zostawienia wszelkich pytań, które możesz użyć poniższego formularza komentarza.
- « Jak zamontować Dysk Google w Linux za pomocą klienta „Drive Drive Drive”
- Instalowanie lampy (Linux, Apache, MariaDB i PHP) na Fedorze 22 »