Instal dan Konfigurasi Open LDAP

LDAP dikenal sebagai Light Weight Directory Access Protocoladalah protokol yang digunakan untuk mengakses wadah layanan X.500 dalam perusahaan yang dikenal dari direktori. Mereka yang terbiasa dengan Administrasi Server Windows dapat menganggap LDAP sangat mirip dengan Active Directory. Ini bahkan merupakan konsep yang digunakan secara luas untuk menghubungkan workstation Windows menjadi perusahaan OpenLDAP CentOS. Di spektrum lain, workstation CentOS Linux dapat berbagi sumber daya dan berpartisipasi dengan fungsionalitas dasar di Domain Windows.

Menyebarkan LDAP di CentOS sebagai Agen Server Direktori, Agen Sistem Direktori, atau DSA (semua akronim ini adalah satu dan sama) mirip dengan penginstalan Novell Netware yang lebih lama menggunakan struktur Pohon Direktori dengan NDS.

Sejarah Singkat LDAP

LDAP pada dasarnya dibuat sebagai cara yang efisien untuk mengakses direktori X.500 dengan sumber daya perusahaan. Baik X.500 dan LDAP memiliki karakteristik yang sama dan sangat mirip sehingga klien LDAP dapat mengakses direktori X.500 dengan beberapa pembantu. Sedangkan LDAP juga memiliki server direktorinya sendiri yang disebutslapd. Perbedaan utama antara LDAP dan DAP adalah, versi ringannya dirancang untuk beroperasi melalui TCP.

Sedangkan DAP menggunakan Model OSI penuh. Dengan munculnya Internet, TCP / IP, dan keunggulan Ethernet dalam jaringan saat ini, jarang sekali menemukan implantasi Layanan Direktori yang menggunakan direktori perusahaan DAP dan X.500 asli di luar model komputasi lawas tertentu.

Komponen utama yang digunakan dengan openldap untuk CentOS Linux adalah -

openldap Pustaka dukungan LDAP
openldap-server Server LDAP
openldap-clients Utilitas klien LDAP
openldap-devel Perpustakaan pengembangan untuk OpenLDAP
compay-openldap Perpustakaan bersama OpenLDAP
slapd Daemon server direktori OpenLDAP
menyeruput Digunakan untuk replikasi LDAP di seluruh domain perusahaan

Note - Saat menamai perusahaan Anda, praktik terbaiknya adalah menggunakan .localTLD. Menggunakan .net atau .com dapat menyebabkan kesulitan saat memisahkan infrastruktur domain online dan internal. Bayangkan pekerjaan ekstra untuk perusahaan secara internal menggunakan acme.com untuk operasi eksternal dan internal. Oleh karena itu, sebaiknya miliki sumber daya Internet yang disebut acme.com atau acme.net . Kemudian, sumber daya perusahaan jaringan lokal digambarkan sebagai acme.local . Ini akan memerlukan konfigurasi catatan DNS, tetapi akan membayar dalam kesederhanaan, kefasihan, dan keamanan.

Instal Open LDAP di CentOS

Instal openldap, openldap-server, openldap-clients, dan perangkat migrasi dari YUM .

[root@localhost]# yum -y install openldap openldap-servers openldap-clients
migration tools
 Loaded plugins: fastestmirror, langpacks
 updates
 | 3.4 kB  00:00:00
 updates/7/x86_64/primary_db
 | 2.2 MB  00:00:05
 Determining fastest mirrors
 (1/2): extras/7/x86_64/primary_db
 | 121 kB  00:00:01
 (2/2): base/7/x86_64/primary_db
 | 5.6 MB  00:00:16
 Package openldap-2.4.40-13.el7.x86_64 already installed and latest version
 Resolving Dependencies
 --> Running transaction check
 ---> Package openldap-clients.x86_64 0:2.4.40-13.el7 will be installed
 ---> Package openldap-servers.x86_64 0:2.4.40-13.el7 will be installed
 --> Finished Dependency Resolution
 base/7/x86_64/group_gz
 | 155 kB  00:00:00
 
 Dependencies Resolved
 
