linux服务器tls配置,OpenLDAP配置TLS加密传输

本文档介绍了如何在基于CentOS 7的服务器上配置OpenLDAP的TLS加密传输。首先确保安装了openssl相关依赖,并在安装OpenLDAP前安装它们。接着,配置iptables以开放636端口。然后,创建并签署CA根证书,生成OpenLDAP服务器的私钥和证书请求。使用CA中心签署证书,并将相关证书和密钥复制到OpenLDAP配置目录。最后,修改slapd.conf配置文件并启动LDAPS服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.环境

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解决。

6774c64a3197d3ca0b7fc63e929d2684.png

可以使用"/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 enteris what is called a Distinguished Name ora 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 (2letter code) [XX]:CN

StateorProvince 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 nameor 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.confTLSCACertificateFile /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

090b3179414b1e3dcfe00f0a1d64883c.png

7. 启动验证

[root@localhost ~]#netstat –tunlp

14a6ba87cdf8e5c5cc10149b1ab28760.png

8. 通过ldapdmin验证

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

1675c384619776a4023437641ae7e3ff.png

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

8fab5719b8fc178b59eaa7145f60fa2f.png

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

e038a8f3ef54b09ea83b0e5920112afc.png

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

7d49416e6a4e8128a0941c7fd1e48f05.png

5) 证书导入成功;

aa56d5debd5ca0ecd67baf59f790dfc5.png

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

884e856158c2ee51afc604d60760e285.png

参考文档:

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

OpenLDAP 的详细介绍:请点这里

OpenLDAP 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值