Kuidas installida OpenLDAP-server tsentraliseeritud autentimiseks
Kergekaaluline kataloogipääsuprotokoll (lühidalt - LDAP) on valdkonnastandard, kerge ja laialdaselt kasutatav protokollide komplekt kataloogiteenustele juurdepääsuks. Kataloogiteenus on jagatud infoinfrastruktuur igapäevastele üksustele ja võrguressurssidele, nagu kasutajad, rühmad, seadmed, e-posti aadressid, telefoninumbrid, köited ja paljud muud objektid, nende haldamiseks, korraldamiseks ja värskendamiseks.
LDAP-infomudel põhineb kirjetel. LDAP-kataloogi kirje tähistab ühte üksust või teavet ja on ainulaadselt identifitseeritud nn eristatava nimega (DN). Kõigil kirje atribuutidel on tüüp ja üks või mitu väärtust.
Atribuut on kirjega seotud teave. Tüübid on tavaliselt mnemoonilised stringid, näiteks “cn” üldnime või “mail” e-posti aadressi jaoks. Igale atribuudile on määratud üks või mitu väärtust, mis koosnevad tühikutega eraldatud loendist.
Järgnev on illustratsioon selle kohta, kuidas teave on LDAP-kataloogis korraldatud.
Selles artiklis näitame, kuidas installida ja konfigureerida OpenLDAP-server keskseks autentimiseks Ubuntu 16.04/18.04 ja CentOS 7-s.
1. samm: LDAP-serveri installimine
1. Kõigepealt alustage OpenAP-i installimine, LDAP-i avatud lähtekoodiga juurutamine ja mõned traditsioonilised LDAP-halduse utiliidid, kasutades järgmisi käske.
# yum install openldap openldap-servers #CentOS 7 $ sudo apt install slapd ldap-utils #Ubuntu 16.04/18.04
Ubuntu palutakse teil paketi installimise ajal sisestada oma LDAP-kataloogi administraatori sisestuse parool, määrata turvaline parool ja see kinnitada.
Kui installimine on lõpule jõudnud, võite teenuse käivitada järgmiselt.
2. Käivitage CentOS 7-s järgmised käsklused, et käivitada openldap-serveri deemon, lubage sellel käivitamisel automaatselt käivitada ja kontrollige, kas see töötab ja töötab (Ubuntu puhul peaks teenus olema süsteemi käivitamisel automaatselt käivitatav, saate lihtsalt kontrollida selle staatus):
$ sudo systemctl start slapd $ sudo systemctl enable slapd $ sudo systemctl status slapd
3. Seejärel lubage tulemüüri kaudu taotlused LDAP-serveri deemonile, nagu näidatud.
# firewall-cmd --add-service=ldap #CentOS 7 $ sudo ufw allow ldap #Ubuntu 16.04/18.04
2. samm: LDAP-serveri konfigureerimine
Märkus. LDAP-konfiguratsiooni pole soovitatav käsitsi muuta, peate lisama konfiguratsiooni faili ja kasutama käsku ldapadd või ldapmodify, et laadida need LDAP-kataloogi, nagu allpool näidatud.
4. Nüüd looge OpenLDAP administraatorikasutaja ja määrake sellele kasutajale parool. Allolevas käsus luuakse antud paroolile räsiväärtus, võtke see teadmiseks, kasutate seda LDAP-i konfiguratsioonifailis.
$ slappasswd
5. Seejärel looge LDIF-fail (ldaprootpasswd.ldif), mida kasutatakse kirje lisamiseks LDAP-kataloogi.
$ sudo vim ldaprootpasswd.ldif
Lisage sellesse järgmine sisu:
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}PASSWORD_CREATED
selgitades ülaltoodud atribuut-väärtuspaare:
- olcDatabase: tähistab konkreetset andmebaasi eksemplari nime ja selle võib tavaliselt leida /etc/openldap/slapd.d/cn=config.
- cn = config: näitab globaalseid seadistusvõimalusi.
- PASSWORD: on räsitud string, mis saadakse administraatori kasutaja loomisel.
6. Seejärel lisage vastav LDAP-kirje, määrates ldap-serverile ja ülaltoodud failile viitava URI.
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
3. samm: LDAP-i andmebaasi konfigureerimine
7. Nüüd kopeerige slapdi andmebaasi konfiguratsioonifaili näidis kataloogi/var/lib/ldap ja määrake failile õiged õigused.
$ 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. Järgmisena importige mõned põhilised LDAP-skeemid kataloogist/etc/openldap/schema järgmiselt.
$ 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. Nüüd lisage oma domeen LDAP-i andmebaasi ja looge oma domeeni jaoks fail nimega ldapdomain.ldif.
$ sudo vim ldapdomain.ldif
Lisage sinna järgmine sisu (asendage näide oma domeeni ja PASSWORDiga enne saadud räsiväärtusega):
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. Seejärel lisage ülaltoodud konfiguratsioon LDAP-i andmebaasi järgmise käsuga.
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif
11. Selles etapis peame lisama mõned kirjed meie LDAP-kataloogi. Looge järgmine sisu nimega baseldapdomain.ldif.
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
Salvestage fail ja lisage kirjed LDAP-kataloogi.
$ sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif
12. Järgmine samm on luua näiteks LDAP kasutaja tecmint ja määrata sellele kasutajale parool järgmiselt.
$ sudo useradd tecmint $ sudo passwd tecmint
13. Seejärel looge LDAP-rühma definitsioonid järgmise sisuga failis nimega ldapgroup.ldif.
dn: cn=Manager,ou=Group,dc=example,dc=com objectClass: top objectClass: posixGroup gidNumber: 1005
Ülaltoodud konfiguratsioonis on gidNumber tecminti grupis/etc/GID ja lisage see kataloogi OpenLDAP.
$ sudo ldapadd -Y EXTERNAL -x -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif
14. Järgmisena looge teine LDIF-fail nimega ldapuser.ldif ja lisage kasutaja tecmint definitsioonid.
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
siis laadige konfiguratsioon LDAP-kataloogi.
$ ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f ldapuser.ldif
Kui olete keskse serveri autentimiseks seadistanud, on viimane osa lubada kliendil LDAP-i abil autentida, nagu selles juhendis selgitatud:
- Kuidas seadistada LDAP-klient välise autentimise ühendamiseks
Lisateabe saamiseks vaadake asjakohast dokumentatsiooni OpenLDAP-serveri juhendist.
OpenLDAP on Linuxis avatud lähtekoodiga LDAP-i juurutamine. Selles artiklis oleme näidanud, kuidas installida ja konfigureerida OpenLDAP-server keskseks autentimiseks Ubuntu 16.04/18.04 ja CentOS 7-s. Kui teil on küsimusi või mõtteid jagada, võtke meiega kindlasti ühendust alloleva kommentaarivormi kaudu.