阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

OpenLDAP配置TLS加密传输

183次阅读
没有评论

共计 4996 个字符,预计需要花费 13 分钟才能阅读完成。

一.环境

Server:基于 CentOS-7-x86_64-1511

Server IP: 172.18.12.203

OpenLDAP:openldap-2.4.44 已安装

二.准备工作

1. 依赖包

#理论上只需要 openssl 与 openssl-devel
yum install *openssl* -y

openldap 编译需要开启 ”–with-tls” 选项,可通过 ”./configure –help” 查看相关说明,请参考:http://www.linuxidc.com/Linux/2017-10/147559.htm;

openssl 相关依赖包一定要安装在 openldap 安装之前,在 openldap 安装之后再 yum 安装 openssl 相关依赖包,运行 ldaps 命令时时报 ” 573d212b daemon: TLS not supported (ldaps://0.0.0.0:636/)” 错(如下图),安装 openssl 相关包之后重新编译安装 openldap 解决。

OpenLDAP 配置 TLS 加密传输

可以使用 ”/usr/local/openldap-2.4.44/libexec/slapd” 命令查看执行命令是否关联相应 libraries,上面就是通过此方法定位故障点的:http://comments.gmane.org/gmane.network.openldap.technical/874

2. iptables

OpenLDAP with TLS/SSL 默认使用 tcp 636 端口,提前在 iptables 放行。

三.配置 TLS

在 OpenLDAP 的 home 目录创建 1 个子目录,后续操作均在此目录进行
[root@localhost ~]# cd /usr/local/openldap-2.4.44
[root@localhost openldap-2.4.44]# mkdir -p certs
[root@localhost openldap-2.4.44]# cd certs/

1. CA 中心操作(如已有 CA 证书则跳过)

生成 CA 根密钥(1)

#带上”-des3”参数时,创建的私钥采取 Triple DES 算法加密,命令执行后会要求输入密码,这样后续在调用此密钥时都会要求输入密码,如“openssl genrsa -des3 -out ca-key.pem 2048”,这里为了方便省略此参数
[root@localhost certs]# openssl genrsa -out cakey.pem 2048

#可以查看生成的 rsa 私钥
[root@localhost certs]# openssl rsa -noout -text -in cakey.pem

#option 选项,基于安全性考虑,建议修改根密钥权限为 600 或 400
[root@localhost certs]# chmod 600 cakey.pem

生成 CA 根证书(2)

#利用 req 命令与 CA 根证书生成自签署的根证书,证书有效期 1 年;
#生成证书时,上方红色粗体字部分是要求输入的信息,其中需要注意的是”Common Name”请填写服务器域或 IP
[root@localhost certs]# openssl req -new -x509 -days 365 -key cakey.pem -out ca.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Sichuan
Locality Name (eg, city) [Default City]:Chengdu
Organization Name (eg, company) [Default Company Ltd]:SYS
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:172.18.12.203
Email Address []:xxx@sys.com

#可以查看生成的根证书
[root@localhost certs]# openssl x509 -noout -text -in ca.crt

2. OpenLDAP 服务器端操作

生成 OpenLDAP 服务器私钥(3)

#同上,可带 "-des3" 参数,同步骤(1)
[root@localhost certs]# openssl genrsa -out ldapkey.pem 2048

生成 OpenLDAP 服务器证书签署请求文件(4)

#请求文件需要发给 CA 中心签署生成证书,相当于公钥;
#同步骤 (2) 会要求输入一些信息,相对于步骤 (2) 额外的信息可忽略
[root@localhost certs]# openssl req -new -key ldapkey.pem -out ldapserver.csr

#查看请求文件
[root@localhost certs]# openssl req -noout -text -in ldapserver.csr

3. CA 中心签署证书

签署证书的准备工作 (5)

#如果 CA 中心准备工作已经做好,此步可跳过。
[root@localhost certs]# cp /etc/pki/tls/openssl.cnf ./
[root@localhost certs]# mkdir -p newcerts
[root@localhost certs]# touch index.txt
[root@localhost certs]# echo "00" > serial

#修改第 42 行,证书生成配置文件的工作目录”dir    =/etc/pki/CA”修改为当前配置文件工作的目录,如下:
[root@localhost certs]# vim openssl.cnf
42 dir             = /usr/local/openldap-2.4.44/certs

签署证书(6)

#需要将 OpenLDAP 服务器生成的 csr 请求文件发给 CA 中;
#生成证书会有两次确认,”y”即可;
#如果重新签署证书,需要先将 index.txt 的内容用 index.txt.old 还原
[root@localhost certs]# openssl ca -days 365 -cert ca.crt -keyfile cakey.pem -in ldapserver.csr -out ldapserver.crt -config openssl.cnf

4. 复制证书 / 密钥到工作目录(7)

#主要涉及 CA 中心的证书,CA 中心为 OpenLDAP 服务器签署的证书与私钥
[root@localhost certs]# mkdir -p /usr/local/openldap-2.4.44/etc/openldap/cacerts
[root@localhost certs]# cp ca.crt /usr/local/openldap-2.4.44/etc/openldap/cacerts
[root@localhost certs]# cp ldapserver.crt /usr/local/openldap-2.4.44/etc/openldap/
[root@localhost certs]# cp ldapkey.pem /usr/local/openldap-2.4.44/etc/openldap/

5. 修改 OpenLDAP 主配置文件 slapd.conf(8)

#可以在文件最后添加步骤 (7) 中证书 / 密钥的工作路径
[root@localhost certs]# cd /usr/local/openldap-2.4.44/etc/openldap/
[root@localhost openldap]# vim slapd.conf
TLSCACertificateFile /usr/local/openldap-2.4.44/etc/openldap/cacerts/ca.crt
TLSCertificateFile /usr/local/openldap-2.4.44/etc/openldap/ldapserver.crt
TLSCertificateKeyFile /usr/local/openldap-2.4.44/etc/openldap/ldapkey.pem

6. 启动 LDAPS

#”-d 256”是为 debug,后台运行不需要;
[root@localhost ~]# /usr/local/openldap-2.4.44/libexec/slapd -h“ldaps://0.0.0.0:636/”-d 256

#或者:[root@localhost ~]# /usr/local/openldap-2.4.44/libexec/slapd -h“ldaps:///”-d 256

#或者同时启动 389 与 636 端口:[root@localhost ~]# /usr/local/openldap-2.4.44/libexec/slapd -h“ldap:/// ldaps:///”-d 256

OpenLDAP 配置 TLS 加密传输

7. 启动验证

[root@localhost ~]# netstat –tunlp 

OpenLDAP 配置 TLS 加密传输

8. 通过 ldapdmin 验证

1) 修改已通过 389 端口可访问数据库的属性:数据库名,右键 –>Properties;

