一、安装LDAP服务器及简单使用
本文向您展示了如何在Ubuntu 18.04上安装OpenLDAP以及如何将您的第一个条目添加到数据库中。
LDAP是轻量级目录访问协议,允许查询和修改基于X.500的目录服务。 LDAP通过IP网络用于管理和访问分布式目录服务。 LDAP的主要目的是在分层结构中提供一组记录。 如果您对LDAP如何适应Active Directory感到好奇,请按照这种方式考虑:Active Directory是一个目录服务数据库,LDAP是用于与之通信的协议之一。 LDAP可用于用户验证,以及添加,更新和删除目录中的对象。
我想向您展示如何在最新的Ubuntu版本中安装OpenLDAP,然后介绍如何使用第一个条目填充LDAP数据库。 您需要的只是Ubuntu 18.04的运行实例和具有sudo权限的用户帐户。
然后,让我们开始安装。
安装
您要做的第一件事是在服务器上运行更新/升级。 请记住,在此过程中可以升级内核,这需要重新启动。 因此,请在重新启动可行时运行更新/升级。
要处理更新/升级,请打开终端窗口并发出命令:
sudo apt-get update
sudo apt-get upgrade
完成后,您就可以安装OpenLDAP了。 为此,请返回终端窗口并发出命令:
sudo apt install slapd ldap-utils
在安装过程中,系统会要求您为LDAP目录创建管理员密码(图1)。
创建LDAP管理员密码。
安装完成后,您可能希望修改默认目录信息树(DIT)后缀。 让我们继续这样做吧。 我们将DIT更改为dc=linuxidc,dc=com。 您可以根据自己公司的网络需求进行更改。 为此,请运行以下命令:
sudo dpkg-reconfigure slapd
出现提示时,对第一个问题回答“No”(省略初始配置)。 对于我们的DNS名称,我们将输入linuxidc.com(图B)。
图B.
配置DNS名称以满足您的需求。
然后,系统将要求您配置组织名称,然后输入/验证在安装期间创建的管理员密码。 完成后,选择MDB作为数据库后端,然后在清除slapd时选择No以删除数据库。 最后,选择Yes以移动旧数据库,您已完成安装和配置。
填充LDAP数据库
现在我们要将初始数据添加到LDAP数据库。 我们将从文件中执行此操作并创建单个条目。 在终端窗口中,发出命令:
nano ldap_data.ldif
在这个新文件中,添加以下内容(注意:您需要修改此文件以满足您的需要,因为这只是一个示例):
dn: ou=People,dc=linuxidc,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Groups,dc=linuxidc,dc=com
objectClass: organizationalUnit
ou: Groups
dn: cn=DEPARTMENT,ou=Groups,dc=linuxidc,dc=com
objectClass: posixGroup
cn: SUBGROUP
gidNumber: 5000
dn: uid=USER,ou=People,dc=linuxidc,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: USER
sn: LASTNAME
givenName: FIRSTNAME
cn: FULLNAME
displayName: DISPLAYNAME
uidNumber: 10000
gidNumber: 5000
userPassword: USER
gecos: FULLNAME
loginShell: /bin/bash
homeDirectory: USERDIRECTORY
说明:
- DEPARTMENT是您要添加的部门或组。
- SUBGROUP是该部门的一个小组。
- USER是系统上的实际用户帐户。
- LASTNAME是用户的姓氏。
- FIRSTNAME是用户的第一个名字。
- FULLNAME是用户的全名。
- DISPLAYNAME是您要为用户显示的名称。
- USERDIRECTORY是Linux服务器上用户的主目录。
您还可以修改ou条目(人员,组)以满足您的组织需求。 例如,您可以使用编辑和编写器,NetAdmins和SecAdmins,或DevOps和测试人员等条目。
保存并关闭该文件。 使用以下命令将文件内容添加到LDAP:
ldapadd -x -D cn=admin,dc=linuxidc,dc=com -W -f ldap_data.ldif
使用LDAP管理员密码成功进行身份验证后,将添加数据。 然后,您可以使用以下命令搜索数据库:
ldapsearch -x -LLL -b dc=linuxidc,dc=com 'uid=USER' cn gidNumber
USER是您添加的用户的名称。 您应该看到添加的用户的列表。
ldapsearch -x -LLL -b dc=linuxidc,dc=com 'uid=linuxidc' cn gidNumber
我们添加的用户已到位。
您现在拥有LDAP数据库中的第一个条目。 您可以在每次需要添加条目时修改该数据文件,也可以为LDAP安装基于Web的前端以使该过程更容易(我们将很快解决)。 无论哪种方式处理LDAP数据,您都可以开始使用这种功能强大且灵活的目录访问协议。
参考
LDAP admin工具使用如下连接:
百度安全验证https://baijiahao.baidu.com/s?id=1620973202528064047&wfr=spider&for=pc
二、Ubuntu下LDAP服务器TLS开启及验证
① 生成CA证书
1. 在辅助机打开终端,输入“su”切换到 root 用户,输入 root 的
密码。如果没有启动 root 用户,则使用 su passwd root 设置 root 的密码后切
换到 root;
2. “openssl version -a”查看 openssl 版本,要求版本在 openssl1.0.1g
以上,查看 openssl 的配置文件目录(一般为/usr/lib/ssl)。
3. “vim /usr/lib/ssl/openssl.cnf”将其中的 default_bits=1024 改为
default_bits=2048。本条可以忽略,当前大部分系统已经是默认 2048bits 了。
- “mkdir /home/yu/Documents/cert/”新建文件夹(我新建的是 桌面下的CA文件夹)。
- “cp /usr/lib/ssl/misc/CA.pl /home/yu/Documents/cert/”复制文件 CA.pl 到新建的文件夹。
- “./CA.pl -newca”创建 CA 证书。 ./CA.pl -newca
- 登录本地 bmc或其他客户端,生成 csr,其中通用名称和上面服务器证书使用不同的名称
最后按“生成 csr 按钮”生成本地的证书请求文件。复制本地页面的内容到以上服务器中,copy 到文件 client.csr 中生成 client 端证书
openssl ca -in client.csr -out client.pem
5.复制 client.pem(LDAP证书),cacert.pem(CA证书) 到本地并上传到BMC系统或者其他客户端。
②生成服务器证书
1、继续在/home/yu/Documents/cert/路径下执行命令
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr -days 3650(其中通用名称写个不同的名称)
ca签名认证:openssl ca -in server.csr -out server.crt -days 365
2.可以在/etc/ldap目录下创建个文件夹例如certs
复制/home/yu/Documents/cert/demoCA路径下cacet.pem、和/home/yu/Documents/cert路径下的server.crt、server.key,到/etc/ldap/certs目录下。
修改/etc/ldap/certs的所属组及key文件的权限
sudo chgrp openldap /etc/ldap/certs
sudo chmod 0640 /etc/ldap/certs/server.key
3.在/etc/ldap目录下创建个文件add-tls.ldif,添加如下内容并保存
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ldap/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/certs/server.crt
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ldap/certs/server.key
最后执行命令sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f add-tls.ldif
进行配置
4.开启ldaps,在/etc/default/slapd文件内添加ldaps:///内容
SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
5.重启ldap,sudo systemctl restart slapd
6.测试ldap及ldaps链接,看是否返回正常
ldapwhoami -x -ZZ -H ldap://IP
ldapwhoami -x -H ldaps://IP