Weboldal keresés

Az OpenLDAP szerver telepítése központi hitelesítéshez


A Lightweight Directory Access Protocol (röviden: LDAP) egy iparági szabvány, könnyű, széles körben használt protokollkészlet a címtárszolgáltatásokhoz való hozzáféréshez. A címtárszolgáltatás egy megosztott információs infrastruktúra a mindennapi elemek és hálózati erőforrások, például felhasználók, csoportok, eszközök, e-mail címek, telefonszámok, kötetek és sok más objektum elérésére, kezelésére, rendszerezésére és frissítésére.

Az LDAP információs modell bejegyzéseken alapul. Az LDAP-címtárban lévő bejegyzés egyetlen egységet vagy információt képvisel, és egyedileg azonosítható az úgynevezett Megkülönböztető névvel (DN). A bejegyzés minden attribútuma rendelkezik egy típussal és egy vagy több értékkel.

Az attribútum egy bejegyzéshez társított információ. A típusok jellemzően mnemonikus karakterláncok, például a „cn” a közönséges név, vagy a „mail” az e-mail cím. Minden attribútumhoz egy vagy több érték van hozzárendelve, amelyek szóközzel elválasztott listából állnak.

Az alábbiakban bemutatjuk, hogyan vannak elrendezve az információk az LDAP könyvtárban.

Ebben a cikkben bemutatjuk, hogyan telepíthető és konfigurálható az OpenLDAP szerver központi hitelesítéshez Ubuntu 16.04/18.04 és CentOS 7 rendszerben.

1. lépés: Az LDAP szerver telepítése

1. Először is telepítse az OpenLDAP programot, amely az LDAP nyílt forráskódú megvalósítása és néhány hagyományos LDAP-kezelő segédprogram a következő parancsok használatával.

yum install openldap openldap-servers	    #CentOS 7
sudo apt install slapd ldap-utils	    #Ubuntu 16.04/18.04

Ubuntu esetén a csomag telepítése során meg kell adnia az LDAP-címtárban lévő rendszergazdai bejegyzés jelszavát, be kell állítania egy biztonságos jelszót, és meg kell erősítenie azt.

Amikor a telepítés befejeződött, elindíthatja a szolgáltatást az alábbiak szerint.

2. A CentOS 7 rendszeren futtassa a következő parancsokat az openldap szerver démon elindításához, engedélyezze az automatikus indítást rendszerindításkor, és ellenőrizze, hogy működik és működik (Ubuntu esetén a szolgáltatásnak automatikusan el kell indulnia a systemd alatt, egyszerűen ellenőrizheti az állapotát):

sudo systemctl start slapd
sudo systemctl enable slapd
sudo systemctl status slapd

3. Ezután engedélyezze az LDAP szerverdémonnak küldött kéréseket a tűzfalon keresztül, az ábra szerint.

firewall-cmd --add-service=ldap    #CentOS 7
sudo ufw allow ldap                #Ubuntu 16.04/18.04

2. lépés: Az LDAP szerver konfigurálása

Megjegyzés: Nem ajánlott manuálisan szerkeszteni az LDAP konfigurációt, hozzá kell adnia a konfigurációkat egy fájlban, és használja az ldapadd vagy ldapmodify paranccsal töltse be őket az LDAP-könyvtárba az alábbiak szerint.

4. Most hozzon létre egy OpenLDAP rendszergazdai felhasználót, és rendeljen hozzá jelszót. Az alábbi parancsban a megadott jelszóhoz egy hashed értéket készítünk, ezt vegyük tudomásul, az LDAP konfigurációs fájlban fogjuk használni.

slappasswd

5. Ezután hozzon létre egy LDIF fájlt (ldaprootpasswd.ldif), amellyel bejegyzést adhat hozzá az LDAP-könyvtárhoz.

sudo vim ldaprootpasswd.ldif

Adja hozzá a következő tartalmat:

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PASSWORD_CREATED

a fenti attribútum-érték párok magyarázata:

  • olcDatabase: egy adott adatbázispéldány nevét jelöli, és általában az /etc/openldap/slapd.d/cn=config mappában található.
  • cn=config: a globális konfigurációs beállításokat jelzi.
  • JELSZÓ: az adminisztratív felhasználó létrehozásakor kapott kivonatolt karakterlánc.

