为Openldap配置TLS(SSL)

| |
[不指定 2010/01/04 23:01 | by ipaddr ]
最近在折腾openldap,以下是配置TLS(ssl)的摘要:

1. 首先,需要安装openssl (鱼漂提醒:rpm或deb安装的话,还需要openssl-devel包)
2. 修改/usr/lib/ssl/openssl.cnf设置默认的国家,省份,城市等信息
3. 复制/usr/lib/ssh/misc/CA.sh到工作目录,比如~/work/
4. 修改~/work/CA.sh的证书期限,比如根证书为15年,普通证书为3年
5. 进入工作目录 cd ~/work/
6. ./CA.sh -newca 按照提示输入一些信息,中间要输入三次密码,请记住你的密码,以后签署证书时需要用到。
7. 使用openssl生成证书,需要注意的是Common Name一定要输入ldap服务器的全称,比如ldap.systemadmin.cn, openssl命令如下:
    openssl req -new -nodes -keyout newreq.pem -out newreq.pem
8. 签署证书:
    ./CA.sh -sign
    需要输入刚才的密码。
9. 将生成的证书复制到openldap的目录:
    mkdir /usr/local/etc/openldap/ca
    mv newcert.pem /usr/local/etc/openldap/ca/servercrt.pem
    mv newreq.pem /usr/local/etc/openldap/ca/serverkey.pem
    cp demo/cacert.pem /usr/local/etc/openldap/ca/

10.修改Openldap服务端配置文件slapd.conf,增加证书配置:
    TLSCACertificateFile /usr/local/etc/openldap/ca/cacert.pem
    TLSCertificateFile /usr/local/etc/openldap/ca/servercrt.pem
    TLSCertificateKeyFile /usr/local/etc/openldap/ca/serverkey.pem

11.重启openldap服务器
    #kill -INT `cat /usr/local/var/run/slapd.pid`
    #/usr/local/libexec/slapd -h "ldap:/// ldaps:///"

12.客户端的配置
    首先,需要将根证书复制到每台客户端,并在客户端的ldap.conf文件中如下配置:
    TLS_CACERT /usr/local/etc/openldap/ca/cacert.pem
   
此外,鱼漂(http://www.eit.name), 特别提醒,需要在编译openldap时指定使用openssl:
(在ubuntu 9.10上测试时,只使用--with-tls,而没有指定openssl的话,好象是不成功的。)
#export CPPFLAGS="-I/usr/local/BerkeleyDB/include"
#export LDFLAGS="-L/usr/local/BerkeleyDB/lib"
(如果是编译安装BerkeleyDB,需要设置以上两个环境变量)
#./configure --with-tls=openssl --enable-modules
#make depend
#make
#make install
Net | 评论(1) | 引用(0) | 阅读(93237)
Sach Email Homepage
2010/11/08 22:11
您的网站是非常好的。我曾试图寻找这一信息一遍又一遍。我很高兴地发现这个!非常丰富的文章。谢谢你提供。
分页: 1/1 第一页 1 最后页