OpenLDAP配置TLS加密传输

2023-11-09

原文发表于cu:2016-07-04

参考文档:

  1. 基于OpenSSL自建CA与颁发SSL证书:http://seanlook.com/2015/01/18/openssl-self-sign-ca/
  2. OpenLDAP with TLS:http://my.oschina.net/aiguozhe/blog/151554

一.环境

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.cnblogs.com/netonline/p/7486832.html

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

可以使用"/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

7. 启动验证

[root@localhost ~]# netstat –tunlp 

8. 通过ldapdmin验证

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

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

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

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

5) 证书导入成功;

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

转载于:https://www.cnblogs.com/netonline/p/7517685.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenLDAP配置TLS加密传输 的相关文章

  • 数据采集才是MES系统的核心内容

    一 数据采集在MES管理系统中的应用 1 设备数据采集 MES管理系统通过与生产设备的连接 可以实时采集设备运行状态 产量 质量等相关数据 这有助于企业及时掌握设备运行状况 优化设备资源配置 提高设备利用率 2 工艺数据采集 MES管理系统
  • Linux 软件安装以及管理

    本篇主要记录常用的软件安装和管理方式 主要是 yum rpm dnf apt pip 大致都是一样的 主要是部分软件提供了解决依赖的功能 内容不包括源码安装 源码安装情况相对比较复杂 后续有时间再补充 约定 案例所用模板软件均为 pytho
  • 智能时代:自然语言生成SQL与知识图谱问答实战

    语义解析 前言 语义解析的应用场景 总结概论 语义解析和大模型的关系 延伸阅读 前言 语义解析技术可以提高人机交互的效率和准确性 在自然语言处理 数据分析 智能客服 智能家居等领域都有广泛的应用前景 特别是在大数据时代 语义解析能够帮助企业
  • 如何利用CHAT做简单的总结体会?

    问CHAT 在测试过程中使用appium python自动化的优点和体会 CHAT回复 使用 Appium 配合 Python 进行自动化测试主要有以下几点优点 1 跨平台性 Appium 支持 iOS 和 Android 平台的应用自动化
  • 【计算机毕业设计】病房管理系统

    当下 如果还依然使用纸质文档来记录并且管理相关信息 可能会出现很多问题 比如原始文件的丢失 因为采用纸质文档 很容易受潮或者怕火 不容易备份 需要花费大量的人员和资金来管理用纸质文档存储的信息 最重要的是数据出现问题寻找起来很麻烦 并且修改
  • 【计算机毕业设计】网上拍卖系统

    现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本网上拍卖系统就是在这样的大环境下诞生 其可以帮助使用者在短时间内处理完毕庞大的数据信息 使用这种软件工具可以帮助管理人员
  • 【计算机毕业设计】Java图书馆智能选座系统

    现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本图书馆智能选座系统就是在这样的大环境下诞生 其可以帮助使用者在短时间内处理完毕庞大的数据信息 使用这种软件工具可以帮助管
  • 电商数据api拼多多接口获取商品实时数据价格比价api代码演示案例

    拼多多商品详情接口 接口接入入口 它的主要功能是允许卖家从自己的系统中快速获取商品详细信息 通过这个接口 卖家可以提取到商品的各类数据 包括但不限于商品标题 价格 优惠价 收藏数 下单人数 月销售量等 此外 还可以获取到商品的SKU图 详情
  • 【计算机毕业设计】北工国际健身俱乐部

    本系统为会员而设计制作北工国际健身俱乐部 旨在实现北工国际健身俱乐部智能化 现代化管理 本北工国际健身俱乐部管理自动化系统的开发和研制的最终目的是将北工国际健身俱乐部的运作模式从手工记录数据转变为网络信息查询管理 从而为现代管理人员的使用提
  • 【计算机毕业设计】白优校园社团网站的设计与实现

    近些年 随着中国经济发展 人民的生活质量逐渐提高 对网络的依赖性越来越高 通过网络处理的事务越来越多 随着白优校园社团网站的常态化 如果依然采用传统的管理方式 将会为工作人员带来庞大的工作量 这将是一个巨大考验 需要投入大量人力开展对社团
  • 面试官问,如何在十亿级别用户中检查用户名是否存在?

    面试官问 如何在十亿级别用户中检查用户名是否存在 前言 不知道大家有没有留意过 在使用一些app注册的时候 提示你用户名已经被占用了 需要更换一个 这是如何实现的呢 你可能想这不是很简单吗 去数据库里查一下有没有不就行了吗 那么假如用户数量
  • 数据库 | 面试官:一次到底插入多少条数据合适啊?.....面试连环炮

    数据库 面试官 一次到底插入多少条数据合适啊 面试连环炮 数据库插入操作的基础知识 插入数据是数据库操作中的基础 但是 我们程序员将面临随之而来的问题 如何快速有效地插入数据 并保持数据库 性能 当你向数据库中插入数据时 这些数据直接存储到
  • 30天精通Nodejs--第二十天:express-操作mysql

    目录 前言 安装依赖并配置MySQL连接 安装mysql2库 配置连接信息 在Express应用中使用MySQL 结合Express路由实现CRUD操作 整合到主应用 结语 前言 在Node js中使用Expre
  • Kubernetes (十三) 存储——持久卷-动静态分配

    一 简介 二 NFS持久化存储步骤 静态分配 1 集群外主机用上次nfsdata共享目录中创建用来测试的pv 1 3 目录 用来对三个静态pv 2 创建pv的应用文件 vim pv yaml apiVersion v1 kind Persi
  • ssh:connect to host github.com port 22: Connection timed out

    解决流程 1 将github的端口由22改为443 ssh T p 443 git ssh github com 2 接着输入yes进行确认 The authenticity of host ssh github com 443 192 1
  • 短信系统搭建主要因素|网页短信平台开发源码

    短信系统搭建主要因素 网页短信平台开发源码 随着移动互联网的快速发展 短信系统已成为企业和个人进行信息传递的重要工具 建立一个高效可靠的短信系统对于企业来说非常重要 下面我们将介绍一些影响短信系统搭建的主要因素 1 平台选择 在搭建短信系统
  • 温室气体排放更敏感的模型(即更高的平衡气候敏感性(ECS))在数年到数十年时间尺度上也具有更高的温度变化(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 温室气体排放更敏感的模型(即更高的平衡气候敏感性(ECS))在数年到数十年时间尺度上也具有更高的温度变化(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 每日变更的最佳实践

    在优维公司内部 我们采用发布单的方式进行每天的应用变更管理 这里给各位介绍优维的最佳实践 变更是需要多角色合作的 而且他是整体研发流程的一部分 在优维内部 我们坚持每日变更 打通开发环节到最终发布上线的全过程 在保证质量的前提下 尽可能提升
  • SAP ERP系统是什么?SAP好用吗?

    A公司是一家传统制造企业 公司曾先后使用过数个管理软件系统 但各部门使用的软件都是单独功能 导致企业日常管理中数据流与信息流相对独立 形成了 信息孤岛 随着公司近年业务规模的快速发展以及客户数量的迅速增加 企业原有的信息系统在销售预测及生产

随机推荐

  • 梯度下降法求解方程的极值

    1 方法一 利用梯度下降算法求解y x 2的极值 注意 此种方法 除了x的更新之外 还有一点需要注意 那就迭代停止的条件 可以设置一个阈值a 比较x更新前后的y的差的绝对值与阈值a的大小 即 y与a的大小 当 y a时 停止迭代 impor
  • 设置熄屏_手机摁下这个开关,熄屏也能显示时间!很多人没用过,太可惜了

    其实在手机的使用过程中 很多实用功能都被大家忽略掉了 如手机熄屏显示时间这个功能 在日常生活中就十分的实用 但是很多人都没用过 这就很可惜了 下面我们就一起来看一下吧 1 华为手机 华为手机也是支持手机熄屏显示时间的 下面我们就一起来看一下
  • d3.js 小结

    D3 数据可视化库 D3 4 0 D3是目前最流行的JavaScript可视化图表库之一 D3的图表类型非常丰富 并且支持SVG格式 因此应用十分广泛 也有很多图表插件基于D3开发 比如MetricsGraphics js 在D3上构建的数
  • 自下而上的炫酷进度条 --- Android自定义组件进阶版

    效果展示 自下而上的炫酷进度条效果展示 源码分析 第一步 创建自定义组件类 第二步 自定义属性文件编写
  • face_recognition库使用教程

    Jupyter Notebook文件及图片数据见 百度网盘 import cv2 import dlib import math import pprint import numpy as np import face recognitio
  • WordPress系列教程(一)----WordPress环境准备与安装

    一 前言 前段时间自己搭建了个WordPress的博客 用来做资源分享 主要包括视频教程 电子书 源码等一些学习资源网站地址是 http www 98share cn 当时考虑的是练练手 所以在淘宝上 随便买了个虚拟主机 200多快挺便宜的
  • 数据结构:树(基本概念)

    树 集合中的元素关系呈现出一对多的情况 非线性结构 1 n 1 树的定义 树 Tree 是n n 0 个节点的有限集合T 它满足两个条件 有且仅有一个特定的称为根 Root 的节点 其余的节点可以分为m m 0 个互不相交的有限集合T1 T
  • Python爬虫—手机销量

    介绍 最近在学习Python的一些相关知识 爬虫是其中有趣的一项 现在把学习的过程整理出来 给自己留个印记 Selenium爬取天猫手机数据 淘宝的反爬虫有点厉害 光是登陆就研究了小一天 先是尝试模拟输入用户名和密码 但是会出现让拖动滑块
  • Python 模块的概念和基本使用

    视频版教程 Python3零基础7天入门实战视频教程 模块和包 在Python的标准安装中 包含了一组自带的模块 这些模块被成为 标准库 比如常用的math random datetime os json等等 此外 还有很多的第三方模块 比
  • MIPI_DSI协议简要介绍

    MIPI DSI是一种应用于显示技术的串行接口 兼容DPI 显示像素接口 Display Pixel Interface DBI 显示总线接口 Display Bus Interface 和DCS 显示命令集 Display Command
  • tomcat配置400404500类型的错误页面,修改项目默认路径,修改默认项目

    修改项目默认路径 修改默认项目 http xxx xxxxxx xxx 直接访问 找到tomcat路径中conf文件夹下server xml文件找到 修改成 说明 xxx xxx xxx xxx webapps修改的项目默认路径 xxx x
  • 云服务器子系统,Linux子系统使用云服务器

    Linux子系统使用云服务器 内容精选 换一换 用户使用创建弹性云服务器时使用的密钥文件登录Linux弹性云服务器时 登录失败 根据Linux弹性云服务器使用的镜像不同 可能会存在如下原因 原因一 Linux弹性云服务器的镜像为用户自己制作
  • MATLAB生成M序列和Gold序列

    M序列 最长线性移位寄存器序列又称为m序列 他是一种伪随机序列 在硬件电路中 m序列可以通过反馈移位寄存器产生 寄存器的反馈连接有生成m序列的本源多项式确定 m序列的 0 0 0映射成 1 1
  • CentOS 7.9 安装Docker

    Docker简单介绍 Docker的应用场景 Web 应用的自动化打包和发布 自动化测试和持续集成 发布 在服务型环境中部署和调整数据库或其他的后台应用 Docker 的优点 Docker 是一个用于开发 交付和运行应用程序的开放平台 Do
  • 《oracle大型数据库系统在AIX/unix上的实战详解》讨论十二:关于读书

    感谢大家对这本书的热情和踊跃来信 这段日子有几位朋友都提出了类似于下面问题的问题 我在找这方面的工作 想学习您这本书进这一行 您看看怎么看合适 太厚了 我想开始阅读 oracle大型数据库系统在AIX unix上的实战详解 这本书 请问您有
  • Merge into的使用详解-你Merge了没有

    Merge是一个非常有用的功能 类似于Mysql里的insert into on duplicate key Oracle在9i引入了merge命令 通过这个merge你能够在一个SQL语句中对一个表同时执行inserts和updates操
  • Mysql忘记root密码的解决方法(亲测有效)

    首先搜索找到mysql exe的目录 一般是在你安装mysql的bin目录下 右键打开cmd 以管理员权限进入命令行窗口 打开任务管理器 结束掉mysqld exe进程 确保sql没有在运行中 在cmd下 cd切换目录到mysql exe所
  • c++ fbxsdk安装配置_Linux上安装软件 - coydone

    安装JDK 1 下载JDK http www oracle com technetwork java javase downloads jdk8 downloads 2133151 html 2 使用XFTP工具导入linux 3 解压到
  • C++中如何调用C里面的函数

    经验证 下机制可行 Here is a setup that allows C to call C Maybe this method is appropriate for your need 1 use the not using pre
  • OpenLDAP配置TLS加密传输

    原文发表于cu 2016 07 04 参考文档 基于OpenSSL自建CA与颁发SSL证书 http seanlook com 2015 01 18 openssl self sign ca OpenLDAP with TLS http m