=============================================================================== 
=============================================================================== 
Package                                Arch
Version                             Repository                        Size 
=============================================================================== 
=============================================================================== 
Installing: 
openldap-clients                    x86_64
2.4.40-13.el7                    base                                 188 k 
openldap-servers                    x86_64
2.4.40-13.el7                    base                                 2.1 M  

Transaction Summary 
=============================================================================== 
===============================================================================
Install  2 Packages

Total download size: 2.3 M 
Installed size: 5.3 M 
Downloading packages:

Installed: 
openldap-clients.x86_64 0:2.4.40-13.el7                                       
openldap-servers.x86_64 0:2.4.40-13.el7                                       
Complete! 
[root@localhost]#

Sekarang, mari mulai dan aktifkan layanan slapd -

[root@centos]# systemctl start slapd 
[root@centos]# systemctl enable  slapd

Pada titik ini, pastikan kita memiliki struktur openldap di / etc / openldap .

root@localhost]# ls /etc/openldap/ 
certs  check_password.conf  ldap.conf  schema  slapd.d
[root@localhost]#

Kemudian pastikan layanan slapd kami berjalan.

root@centos]# netstat -antup | grep slapd
tcp        0      0 0.0.0.0:389            0.0.0.0:*              LISTEN      1641/slapd
tcp6       0      0 :::389                 :::*                   LISTEN      1641/slapd
 
[root@centos]#

Selanjutnya, mari konfigurasikan instalasi Open LDAP kita .

Pastikan pengguna ldap sistem kami telah dibuat.

[root@localhost]# id ldap 
uid=55(ldap) gid=55(ldap) groups=55(ldap)
[root@localhost]#

Buat kredensial LDAP kami.

[root@localhost]# slappasswd  
New password:  
Re-enter new password:  
{SSHA}20RSyjVv6S6r43DFPeJgASDLlLoSU8g.a10

[root@localhost]#

Kita perlu menyimpan keluaran dari slappasswd.

Konfigurasi Open LDAP

Step 1 - Konfigurasi LDAP untuk domain dan tambahkan pengguna administratif.

Pertama, kami ingin menyiapkan lingkungan openLDAP kami. Berikut adalah template yang akan digunakan dengan perintah ldapmodify .

dn: olcDatabase={2}hdb,cn=config 
changetype: modify 
replace: olcSuffix 
olcSuffix: dc=vmnet,dc=local 
dn: olcDatabase = {2}hdb,cn=config 
changetype: modify 
replace: olcRootDN 
olcRootDN: cn=ldapadm,dc=vmnet,dc=local 
dn: olcDatabase = {2}hdb,cn=config 
changetype: modify 
replace: olcRootPW 
olcRootPW: <output from slap

Lakukan perubahan pada: /etc/openldap/slapd.d/cn=config/olcDatabase = {1} monitor.ldif dengan perintah ldapmodify.

[root@localhost]# ldapmodify -Y EXTERNAL -H ldapi:/// -f /home/rdc/Documents/db.ldif  
SASL/EXTERNAL authentication started 
SASL username: gidNumber = 0+uidNumber = 0,cn=peercred,cn=external,cn=auth 
SASL SSF: 0 
modifying entry "olcDatabase = {2}hdb,cn=config" 
modifying entry "olcDatabase = {2}hdb,cn=config" 
modifying entry "olcDatabase = {2}hdb,cn=config" 

[root@localhost cn=config]#

Mari kita periksa konfigurasi LDAP yang dimodifikasi.

root@linux1 ~]# vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif

[root@centos]# cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
 # AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. 
 # CRC32 a163f14c
dn: olcDatabase = {2}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
structuralObjectClass: olcHdbConfig
entryUUID: 1bd9aa2a-8516-1036-934b-f7eac1189139
creatorsName: cn=config
createTimestamp: 20170212022422Z
olcSuffix: dc=vmnet,dc=local
olcRootDN: cn=ldapadm,dc=vmnet,dc=local
olcRootPW:: e1NTSEF1bUVyb1VzZTRjc2dkYVdGaDY0T0k = 
entryCSN: 20170215204423.726622Z#000000#000#000000 
modifiersName: gidNumber = 0+uidNumber = 0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20170215204423Z

