70 views

在Linux系统中,启用TLS加密下的Centos7 搭建LDAP

By | 2019年2月27日

在我们的公司高防CDN的客户群里面,经常会有一些关于技术的讨论,他们会一起商讨,我们也很乐意提供帮助,我们云漫网络的技术员小廖针对启用TLS加密下的Centos7 搭建LDAP给出了自己的干货,供大家参考:

一、配置环境要求
CentOS Linux release 7.5.1804
Kernel 4.20.0-1.el7.elrepo.x86_64
docker-ce 18.09
docker-compose 1.23.1

二、对docker-compose进行安装
yum install -y python-pip
pip install docker-compose
docker-compose -v

三、证书准备
1)安装cfssl
wget -O /bin/cfssl https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wget -O /bin/cfssljson https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
wget -O /bin/cfssl-certinfo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
for cfssl in `ls /bin/cfssl*`;do chmod +x $cfssl;done;

2)配置证书信息

cd $HOME && mkdir ssl && cd ssl

# ca配置文件
cat > ca-config.json << EOF
{
“signing”: {
“default”: {
“expiry”: “87600h”
},
“profiles”: {
“ldap”: {
“usages”: [
“signing”,
“key encipherment”,
“server auth”,
“client auth”
],
“expiry”: “87600h”
}
}
}
}
EOF
# 自签名ca的证书申请
cat > ldap-ca-csr.json << EOF
{
“CN”: “ldap”,
“key”: {
“algo”: “rsa”,
“size”: 2048
},
“names”: [
{
“C”: “CN”,
“ST”: “Shenzhen”,
“L”: “Shenzhen”,
“O”: “ldap”,
“OU”: “LDAP Security”
}
]
}
EOF

# ldap证书申请资料
# 下面hosts字段里就是使用这张证书的主机
# 特别注意一定要加上宿主机的IP地址,反正是自己颁发的证书,怎么加都行!!!
# 加上本机回环地址,加上ldap容器名,我这里容器名待会设置成openldap
# 如果你要放到公网去的话,那一可以加上FQDN地址

cat > ldap-csr.json << EOF
{
“CN”: “ldap”,
“hosts”: [
“127.0.0.1”,
“192.168.1.1”,
“openldap”,
“ldap.lotbrick.com”,
“lotbrick.com”
],
“key”: {
“algo”: “rsa”,
“size”: 2048
},
“names”: [
{
“C”: “CN”,
“ST”: “Shenzhen”,
“L”: “Shenzhen”,
“O”: “ldap”,
“OU”: “LDAP Security”
}
]
}
EOF

证书签名

# CA自签名
cfssl gencert -initca ldap-ca-csr.json | cfssljson -bare ca

# LDAP证书签名,ldap需要的文件为:ca证书,ldap证书,ldap私钥
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=ldap ldap-csr.json | cfssljson -bare ldap

# 查看生成的证书
# 其中 ldap-key.pem ldap.pem ca.pem 是我们需要的
[root@master ssl]#ls
ca-config.json ca.csr ca-key.pem ca.pem ldap-ca-csr.json ldap.csr ldap-csr.json ldap-key.pem ldap.pem

四、开始安装ldap

1)克隆仓库,获取docker-compose.yaml文件
cd $HOME
git clone https://github.com/JyBigBoss/docker-compose.git
cd docker-compose/LDAP/

2)复制证书
mkdir ssl/
cp $HOME/ssl/{ldap-key.pem,ldap.pem,ca.pem} ssl/

3)修改docker-compose.yaml文件
vi docker-compose.yaml

# 修改下面的几项
# 镜像使用的是osixia/openldap
# 详细的配置解释:https://github.com/osixia/docker-openldap

LDAP_ORGANISATION: “lotbrick.com”
LDAP_DOMAIN: “lotbrick.com”
LDAP_ADMIN_PASSWORD: “admin”
LDAP_CONFIG_PASSWORD: “admin”
LDAP_TLS: “true”
LDAP_TLS_CRT_FILENAME: “ldap.pem”
LDAP_TLS_KEY_FILENAME: “ldap-key.pem”
LDAP_TLS_CA_CRT_FILENAME: “ca.pem”
LDAP_TLS_ENFORCE: “true”
LDAP_TLS_VERIFY_CLIENT: “try”
domainname: “lotbrick.com”
hostname: “lotbrick.com”

4)启动ldap

#第一次启动会比较慢,淡定点
docker-compose pull
docker-compose up -d
ls
docker ps -a

# 启动之后会生成几个文件夹
# ldapconf保存的是ldap的配置文件
# ldapdata保存的是ldap的数据
# lam保存的是lam管理工具的配置

[root@master LDAP]#docker-compose up -d
Creating network “ldap_default” with the default driver
Creating openldap … done
Creating ldap-account-manager … done
[root@master LDAP]#ls
docker-compose.yaml lam ldapconf ldapdata ssl

[root@master LDAP]#docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9b4ebdad17eb jinyunboss/ldap-account-manager:6.6 “docker-php-entrypoi…” 2 minutes ago Up 2 minutes 0.0.0.0:8080->80/tcp ldap-account-manager
a7ff3bd5dced osixia/openldap:1.2.2 “/container/tool/run” 2 minutes ago Up 2 minutes 0.0.0.0:389->389/tcp, 0.0.0.0:636->636/tcp openldap

五、打开浏览器,配置LDAP Account Manager

1)LDAP Account Manager容器监听在8080端口,打开http://192.168.1.1:8080
# 配置一下lam管理页面
# lam管理界面默认密码是: lam
# lam可以管理多个ldap服务器,所以可以拥有多个profile,每个profile对应一台服务器

# 简单添加个用户,然后用另一台linux机器测试ldap连接

好了,以上就是今天的分享啦。

本文转载于:http://win-man.com
本文关键词:高防CDN     加速CDN     免备案CDN
作者:网站高防技术员

发表评论

电子邮件地址不会被公开。 必填项已用*标注