Kuinka asentaa OpenLDAP-palvelin keskitettyä todennusta varten
Kevyt hakemistoprotokolla (lyhyesti LDAP) on alan standardi, kevyt, laajasti käytetty protokollaryhmä hakemistopalveluiden käyttämiseen. Hakemistopalvelu on jaettu tietoinfrastruktuuri päivittäisten kohteiden ja verkkoresurssien, kuten käyttäjien, ryhmien, laitteiden, sähköpostiosoitteiden, puhelinnumeroiden, taltioiden ja monien muiden kohteiden, käyttämiseen, hallintaan, järjestämiseen ja päivittämiseen.
LDAP-tietomalli perustuu merkintöihin. LDAP-hakemiston merkintä edustaa yhtä yksikköä tai tietoja, ja se tunnistaa yksilöllisesti nimellä DN (Distinguished Name). Jokaisella merkinnän attribuutilla on tyyppi ja yksi tai useampi arvo.
Attribuutti on tieto, joka liittyy merkintään. Tyypit ovat tyypillisesti muistijonoja, kuten ”cn” yleiselle nimelle tai “mail” sähköpostiosoitteelle. Jokaiselle määritteelle on annettu yksi tai useampi arvo, joka koostuu välilyönnillä erotetusta luettelosta.
Seuraava on esimerkki siitä, miten tiedot on järjestetty LDAP-hakemistoon.
Tässä artikkelissa näytetään, kuinka OpenLDAP-palvelin asennetaan ja määritetään keskitettyä todennusta varten Ubuntu 16.04/18.04 ja CentOS 7: ssä.
Vaihe 1: LDAP-palvelimen asentaminen
1. Aloita ensin asentamalla OpenLDAP, LDAP: n avoimen lähdekoodin toteutus ja jotkut perinteiset LDAP-hallintaohjelmat seuraavien komentojen avulla.
# yum install openldap openldap-servers #CentOS 7 $ sudo apt install slapd ldap-utils #Ubuntu 16.04/18.04
Ubuntussa paketin asennuksen aikana sinua pyydetään antamaan järjestelmänvalvojan merkinnän salasana LDAP-hakemistossa, asettamaan suojattu salasana ja vahvistamaan se.
Kun asennus on valmis, voit aloittaa palvelun seuraavalla tavalla.
2. Käynnistä CentOS 7: ssä seuraavat komennot käynnistääksesi openldap-palvelindemonin, anna sen käynnistyä automaattisesti käynnistyshetkellä ja tarkista onko se käynnissä (Ubuntussa palvelu pitäisi käynnistää automaattisesti systemd: ssä, voit yksinkertaisesti tarkistaa sen asema):
$ sudo systemctl start slapd $ sudo systemctl enable slapd $ sudo systemctl status slapd
3. Salli seuraavaksi pyynnöt LDAP-palvelindemonille palomuurin kautta kuvan osoittamalla tavalla.
# firewall-cmd --add-service=ldap #CentOS 7 $ sudo ufw allow ldap #Ubuntu 16.04/18.04
Vaihe 2: LDAP-palvelimen määritys
Huomautus: LDAP-määritysten muokkaamista ei suositella manuaalisesti, sinun on lisättävä kokoonpanot tiedostoon ja ladattava ne LDAP-hakemistoon ldapadd- tai ldapmodify-komennolla alla olevan kuvan mukaisesti.
4. Luo nyt OpenLDAP-järjestelmänvalvojan käyttäjä ja määritä salasana tälle käyttäjälle. Alla olevassa komennossa luodaan hajautettu arvo annetulle salasanalle, huomioi se, käytät sitä LDAP-määritystiedostossa.
$ slappasswd
5. Luo sitten LDIF-tiedosto (ldaprootpasswd.ldif), jota käytetään lisäämään merkintä LDAP-hakemistoon.
$ sudo vim ldaprootpasswd.ldif
Lisää siihen seuraava sisältö:
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}PASSWORD_CREATED
selittämällä yllä olevat attribuutti-arvo-parit:
- olcDatabase: tarkoittaa tietyn tietokannan ilmentymän nimeä ja löytyy yleensä /etc/openldap/slapd.d/cn=config -osiosta.
- cn = config: ilmaisee yleiset asetusvaihtoehdot.
- PASSWORD: on hajautusmerkkijono, joka on saatu järjestelmänvalvojan käyttäjän luomisen yhteydessä.
6. Lisää seuraavaksi vastaava LDAP-merkintä määrittämällä UDD, joka viittaa ldap-palvelimeen ja yllä olevaan tiedostoon.
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
Vaihe 3: LDAP-tietokannan määrittäminen
7. Kopioi nyt slapd-esimerkkitietokannan määritystiedosto hakemistoon/var/lib/ldap ja määritä tiedostolle oikeat käyttöoikeudet.
$ 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. Tuo seuraavaksi joitain LDAP-perusmalleja hakemistosta/etc/openldap/schema seuraavasti.
$ 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. Lisää nyt toimialueesi LDAP-tietokantaan ja luo toimialueellesi tiedosto nimeltä ldapdomain.ldif.
$ sudo vim ldapdomain.ldif
Lisää siihen seuraava sisältö (korvaa esimerkki verkkotunnuksellasi ja SALASANA aiemmin saadulla hash-arvolla):
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. Lisää sitten yllä oleva kokoonpano LDAP-tietokantaan seuraavalla komennolla.
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif
11. Tässä vaiheessa meidän on lisättävä joitain merkintöjä LDAP-hakemistoon. Luo toinen tiedosto nimeltä baseldapdomain.ldif, jonka sisältö on seuraava.
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
Tallenna tiedosto ja lisää merkinnät sitten LDAP-hakemistoon.
$ sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif
12. Seuraava vaihe on luoda LDAP-käyttäjä, esimerkiksi tecmint, ja asettaa salasana tälle käyttäjälle seuraavasti.
$ sudo useradd tecmint $ sudo passwd tecmint
13. Luo sitten LDAP-ryhmän määritelmät tiedostoon ldapgroup.ldif, jonka sisältö on seuraava.
dn: cn=Manager,ou=Group,dc=example,dc=com objectClass: top objectClass: posixGroup gidNumber: 1005
Edellä olevassa kokoonpanossa gidNumber on/etc/-ryhmän GID tecmintille ja lisää se OpenLDAP-hakemistoon.
$ sudo ldapadd -Y EXTERNAL -x -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif
14. Luo seuraavaksi toinen LDIF-tiedosto nimeltä ldapuser.ldif ja lisää määritelmät käyttäjän tecmintille.
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
lataa sitten kokoonpano LDAP-hakemistoon.
$ ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f ldapuser.ldif
Kun olet määrittänyt keskuspalvelimen todennusta varten, viimeinen osa on antaa asiakkaalle mahdollisuus todentaa LDAP: lla tämän oppaan ohjeiden mukaisesti:
- Kuinka määritetään LDAP-asiakas yhdistämään ulkoinen todennus
Lisätietoja on OpenLDAP-palvelinoppaassa.
OpenLDAP on LDAP: n avoimen lähdekoodin toteutus Linuxissa. Tässä artikkelissa olemme osoittaneet, kuinka OpenLDAP-palvelin asennetaan ja määritetään keskitettyä todennusta varten, Ubuntu 16.04/18.04 ja CentOS 7: ssä. Jos sinulla on kysyttävää tai ajatuksia, älä epäröi ottaa meihin yhteyttä alla olevan kommenttilomakkeen kautta.