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