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:
- 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.