一、安装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)。




apache ldap studio 使用 ldap应用_ubuntu


创建LDAP管理员密码。

安装完成后,您可能希望修改默认目录信息树(DIT)后缀。 让我们继续这样做吧。 我们将DIT更改为dc=linuxidc,dc=com。 您可以根据自己公司的网络需求进行更改。 为此,请运行以下命令:

sudo dpkg-reconfigure slapd

出现提示时,对第一个问题回答“No”(省略初始配置)。 对于我们的DNS名称,我们将输入linuxidc.com(图B)。


apache ldap studio 使用 ldap应用_linux_02


apache ldap studio 使用 ldap应用_数据库_03


apache ldap studio 使用 ldap应用_数据库_04


图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


apache ldap studio 使用 ldap应用_ubuntu_05


说明:

  • 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


apache ldap studio 使用 ldap应用_linux_06


apache ldap studio 使用 ldap应用_linux_07


apache ldap studio 使用 ldap应用_ubuntu_08


apache ldap studio 使用 ldap应用_数据库_09


我们添加的用户已到位。

您现在拥有LDAP数据库中的第一个条目。 您可以在每次需要添加条目时修改该数据文件,也可以为LDAP安装基于Web的前端以使该过程更容易(我们将很快解决)。 无论哪种方式处理LDAP数据,您都可以开始使用这种功能强大且灵活的目录访问协议。

参考


LDAP admin工具使用如下连接:

百度安全验证

apache ldap studio 使用 ldap应用_数据库_10

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 了。

  1. “mkdir /home/yu/Documents/cert/”新建文件夹(我新建的是 桌面下的CA文件夹)。
  2. “cp /usr/lib/ssl/misc/CA.pl /home/yu/Documents/cert/”复制文件 CA.pl 到新建的文件夹。
  3. “./CA.pl -newca”创建 CA 证书。 ./CA.pl -newca  
  4. 登录本地 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

apache ldap studio 使用 ldap应用_数据库_11

复制/home/yu/Documents/cert/demoCA路径下cacet.pem、和/home/yu/Documents/cert路径下的server.crt、server.key,到/etc/ldap/certs目录下。

apache ldap studio 使用 ldap应用_服务器_12

修改/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

进行配置

apache ldap studio 使用 ldap应用_数据库_13

4.开启ldaps,在/etc/default/slapd文件内添加ldaps:///内容

SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"

apache ldap studio 使用 ldap应用_linux_14

5.重启ldap,sudo systemctl restart slapd

6.测试ldap及ldaps链接,看是否返回正常

ldapwhoami -x -ZZ -H ldap://IP

ldapwhoami -x -H ldaps://IP

apache ldap studio 使用 ldap应用_linux_15