[root@centos]#

Seperti yang Anda lihat, modifikasi perusahaan LDAP kami berhasil.

Selanjutnya, kami ingin membuat sertifikat ssl yang ditandatangani sendiri untuk OpenLDAP. Ini akan mengamankan komunikasi antara server perusahaan dan klien.

Step 2 - Buat sertifikat yang ditandatangani sendiri untuk OpenLDAP.

Kami akan menggunakan openssl untuk membuat sertifikat ssl yang ditandatangani sendiri. Pergi ke bab berikutnya,Create LDAP SSL Certificate with openssluntuk instruksi untuk mengamankan komunikasi dengan OpenLDAP. Kemudian ketika sertifikat ssl dikonfigurasi, kami akan menyelesaikan konfigurasi perusahaan OpenLDAP kami.

Step 3 - Konfigurasi OpenLDAP untuk menggunakan komunikasi aman dengan sertifikat.

Buat file certs.ldif di vim dengan informasi berikut -

dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/yourGeneratedCertFile.pem

dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/youGeneratedKeyFile.pem

Selanjutnya, sekali lagi, gunakan perintah ldapmodify untuk menggabungkan perubahan ke dalam konfigurasi OpenLDAP.

[root@centos rdc]# ldapmodify -Y EXTERNAL  -H ldapi:/// -f certs.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber = 0+uidNumber = 0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"

[root@centos]#

Terakhir, mari kita uji konfigurasi OpenLADP kita.

[root@centos]# slaptest -u 
config file testing succeeded 
[root@centos]#

