Cài đặt và cấu hình mở LDAP
LDAP được gọi là Light Weight Directory Access Protocollà một giao thức được sử dụng để truy cập các vùng chứa dịch vụ X.500 trong một doanh nghiệp được biết đến từ một thư mục. Những người đã quen thuộc với Quản trị Windows Server có thể nghĩ rằng LDAP có bản chất rất giống với Active Directory. Nó thậm chí còn là một khái niệm được sử dụng rộng rãi để kết hợp các máy trạm Windows thành một doanh nghiệp OpenLDAP CentOS. Trên phạm vi khác, máy trạm CentOS Linux có thể chia sẻ tài nguyên và tham gia với chức năng cơ bản trong Miền Windows.
Triển khai LDAP trên CentOS dưới dạng Tác nhân máy chủ thư mục, Tác nhân hệ thống thư mục hoặc DSA (các từ viết tắt này đều là một và giống nhau) tương tự như cài đặt Novell Netware cũ hơn bằng cách sử dụng cấu trúc Cây thư mục với NDS.
Lịch sử tóm tắt của LDAP
LDAP về cơ bản được tạo ra như một cách hiệu quả để truy cập các thư mục X.500 với tài nguyên doanh nghiệp. Cả X.500 và LDAP đều có chung đặc điểm và giống nhau đến mức các máy khách LDAP có thể truy cập thư mục X.500 với một số trình trợ giúp. Mặc dù LDAP cũng có máy chủ thư mục riêng được gọi làslapd. Sự khác biệt chính giữa LDAP và DAP là, phiên bản nhẹ được thiết kế để hoạt động trên TCP.
Trong khi DAP sử dụng Mô hình OSI đầy đủ. Với sự ra đời của Internet, TCP / IP và Ethernet nổi bật trong các mạng ngày nay, hiếm khi bắt gặp việc cấy ghép Dịch vụ Thư mục bằng cách sử dụng cả thư mục doanh nghiệp DAP và X.500 gốc bên ngoài các mô hình điện toán kế thừa cụ thể.
Các thành phần chính được sử dụng với openldap cho CentOS Linux là:
openldap | Thư viện hỗ trợ LDAP |
---|---|
openldap-server | Máy chủ LDAP |
openldap-client | Ứng dụng khách LDAP |
openldap-devel | Thư viện phát triển cho OpenLDAP |
compay-openldap | Thư viện được chia sẻ OpenLDAP |
tát | Daemon máy chủ thư mục của OpenLDAP |
slurpd | Được sử dụng để sao chép LDAP trên một miền doanh nghiệp |
Note - Khi đặt tên cho doanh nghiệp của bạn, cách tốt nhất là sử dụng .localTLD. Việc sử dụng .net hoặc .com có thể gây ra khó khăn khi tách biệt cơ sở hạ tầng miền trực tuyến và nội bộ. Hãy tưởng tượng công việc bổ sung cho một công ty trong nội bộ bằng cách sử dụng acme.com cho cả hoạt động bên ngoài và nội bộ. Do đó, có thể là khôn ngoan khi có các tài nguyên Internet được gọi là acme.com hoặc acme.net . Sau đó, tài nguyên doanh nghiệp mạng cục bộ được mô tả dưới dạng acme.local . Điều này sẽ đòi hỏi phải định cấu hình các bản ghi DNS, nhưng sẽ phải trả giá bằng sự đơn giản, hùng biện và bảo mật.
Cài đặt Open LDAP trên CentOS
Cài đặt openldap, openldap-server, openldap-client và các công cụ di chuyển từ 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]#
Bây giờ, hãy bắt đầu và kích hoạt dịch vụ tát -
[root@centos]# systemctl start slapd
[root@centos]# systemctl enable slapd
Tại thời điểm này, hãy đảm bảo rằng chúng ta có cấu trúc openldap của chúng ta trong / etc / openldap .
root@localhost]# ls /etc/openldap/
certs check_password.conf ldap.conf schema slapd.d
[root@localhost]#
Sau đó, hãy đảm bảo rằng dịch vụ của chúng tôi đang chạy.
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]#
Tiếp theo, hãy cấu hình cài đặt Open LDAP của chúng tôi .
Đảm bảo rằng người dùng ldap hệ thống của chúng tôi đã được tạo.
[root@localhost]# id ldap
uid=55(ldap) gid=55(ldap) groups=55(ldap)
[root@localhost]#
Tạo thông tin đăng nhập LDAP của chúng tôi.
[root@localhost]# slappasswd
New password:
Re-enter new password:
{SSHA}20RSyjVv6S6r43DFPeJgASDLlLoSU8g.a10
[root@localhost]#
Chúng ta cần lưu đầu ra từ slappasswd.
Định cấu hình LDAP mở
Step 1 - Cấu hình LDAP cho miền và thêm người dùng quản trị.
Đầu tiên, chúng tôi muốn thiết lập môi trường openLDAP của mình. Sau đây là một mẫu để sử dụng với lệnh 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
Thực hiện thay đổi đối với: /etc/openldap/slapd.d/cn=config/olcDatabase = {1} monitor.ldif bằng lệnh 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]#
Hãy kiểm tra cấu hình LDAP đã sửa đổi.
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]#
Như bạn có thể thấy, các sửa đổi LDAP dành cho doanh nghiệp của chúng tôi đã thành công.
Tiếp theo, chúng tôi muốn tạo chứng chỉ ssl tự ký cho OpenLDAP. Điều này sẽ bảo mật thông tin liên lạc giữa máy chủ doanh nghiệp và máy khách.
Step 2 - Tạo chứng chỉ tự ký cho OpenLDAP.
Chúng tôi sẽ sử dụng openssl để tạo chứng chỉ ssl tự ký. Chuyển sang chương tiếp theo,Create LDAP SSL Certificate with opensslđể được hướng dẫn bảo mật thông tin liên lạc với OpenLDAP. Sau đó, khi chứng chỉ ssl được định cấu hình, chúng ta sẽ hoàn thành cấu hình doanh nghiệp OpenLDAP của mình.
Step 3 - Cấu hình OpenLDAP để sử dụng giao tiếp an toàn với chứng chỉ.
Tạo tệp certs.ldif trong vim với thông tin sau:
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
Tiếp theo, một lần nữa, sử dụng lệnh ldapmodify để hợp nhất các thay đổi vào cấu hình 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]#
Cuối cùng, hãy kiểm tra cấu hình OpenLADP của chúng tôi.
[root@centos]# slaptest -u
config file testing succeeded
[root@centos]#
Step 4 - Thiết lập cơ sở dữ liệu tát nước.
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG &&
chown ldap:ldap /var/lib/ldap/*
Cập nhật Lược đồ OpenLDAP.
Thêm lược đồ LDAP cosine và 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
Cuối cùng, tạo lược đồ doanh nghiệp và thêm nó vào cấu hình OpenLDAP hiện tại.
Sau đây là tên miền vmnet. cục bộ với Quản trị viên LDAP được gọi là 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
Cuối cùng, nhập nó vào lược đồ OpenLDAP hiện tại.
[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 - Thiết lập Người dùng Doanh nghiệp OpenLDAP.
Mở vim hoặc trình soạn thảo văn bản yêu thích của bạn và sao chép định dạng sau. Điều này được thiết lập cho người dùng có tên "entacct" trên miền 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
Bây giờ nhập các tệp ở trên, như đã lưu, vào Lược đồ OpenLdap.
[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]#
Trước khi người dùng có thể truy cập LDAP Enterprise, chúng tôi cần chỉ định mật khẩu như sau:
ldappasswd -s password123 -W -D "cn=ldapadm,dc=entacct,dc=local" -x "uid=entacct
,ou=People,dc=vmnet,dc=local"
-s chỉ định mật khẩu cho người dùng
-x là tên người dùng mà mật khẩu cập nhật được áp dụng
-D là * tên phân biệt "để xác thực dựa trên lược đồ LDAP.
Cuối cùng, trước khi đăng nhập vào tài khoản Enterprise, hãy kiểm tra mục nhập OpenLDAP của chúng tôi .
[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
Việc chuyển đổi những thứ như / etc / passwd và / etc / groups sang xác thực OpenLDAP yêu cầu sử dụng các công cụ di chuyển. Chúng được bao gồm trong gói công cụ di chuyển . Sau đó, được cài đặt vào / usr / share / migrationtools .
[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 - Cuối cùng, chúng tôi cần cho phép truy cập vào dịch vụ tát để nó có thể yêu cầu dịch vụ.
firewall-cmd --permanent --add-service=ldap
firewall-cmd --reload
Định cấu hình quyền truy cập ứng dụng khách LDAP
Việc định cấu hình quyền truy cập máy khách LDAP yêu cầu các gói sau trên máy khách: openldap, ứng dụng open-ldap và nss_ldap.
Định cấu hình xác thực LDAP cho hệ thống khách dễ dàng hơn một chút.
Step 1 - Cài đặt nhịp độ phụ thuộc -
# yum install -y openldap-clients nss-pam-ldapd
Step 2- Cấu hình xác thực LDAP với authconfig .
authconfig --enableldap --enableldapauth --ldapserver=10.25.0.1 --
ldapbasedn="dc=vmnet,dc=local" --enablemkhomedir --update
Step 3 - Khởi động lại dịch vụ nslcd.
systemctl restart nslcd