6. Ezután adja hozzá a megfelelő LDAP bejegyzést az ldap szerverre és a fenti fájlra hivatkozó URI megadásával.

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif  

3. lépés: LDAP-adatbázis konfigurálása

7. Most másolja a slapd mintaadatbázis-konfigurációs fájlját a /var/lib/ldap könyvtárba, és állítsa be a megfelelő engedélyeket a fájlhoz. .

sudo cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
sudo chown -R ldap:ldap /var/lib/ldap/DB_CONFIG
sudo systemctl restart slapd

8. Ezután importáljon néhány alapvető LDAP-sémát az /etc/openldap/schema könyvtárból az alábbiak szerint.

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif 
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

9. Most adja hozzá domainjét az LDAP-adatbázishoz, és hozzon létre egy ldapdomain.ldif nevű fájlt a domainhez.

sudo vim ldapdomain.ldif 

Adja hozzá a következő tartalmat (a példát cserélje ki a domainjére, a PASSWORD-ot pedig a korábban kapott kivonatolt értékre):

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
  read by dn.base="cn=Manager,dc=example,dc=com" read by * none

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}PASSWORD

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
  dn="cn=Manager,dc=example,dc=com" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=example,dc=com" write by * read

10. Ezután adja hozzá a fenti konfigurációt az LDAP adatbázishoz a következő paranccsal.

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif

11. Ebben a lépésben hozzá kell adnunk néhány bejegyzést az LDAP könyvtárunkhoz. Hozzon létre egy másik fájlt baseldapdomain.ldif néven a következő tartalommal.

dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: example com
dc: example

dn: cn=Manager,dc=example,dc=com
objectClass: organizationalRole
cn: Manager
description: Directory Manager

dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=example,dc=com
objectClass: organizationalUnit
ou: Group 

Mentse el a fájlt, majd adja hozzá a bejegyzéseket az LDAP-könyvtárhoz.

sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif

12. A következő lépés egy LDAP-felhasználó létrehozása, például példa, tecmint, és jelszó megadása ehhez a felhasználóhoz az alábbiak szerint.

sudo useradd tecmint
sudo passwd tecmint

13. Ezután hozza létre az LDAP-csoport definícióit egy ldapgroup.ldif nevű fájlban, a következő tartalommal.

dn: cn=Manager,ou=Group,dc=example,dc=com
objectClass: top
objectClass: posixGroup
gidNumber: 1005

A fenti konfigurációban a gidNumber a GID a /etc/group mappában a tecmint számára, és adja hozzá az OpenLDAP-hoz. Könyvtár.

sudo ldapadd -Y EXTERNAL -x  -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif

14. Ezután hozzon létre egy másik LDIF fájlt ldapuser.ldif néven, és adja hozzá a tecmint felhasználó definícióit.

dn: uid=tecmint,ou=People,dc=example,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: tecmint
uid: tecmint
uidNumber: 1005
gidNumber: 1005
homeDirectory: /home/tecmint
userPassword: {SSHA}PASSWORD_HERE
loginShell: /bin/bash
gecos: tecmint
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0

majd töltse be a konfigurációt az LDAP-könyvtárba.

ldapadd -Y EXTERNAL  -x -D cn=Manager,dc=example,dc=com -W -f  ldapuser.ldif

Miután beállította a központi szervert a hitelesítéshez, az utolsó rész az, hogy lehetővé tegye a kliens számára az LDAP használatával történő hitelesítést az útmutatóban leírtak szerint:

  1. Az LDAP kliens konfigurálása külső hitelesítés csatlakoztatásához

További információkért tekintse meg az OpenLDAP Software dokumentumkatalógusának megfelelő dokumentációját, az Ubuntu-felhasználók pedig az OpenLDAP kiszolgálói útmutatót tekinthetik meg.

Összegzés

Az OpenLDAP az LDAP nyílt forráskódú megvalósítása Linuxban. Ebben a cikkben bemutattuk, hogyan telepítheti és konfigurálhatja az OpenLDAP szervert központi hitelesítéshez Ubuntu 16.04/18.04 és CentOS 7 rendszerben. Ha kérdése vagy gondolata van megosztani, forduljon hozzánk bizalommal az alábbi megjegyzés űrlapon keresztül.