OpenLDAP 配置 TLS 加密传输

2) 修改 389 端口为 636 端口;

OpenLDAP 配置 TLS 加密传输

3) 弹出窗口提示,选择 ” View Certificate”,点击 ”Yes”;

OpenLDAP 配置 TLS 加密传输

4) 可以查看证书相关信息,选择 ” 安装证书 ”,一路默认 ” 下一步 ”;

OpenLDAP 配置 TLS 加密传输

5) 证书导入成功;

OpenLDAP 配置 TLS 加密传输

6) 通过 636 端口已可以访问数据库。

OpenLDAP 配置 TLS 加密传输

参考文档:

 

Liferay Portal 配置使用 Oracle 和 OpenLDAP http://www.linuxidc.com/Linux/2012-07/66928.htm

 

在 CentOS 6.5 上安装 OpenLDAP 并配置 LDAP 方式用户登录  http://www.linuxidc.com/Linux/2015-04/116536.htm

 

RHEL7 中 OpenLDAP 的安装与配置  http://www.linuxidc.com/Linux/2015-03/115524.htm

 

Ubuntu 下 OpenLDAP 服务器的部署步骤  http://www.linuxidc.com/Linux/2014-12/110775.htm 

 

Axigen+OpenLDAP+BerkeleyDB+ejabberd 多域 +JWchat 详细配置 http://www.linuxidc.com/Linux/2012-06/61598.htm

 

CentOS 部署 OpenLDAP 认证 http://www.linuxidc.com/Linux/2012-04/57932.htm

 

CentOS Linux 安装 OpenLDAP 服务器  http://www.linuxidc.com/Linux/2014-03/98087.htm

 

Ubuntu 安装 OpenLDAP 之配置 LDAP  http://www.linuxidc.com/Linux/2016-05/130998.htm

 

OpenLDAP 双主搭建  http://www.linuxidc.com/Linux/2017-07/145437.htm

 

OpenLDAP 安装及设置普通用户修改自己密码  http://www.linuxidc.com/Linux/2017-07/145436.htm

 

Ubuntu 下 OpenLDAP 的安装及配置  http://www.linuxidc.com/Linux/2017-05/143762.htm

 

OpenLDAP 的详细介绍:请点这里
OpenLDAP 的下载地址:请点这里

 

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147558.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4996字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中