安装部署openldap并启用ssl认证(亲测可用)
openldap关闭selinux和防火墙
setenforce 0
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
systemctl disable firewalld.service && systemctl stop firewalld.service
systemctl stop NetworkManager && systemctl disable NetworkManager
主机名解析
echo '172.20.98.171 jenkins.huidian.com' >> /etc/hosts
COPY
安装和配置OpenLDAP
安装OpenLDAP
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel openssl
复制数据库文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/DB_CONFIG
systemctl enable --now slapd
开启日志记录
echo "local4.* /var/log/ldap.log" >> /etc/rsyslog.conf
cat > loglevel.ldif << EOF
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
EOF
ldapmodify -Y EXTERNAL -H ldapi:/// -f loglevel.ldif
systemctl restart rsyslog
systemctl restart slapd
创建LDAP自签名证书
生成ca证书
cd /etc/openldap/certs/
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -subj "/C=CN/ST=Beijing/L=Beijing/O=ldap/OU=huidian/CN=ldap-ca"-key rootCA.key -sha256 -days 1024 -out rootCA.pem
生成ldap证书请求
openssl genrsa -out ldap.key 2048
openssl req -new -subj "/C=CN/ST=Beijing/L=Beijing/O=ldap/OU=huidian/CN=ldap.huidian.com" -key ldap.key -out ldap.csr
签发ldap证书
openssl x509 -req -in ldap.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out ldap.crt -days 3650 -sha256
chown -R ldap:ldap /etc/openldap/certs/
创建certs.ldif文件以配置LDAP使用自签名证书进行安全通信。
cat > certs.ldif << EOF
dn: cn=config
changetype: modify
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/openldap/certs/rootCA.pem
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/ldap.crt
-
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/ldap.key
EOF
ldapmodify -Y EXTERNAL-H ldapi:/// -f certs.ldif
测试配置
slaptest -u
config file testing succeeded
配置OpenLDAP开启SSL
vi /etc/sysconfig/slapd
SLAPD_URLS="ldapi:/// ldap:/// ldaps:///"
生成openldap的管理密码(记下来,下面将用到)
slappasswd
@Jenkins opt]# slappasswd
New password:
Re-enter new password:
{SSHA}XfdiANJqMRszKB6c0mIa6Rgtw8p4v+gb
导入基础的Schemas (openldap的基础模块在/etc/openldap/schema/目录里面)
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
编辑配置文件
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
olcSuffix: dc=huidian,dc=com #改成你的组织
olcRootDN: cn=admin,dc=huidian,dc=com #改成你的组织
olcRootPW: {SSHA}XfdiANJqMRszKB6c0mIa6Rgtw8p4v+gb #生成的密码
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" read by dn.base="cn=admin,dc=huidian,dc=com" read by * none #改成你的组织
创建组织架构
cat > certs.ldif << EOF
dn: dc=huidian,dc=com
dc: huidian
objectClass: top
objectClass: domain
dn: cn=admin,dc=huidian,dc=com
objectClass: organizationalRole
cn: admin
description: LDAP Manager
dn: ou=jenkins,dc=huidian,dc=com
objectClass: organizationalUnit
ou: jenkins
EOF
导入数据库
ldapadd -x -W -D "cn=admin,dc=huidian,dc=com" -f base.ldif
测试
172.20.98.171
636
user:cn=admin,dc=huidian,dc=com
passwrod:刚才生成的密码
页:
[1]