首页 > 其他分享 >OpenLDAP 系列5 --- 启用TLS

OpenLDAP 系列5 --- 启用TLS

时间:2022-12-12 22:13:10浏览次数:62  
标签:TLS tls 证书 openldap --- etc OpenLDAP certs

一、准备

1. 首先需要为Open LDAP签发证书:

https://www.cnblogs.com/eagle6688/p/16974768.html

2. 将CA证书、OpenLDAP证书和OpenLDAP密钥复制到OpenLDAP目录中:

cp -v certs/openldap.crt private/openldap.key /etc/openldap/certs/
cp -v ca.cert.pem /etc/openldap/certs/

二、配置

1. 检查现有TLS配置

slapcat -b "cn=config" | egrep "olcTLSCertificateFile|olcTLSCertificateKeyFile"

2. 修改olcTLSCertificateFile和olcTLSCertificateKeyFile的值

(1) 新建tls.ldif

vi tls.ldif

(2) 初始化tls.ldif内容:

dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/openldap.crt
-
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/openldap.key
-
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/openldap/cacerts/ca.cert.pem

(3) 更改证书目录所有者:

chown -R openldap:openldap /etc/openldap/certs
chown -R openldap:openldap /etc/openldap/cacerts

(4) 修改tls属性:

ldapmodify -Y EXTERNAL -H ldapi:// -f tls.ldif

3. 检验新值

slapcat -b "cn=config" | egrep "olcTLSCertificateFile|olcTLSCertificateKeyFile|olcTLSCACertificateFile"

4. 修改Open LDAP配置

(1) 添加ldaps协议:

sudo vi /etc/sysconfig/slapd

更新SLAPD_URLS为:

SLAPD_URLS="ldapi:/// ldap:/// ldaps:///"

(2) 修改/etc/openldap/ldap.conf

sudo vi /etc/openldap/ldap.conf

更新为:

TLS_CACERTDIR /etc/openldap/certs
TLS_CACERT /etc/openldap/certs/ca.cert.pem
TLS_REQCERT allow

因为我们使用的是自签名的证书而非权威CA证书,我们需要设置TLS_CACERT为ca证书路径,否则在对LDAP Client进行认证的时候将会收到“TLS negotiation failure”的报错。

如果将TLS_REQCERT 设置为never,则不对证书进行校验,此时配置TLS就没有意义了。

5. 配置防火墙

firewall-cmd --permanent --zone=public --add-service=ldaps
firewall-cmd --reload

6. 重启服务

systemctl restart slapd

三、参考

https://www.golinuxcloud.com/configure-openldap-with-tls-certificates/

标签:TLS,tls,证书,openldap,---,etc,OpenLDAP,certs
From: https://www.cnblogs.com/eagle6688/p/16977245.html

相关文章

  • 面试2022-索引
      面试准备蔚来汽车秋招提前批高频面试问题汇总 面试记录20221212-蔚来NIO面试 ......
  • 学习python-flask02
    请求与响应请求对象'''这个request是全局的请求对象。它在哪个视图函数中就是当前视图函数中的request对象并不会乱。'''defindex():print(request.method) #......
  • flask-03
    一、请求与响应1.1请求对象请求对象是全局的,需要导入,这个全局的request。在哪个视图函数中,就是当次的request对象不会乱defindex():#request.method提交的方法......
  • 力扣刷题(1)---两数相加
    题目:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。暴力枚举publicstaticint[]twoSum(int[]nums,inttarget)......
  • 实验七-缓冲区溢出
    实验准备实验楼提供的是64位Ubuntulinux,而本次实验为了方便观察汇编语句,我们需要在32位环境下作操作,因此实验之前需要做一些准备。输入命令安装一些用于编译32位......
  • 毕昇JDK团队主导的RISC-V port正式合入OpenJDK主线
    编者按:2022年3月14日,华为毕昇JDK团队主导开发的OpenJDKRISC-Vport[1]正式合入OpenJDK主线[2],成为OpenJDK的官方port之一。OpenJDK19将会是第一个支持......
  • vue-quill-editor富文本编辑器使用方法,最全,含部分源码解读,含图片上传,如果页面有多个富
    vue-quill-editor富文本编辑器使用方法,最全,含部分源码解读,含图片上传,如果页面有多个富文本,图片上传解决方案 一、效果二、安装2.1脚手架安装命令npminstallvue-quill-edi......
  • 写了一个适配 Android12-exported 的小插件
    ......
  • Google开源依赖注入框架-Guice指南
    作者:软件质量保障之前发过一篇文章《​​浅谈依赖注入的实现​​》,介绍了依赖注入的实现原理。文中提到高效实现依赖注入的工具Guice,本文就介绍一下这款Google开源的依赖注......
  • django-路由层详解
    django-路由层详解可视化界面之数据增删改查针对数据对象主键字段的获取可以使用更加方便的obj.pk获取在模型类中定义双下str方法可以在数据对象被执行打印操作的时候......