Step 4 - Siapkan database slapd.

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG && 
chown ldap:ldap /var/lib/ldap/*

Memperbarui Skema OpenLDAP.

Tambahkan skema LDAP cosinus dan nis.

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

Terakhir, buat skema perusahaan dan tambahkan ke konfigurasi OpenLDAP saat ini.

Berikut ini untuk domain bernama vmnet. lokal dengan Admin LDAP yang disebut ldapadm .

dn: dc=vmnet,dc=local
dc: vmnet
objectClass: top
objectClass: domain

dn: cn=ldapadm ,dc=vmnet,dc=local
objectClass: organizationalRole
cn: ldapadm
description: LDAP Manager

dn: ou = People,dc=vmnet,dc=local
objectClass: organizationalUnit
ou: People

dn: ou = Group,dc=vmnet,dc=local 
objectClass: organizationalUnit 
ou: Group

Terakhir, impor ini ke dalam skema OpenLDAP saat ini.

[root@centos]# ldapadd -x -W -D "cn=ldapadm,dc=vmnet,dc=local" -f ./base.ldif
 Enter LDAP Password:
adding new entry "dc=vmnet,dc=local"

adding new entry "cn=ldapadm ,dc=vmnet,dc=local"

adding new entry "ou=People,dc=vmnet,dc=local"

adding new entry "ou=Group,dc=vmnet,dc=local"

[root@centos]#

Step 5 - Siapkan Pengguna Perusahaan OpenLDAP.

Buka vim atau editor teks favorit Anda dan salin format berikut. Ini adalah penyiapan untuk pengguna bernama "entacct" di domain LDAP "vmnet.local".

dn: uid=entacct,ou=People,dc=vmnet,dc=local 
objectClass: top
objectClass: account 
objectClass: posixAccount 
objectClass: shadowAccount 
cn: entacct 
uid: entacct 
uidNumber: 9999 
gidNumber: 100 
homeDirectory: /home/enyacct 
loginShell: /bin/bash 
gecos: Enterprise User Account 001 
userPassword: {crypt}x 
shadowLastChange: 17058 
shadowMin: 0 
shadowMax: 99999 
shadowWarning: 7

Sekarang impor file di atas, seperti yang disimpan, ke dalam OpenLdap Schema.

[root@centos]# ldapadd -x -W -D "cn=ldapadm,dc=vmnet,dc=local" -f entuser.ldif 
 Enter LDAP Password:
adding new entry "uid=entacct,ou=People,dc=vmnet,dc=local" 

[root@centos]#

Sebelum pengguna dapat mengakses LDAP Enterprise, kami perlu menetapkan sandi sebagai berikut -

ldappasswd -s password123 -W -D "cn=ldapadm,dc=entacct,dc=local" -x "uid=entacct 
,ou=People,dc=vmnet,dc=local"

-s menentukan kata sandi untuk pengguna

-x adalah nama pengguna untuk penerapan pembaruan kata sandi

-D adalah * nama yang dibedakan "untuk mengautentikasi terhadap skema LDAP.

Terakhir, sebelum masuk ke akun Perusahaan, mari periksa entri OpenLDAP kami .

[root@centos rdc]# ldapsearch -x cn=entacct -b dc=vmnet,dc=local
 # extended LDIF
 #
 # LDAPv3
 # base <dc=vmnet,dc=local> with scope subtree
 # filter: cn=entacct
 # requesting: ALL 
 # 
 # entacct, People, vmnet.local 
dn: uid=entacct,ou=People,dc=vmnet,dc=local 
objectClass: top 
objectClass: account 
objectClass: posixAccount 
objectClass: shadowAccount 
cn: entacct 
uid: entacct 
uidNumber: 9999 
gidNumber: 100 
homeDirectory: /home/enyacct 
loginShell: /bin/bash 
gecos: Enterprise User Account 001 
userPassword:: e2NyeXB0fXg= 
shadowLastChange: 17058 
shadowMin: 0 
shadowMax: 99999 
shadowWarning: 7

Mengonversi hal-hal seperti / etc / passwd dan / etc / groups ke otentikasi OpenLDAP memerlukan penggunaan alat migrasi. Ini termasuk dalam paket alat migrasi . Kemudian, instal ke / usr / share / migrasitools .

[root@centos openldap-servers]# ls -l /usr/share/migrationtools/
total 128
-rwxr-xr-x. 1 root root  2652 Jun  9  2014 migrate_aliases.pl
-rwxr-xr-x. 1 root root  2950 Jun  9  2014 migrate_all_netinfo_offline.sh
-rwxr-xr-x. 1 root root  2946 Jun  9  2014 migrate_all_netinfo_online.sh
-rwxr-xr-x. 1 root root  3011 Jun  9  2014 migrate_all_nis_offline.sh
-rwxr-xr-x. 1 root root  3006 Jun  9  2014 migrate_all_nis_online.sh
-rwxr-xr-x. 1 root root  3164 Jun  9  2014 migrate_all_nisplus_offline.sh
-rwxr-xr-x. 1 root root  3146 Jun  9  2014 migrate_all_nisplus_online.sh
-rwxr-xr-x. 1 root root  5267 Jun  9  2014 migrate_all_offline.sh
-rwxr-xr-x. 1 root root  7468 Jun  9  2014 migrate_all_online.sh
-rwxr-xr-x. 1 root root  3278 Jun  9  2014 migrate_automount.pl
-rwxr-xr-x. 1 root root  2608 Jun  9  2014 migrate_base.pl

Step 6 - Terakhir, kita perlu mengizinkan akses ke layanan slapd sehingga dapat melayani permintaan.

firewall-cmd --permanent --add-service=ldap 
firewall-cmd --reload

Konfigurasikan Akses Klien LDAP

Mengonfigurasi akses klien LDAP memerlukan paket berikut pada klien: openldap, klien open-ldap, dan nss_ldap.

Mengonfigurasi otentikasi LDAP untuk sistem klien sedikit lebih mudah.

Step 1 - Instal paket dependen -

# yum install -y openldap-clients nss-pam-ldapd

Step 2- Konfigurasi otentikasi LDAP dengan authconfig .

authconfig --enableldap --enableldapauth --ldapserver=10.25.0.1 --
ldapbasedn="dc=vmnet,dc=local" --enablemkhomedir --update

Step 3 - Mulai ulang layanan nslcd.

systemctl restart  nslcd