Hvernig á að setja upp OpenLDAP netþjón fyrir miðlæga auðkenningu


Lightweight Directory Access Protocol (LDAP í stuttu máli) er iðnaðarstaðall, léttur, mikið notaður samskiptareglur til að fá aðgang að skráarþjónustu. Skráaþjónusta er samnýtt upplýsingainnviði til að fá aðgang að, stjórna, skipuleggja og uppfæra hversdagsleg atriði og nettilföng, svo sem notendur, hópa, tæki, netföng, símanúmer, bindi og marga aðra hluti.

LDAP upplýsingalíkanið er byggt á færslum. Færsla í LDAP-skrá táknar eina einingu eða upplýsingar og er einstaklega auðkennd með því sem kallast aðgreint nafn (DN). Hver eiginleiki færslunnar hefur tegund og eitt eða fleiri gildi.

Eiginleiki er upplýsingar sem tengjast færslu. Tegundirnar eru venjulega minnismerkisstrengir, svo sem „cn“ fyrir almennt nafn, eða „póstur“ fyrir netfang. Hver eiginleiki er úthlutað einu eða fleiri gildum sem samanstanda af bilaðskilnum lista.

Eftirfarandi er mynd af því hvernig upplýsingum er raðað í LDAP skrána.

Í þessari grein munum við sýna hvernig á að setja upp og stilla OpenLDAP miðlara fyrir miðlæga auðkenningu í Ubuntu 16.04/18.04 og CentOS 7.

Skref 1: Uppsetning LDAP Server

1. Byrjaðu fyrst á því að setja upp OpenLDAP, opinn uppspretta útfærslu á LDAP og sumum hefðbundnum LDAP stjórnunartólum með því að nota eftirfarandi skipanir.

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

Á Ubuntu, meðan á uppsetningu pakkans stendur, verðurðu beðinn um að slá inn lykilorðið fyrir stjórnandafærsluna í LDAP skránni þinni, stilla öruggt lykilorð og staðfesta það.

Þegar uppsetningunni er lokið geturðu ræst þjónustuna eins og útskýrt er næst.

2. Á CentOS 7, keyrðu eftirfarandi skipanir til að ræsa openldap netþjónapúkann, virkjaðu sjálfvirkt að ræsa hann við ræsingu og athugaðu hvort hún sé í gangi (á Ubuntu ætti þjónustan að vera ræst sjálfkrafa undir systemd, þú getur einfaldlega athugað staða þess):

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

3. Næst skaltu leyfa beiðnum til LDAP-þjónapúksins í gegnum eldvegginn eins og sýnt er.

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

Skref 2: Stilla LDAP Server

Athugið: Ekki er mælt með því að breyta LDAP stillingunum handvirkt, þú þarft að bæta stillingunum við skrá og nota ldapadd eða ldapmodify skipunina til að hlaða þeim í LDAP skrána eins og sýnt er hér að neðan.

4. Búðu til OpenLDAP stjórnunarnotanda og úthlutaðu lykilorði fyrir þann notanda. Í skipuninni hér að neðan er búið til hashed gildi fyrir tiltekið lykilorð, taktu eftir því, þú munt nota það í LDAP stillingarskránni.

$ slappasswd

5. Búðu svo til LDIF skrá (ldaprootpasswd.ldif) sem er notuð til að bæta við færslu í LDAP skrána.

$ sudo vim ldaprootpasswd.ldif

Bættu eftirfarandi innihaldi við það:

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

útskýrir eiginleika-gildi pörin hér að ofan:

  • olcDatabase: gefur til kynna tiltekið gagnagrunnstilviksheiti og er venjulega að finna í /etc/openldap/slapd.d/cn=config.
  • cn=config: sýnir alþjóðlega stillingarvalkosti.
  • LYKILORÐ: er hashed strengurinn sem fæst þegar stjórnunarnotandinn var búinn til.

6. Næst skaltu bæta við samsvarandi LDAP færslu með því að tilgreina URI sem vísar til ldap þjónsins og skrána hér að ofan.

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

Skref 3: Stilla LDAP gagnagrunn

7. Afritaðu nú stillingarskrá gagnagrunnsins fyrir slapd inn í /var/lib/ldap möppuna og stilltu réttar heimildir fyrir skrána.

$ 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. Næst skaltu flytja inn nokkur grunn LDAP skema úr /etc/openldap/schema skránni sem hér segir.

$ 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. Bættu nú við léninu þínu í LDAP gagnagrunninn og búðu til skrá sem heitir ldapdomain.ldif fyrir lénið þitt.

$ sudo vim ldapdomain.ldif 

Bættu við eftirfarandi efni í það (skiptu dæminu út fyrir lénið þitt og LYKILORÐ fyrir hashed gildið sem fékkst áður):

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. Bættu síðan ofangreindum stillingum við LDAP gagnagrunninn með eftirfarandi skipun.

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

11. Í þessu skrefi þurfum við að bæta nokkrum færslum við LDAP skrána okkar. Búðu til aðra skrá sem heitir baseldapdomain.ldif með eftirfarandi innihaldi.

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 

Vistaðu skrána og bættu síðan færslunum við LDAP skrána.

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

12. Næsta skref er að búa til LDAP notanda til dæmis, tecmint, og setja lykilorð fyrir þennan notanda sem hér segir.

$ sudo useradd tecmint
$ sudo passwd tecmint

13. Búðu síðan til skilgreiningar fyrir LDAP hóp í skrá sem heitir ldapgroup.ldif með eftirfarandi innihaldi.

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

Í uppsetningunni hér að ofan er gidNumber GID í /etc/group fyrir tecmint og bættu því við OpenLDAP skrána.

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

14. Næst skaltu búa til aðra LDIF skrá sem heitir ldapuser.ldif og bæta við skilgreiningum fyrir notanda tecmint.

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

hlaðið síðan stillingunum í LDAP skrána.

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

Þegar þú hefur sett upp miðlægan netþjón fyrir auðkenningu, er síðasti hlutinn að gera viðskiptavininum kleift að auðkenna með LDAP eins og útskýrt er í þessari handbók:

  1. Hvernig á að stilla LDAP biðlara til að tengja ytri auðkenningu

Fyrir frekari upplýsingar, sjá viðeigandi skjöl frá OpenLDAP netþjónshandbók.

OpenLDAP er opinn uppspretta útfærsla á LDAP í Linux. Í þessari grein höfum við sýnt hvernig á að setja upp og stilla OpenLDAP miðlara fyrir miðlæga auðkenningu, í Ubuntu 16.04/18.04 og CentOS 7. Ef þú hefur spurningu eða hugsanir til að deila skaltu ekki hika við að hafa samband við okkur í gegnum athugasemdareyðublaðið hér að neðan.