配置OpenLDAP使用TLS通讯

配置OpenLDAP使用TLS通讯
作者:马路遥

  缺省的情况下,OpenLDAP 服务器和客户端之间使用明文通讯,这在一定条件下是不安全的,OpenLDAP 支持TLS加密。这需要制作证书和修改OpenLDAP的配置文件。

制作证书的步骤如下:
进入/usr/share/ssl/misc 目录,如果此目录下已经存在demoCA 目录,则应该先将demoCA目录删除。
执行下列命令:

./CA -newcert
openssl rsa -in newreq.pem -out newkey.pem

  前一个命令会寻问一系列问题,其中其中”PEM pass phrase”(密码)、”Common Name” 两项是必填的,”Common Name”建议使用你的主机名称。密码则至少为4个字符。其他问题可以留空不填。
  后一个命令会寻问密码,回答必须和第一个命令相同。
  执行完毕两个命令后会生成newkey.pem newreq.pem
  将newkey.pem 文件重命名为slapd-key.pem,并且放置到/etc/openldap/ssl目录下,注意这个目录需要自己行建立,并且放到其他位置亦可。
  使用文本编辑器将newreq.pem 中的private key 部分删除,然后放置到/etc/openldap/ssl 目录下。改名为slapd-cert.pem。

 
进入/usr/share/ssl/misc 目录,如果此目录下已经存在demoCA 目录,则应该先将demoCA目录删除。
1../CA –newca
这个命令会询问一系列问题,其中”PEM pass phrase”(密码)、”Common Name” 两项是必填的,”Common Name”建议使用你的主机名称。密码则至少为4个字符。其他问题可以留空不填。

2.openssl req –new –nodes –keyout newreq.pem –out newreq.pem
这里也会问一系列问题,和上一步的回答方法一样。

3../CA –sign
这里你要回答第一步时键入的密码。

4.创建/etc/openldap/ssl 目录,使用别的目录亦可。

5.mv demoCA/cacert.pem /etc/openldap/ssl

6.mv newcert.pem /etc/openldap/ssl/servercrt.pem

7.mv newreq.pem /etc/openldap/ssl/serverkey.pem

8.chown ldap:ldap /etc/openldap/ssl/serverkey.pem

9.chmod 600 /etc/openldap/ssl/serverkey.pem

10.修改slapd.conf 加入下列三行。


TLSCACertificateFile /etc/openldap/ssl/cacert.pem
TLSCertificateFile /etc/openldap/ssl/servercrt.pem
TLSCertificateKeyFile /etc/openldap/ssl/serverkey.pem

在客户端的/etc/openldap/ldap.conf 中加入
TLS_CACERT /etc/openldap/ssl/cacert.pem ,
注意此文件时从服务器上生成的。

第8步和第9步中修改了serverkey.pem文件的属主和权限,这是必需的。  

在使用tls 的情况下,OpenLDAP 服务使用389和636端口,其中389 端口仍然提供普通的ldap服务,而636端口提供加密的ldap 服务,即ldaps 。
在命令行上链接ldaps 服务器,必须指定-H 参数,如下例:

ldapsearch –x –b ‘dc=linux,dc=org’ –H ldaps://servername:636

其中“:636”的部分可以省略。

参考资料:
1. OpenLDAP 2.2 Administrator's Guide
URL : http://www.openldap.org
2.Gerald Cater;<> ,O’Reilly,2003
3. Timothy A. Howes Ph.D., Mark C. Smith, Gordon S. Good;”<< Understanding and Deploying LDAP Directory Services>>, Addison Wesley,2003。

Comments

最近在配置LDAP,找了很多文章,TLS加密都没搞定,最后看了你这篇文章TLS终于能够正常工作了。
测试环境:RHEL5 (Tikanga)

It's woreunfdl to have you on our side, haha!

Why does this have to be the ONLY reballie source? Oh well, gj!

想问问,openldap中能否添加中文用户?

That's really thinking at an imsvepsire level

Thought it wondul't to give it a shot. I was right.

I was seosurily at DefCon 5 until I saw this post.

randomness