Kako namestiti strežnik OpenLDAP za centralizirano preverjanje pristnosti
Lahek protokol dostopa do imenika (na kratko LDAP) je industrijski standard, lahek, široko uporabljan niz protokolov za dostop do imeniških storitev. Imeniška storitev je skupna informacijska infrastruktura za dostop, upravljanje, organiziranje in posodabljanje vsakodnevnih predmetov in omrežnih virov, kot so uporabniki, skupine, naprave, e -poštni naslovi, telefonske številke, zvezki in številni drugi predmeti.
Informacijski model LDAP temelji na vnosih. Vnos v imenik LDAP predstavlja eno samo enoto ali informacijo in je enolično identificiran s tem, kar se imenuje razlikovalno ime (DN). Vsak atribut vnosa ima vrsto in eno ali več vrednosti.
Atribut je podatek, povezan z vnosom. Tipi so običajno mnemonični nizi, na primer »cn« za splošno ime ali »pošta« za e -poštni naslov. Vsakemu atributu je dodeljena ena ali več vrednosti, sestavljenih iz seznama, ločenega s presledkom.
Spodaj je ponazoritev, kako so informacije razporejene v imeniku LDAP.
V tem članku bomo pokazali, kako namestiti in konfigurirati strežnik OpenLDAP za centralizirano preverjanje pristnosti v Ubuntu 16.04/18.04 in CentOS 7.
1. korak: Namestitev strežnika LDAP
1. Najprej začnite z namestitvijo OpenLDAP, odprtokodne implementacije LDAP in nekaterih tradicionalnih pripomočkov za upravljanje LDAP z naslednjimi ukazi.
# yum install openldap openldap-servers #CentOS 7 $ sudo apt install slapd ldap-utils #Ubuntu 16.04/18.04
V Ubuntuju boste med namestitvijo paketa morali vnesti geslo za skrbniški vnos v imenik LDAP, nastaviti varno geslo in ga potrditi.
Ko je namestitev končana, lahko storitev zaženete, kot je opisano v nadaljevanju.
2. Na CentOS 7 zaženite naslednje ukaze, da zaženete strežniški demon openldap, mu omogočite samodejni zagon ob zagonu in preverite, ali je zagnan (v sistemu Ubuntu je treba storitev samodejno zagnati pod systemd, lahko preprosto preverite njen status):
$ sudo systemctl start slapd $ sudo systemctl enable slapd $ sudo systemctl status slapd
3. Nato dovolite zahteve demonu strežnika LDAP skozi požarni zid, kot je prikazano.
# firewall-cmd --add-service=ldap #CentOS 7 $ sudo ufw allow ldap #Ubuntu 16.04/18.04
2. korak: Konfiguriranje strežnika LDAP
Opomba: Konfiguracije LDAP ni priporočljivo ročno urejati. Konfiguracije morate dodati v datoteko in uporabiti ukaz ldapadd ali ldapmodify, da jih naložite v imenik LDAP, kot je prikazano spodaj.
4. Zdaj ustvarite skrbniškega uporabnika OpenLDAP in mu dodelite geslo. V spodnjem ukazu se za podano geslo ustvari zgoščena vrednost, upoštevajte jo, uporabili jo boste v konfiguracijski datoteki LDAP.
$ slappasswd
5. Nato ustvarite datoteko LDIF (ldaprootpasswd.ldif), ki se uporablja za dodajanje vnosa v imenik LDAP.
$ sudo vim ldaprootpasswd.ldif
Vanj dodajte naslednjo vsebino:
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}PASSWORD_CREATED
razlaga zgornjih parov atribut-vrednost:
- olcDatabase: označuje določeno ime primerka baze podatkov in ga običajno najdemo v /etc/openldap/slapd.d/cn=config.
- cn = config: označuje globalne možnosti konfiguracije.
- GESLO: je zgoščeni niz, pridobljen med ustvarjanjem skrbniškega uporabnika.
6. Nato dodajte ustrezen vnos LDAP tako, da podate URI, ki se nanaša na strežnik ldap, in zgornjo datoteko.
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f ldaprootpasswd.ldif
3. korak: Konfiguriranje baze podatkov LDAP
7. Zdaj kopirajte vzorčno konfiguracijsko datoteko zbirke podatkov za slapd v imenik/var/lib/ldap in nastavite pravilna dovoljenja za datoteko.
$ 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. Nato uvozite nekaj osnovnih shem LDAP iz imenika/etc/openldap/schema, kot sledi.
$ 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. Zdaj dodajte svojo domeno v bazo LDAP in ustvarite datoteko z imenom ldapdomain.ldif za svojo domeno.
$ sudo vim ldapdomain.ldif
Vanj dodajte naslednjo vsebino (primer zamenjajte z vašo domeno in GESLO z zgoščeno vrednostjo, ki ste jo dobili prej):
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. Nato dodajte zgornjo konfiguracijo v bazo podatkov LDAP z naslednjim ukazom.
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f ldapdomain.ldif
11. V tem koraku moramo v imenik LDAP dodati nekaj vnosov. Ustvarite drugo datoteko baseldapdomain.ldif z naslednjo vsebino.
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
Shranite datoteko in nato vnose dodajte v imenik LDAP.
$ sudo ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f baseldapdomain.ldif
12. Naslednji korak je ustvarjanje uporabnika LDAP, na primer tecmint, in nastavitev gesla za tega uporabnika na naslednji način.
$ sudo useradd tecmint $ sudo passwd tecmint
13. Nato ustvarite definicije za skupino LDAP v datoteki z imenom ldapgroup.ldif z naslednjo vsebino.
dn: cn=Manager,ou=Group,dc=example,dc=com objectClass: top objectClass: posixGroup gidNumber: 1005
V zgornji konfiguraciji je gidNumber GID v /etc /group za tecmint in ga doda v imenik OpenLDAP.
$ sudo ldapadd -Y EXTERNAL -x -W -D "cn=Manager,dc=example,dc=com" -f ldapgroup.ldif
14. Nato ustvarite drugo datoteko LDIF z imenom ldapuser.ldif in dodajte definicije za uporabnika 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
nato naložite konfiguracijo v imenik LDAP.
$ ldapadd -Y EXTERNAL -x -D cn=Manager,dc=example,dc=com -W -f ldapuser.ldif
Ko nastavite osrednji strežnik za preverjanje pristnosti, je zadnji del, da odjemalcu omogočite preverjanje pristnosti z uporabo protokola LDAP, kot je razloženo v tem priročniku:
- Kako konfigurirati odjemalca LDAP za povezavo z zunanjo avtentikacijo
Za več informacij glejte ustrezno dokumentacijo iz vodnika za strežnike OpenLDAP.
OpenLDAP je odprtokodna implementacija LDAP v Linuxu. V tem članku smo pokazali, kako namestiti in konfigurirati strežnik OpenLDAP za centralizirano preverjanje pristnosti, v Ubuntu 16.04/18.04 in CentOS 7. Če imate vprašanja ali misli, ki jih želite deliti, nas prosimo kontaktirajte preko spodnjega obrazca za komentarje.