使用389 Directory Server设置SSL进行LDAPvalidation

我已经在RHEL 5上运行了389 Directory Server,其中包括组,用户,posix等。RHEL客户端使用LDAP来validation用户 – 没有问题,一切正常,但是密码以明文forms发送,并且可以通过networking嗅探器看到。 所以,决定使用SSL运行:

  1. 创buildCA – 获得私人和公共CA证书
  2. 使用CA证书:根据389DS证书请求生成专用证书和公用证书,并将其合并( 第1个文件 ),从CA公共证书导入到graphics控制台( 第2个文件 )的389DS。
  3. 在389DS中启用了SSL
  4. 在客户端上,使用authconfig-gtk启用了LDAP for SSL, 指定CA公用证书

不起作用。

如何? 什么是安全集成的最佳方式?

你可能想要做的第一件事是检查你的服务器是否正确地提交证书。 您可以尝试使用OpenSSL连接到您的服务器。 在具有访问权的客户端计算机上,运行:

 openssl s_client –connect target_server_fqdn:636 

这应该返回一个很好的打印出来的服务器的证书。 这里的关键是检查最后打印的“validation返回代码”。 你可能会得到不同的代码,但是一般来说,你应该得到0的有效证书,如果你是自签名的,可能会得到19。

如果失败,请返回并检查以确保已正确导入服务器端证书。

如果您已通过此testing,请继续从客户端testing您的TLS连接。

在客户机上运行

 ldapsearch -z -ZZ '(uid=<testusername>)' 

这将强制通过encryption连接进行LDAP查找。 如果成功,您应该获取一些用户信息,并检查DS日志应该产生以下内容:

[23 / Sep / 2011:07:48:57 -0500] conn = 1631 op = 0 EXT oid =“XXXXXX.X.XX”name =“startTLS”[23 / Sep / 2011:07:48:57 -0500 ] conn = 1631 op = 0 RESULT err = 0 tag = 120 nentries = 0 etime = 0 [23 / Sep / 2011:07:48:57 -0500] conn = 1631 SSL 256位AES

如果失败,您需要确保证书在客户端正确导入。

在排除故障时,我发现自己经常看到的一些常见区域是:

1.)在客户端,在某些情况下(这里的某个人可能会更好地解释),你可以尝试通过编辑ldap.conf来包含行

 TLS_REQCERT allow 

2.)如果authenticationGUI给你带来麻烦,你可以尝试明确地打开TLS for LDAP

 authconfig --enableldaptls --update 

我之前在GUI上遇到过问题,所以我倾向于使用CLI命令。

3.)最后一件事你可能会尝试(再次,只是为了testing),正在呼唤

 cacertdir_rehash <dir where certs are stored> 

更新

如果您在实际创build自签名证书过程中寻求更多帮助,请尝试以下操作:

1.)创build您自己的自签名CA证书:

 certutil -S -n "<CA Certificate Name Here>" -s "cn=<CN Name Here>, dc=<Your DC's FQDN>" -2 -x -t "CT,," -m 1000 -v 120 -d . -k rsa 

2.)为目录服务器创build一个服务器证书

 certutil -S -n "Cert-Name" -s "cn=<Server FQDN>" -c "<Name of CA Certificate>" -t "u,u,u" -m 1001 -v 120 -d . -k rsa 

3.)将这两个证书导入到“pipe理证书”部分的目录服务器中,在“任务”下select

4.)启用TLSencryption

5.)为客户端创build可导出的证书并将其输出到.pem文件

 certutil -d . -L -n "<CA Certificate Name>" -a > cacert.pem 

6.)通过您select的方式 – 将客户端证书下载到每个客户端。

7.)使用前面提到的命令重新刷新证书

 cacertdir_rehash <dir where certs are stored> 

我没有运气为389目录或pipe理服务器configurationSSL后,我发现howtos(我想这是因为我使用的是Centos 6,大多数howtos专门针对Redhat)。

最后对我起作用的是从389-console(admin | dir)服务器接口发起证书请求,用一个tinyCA安装(只是一个openssl的前端,我很懒)签署这些请求,导出签名的PEM证书和CA证书,并使用389控制台导入。

389 console – > Server Group – >(admin / directory)server – > Open – > Manage Certificates

希望这可以帮助…

可能更好的方法是使用FreeIPA。

您可以使用下面的链接来设置SSL上的RHDS / 389-ds。

http://lists.fedoraproject.org/pipermail/389-users/2012-March/014200.html

希望有所帮助。

389号码簿服务器项目在这里维护一个关于TLS / SSL的指南http://www.port389.org/docs/389ds/howto/howto-ssl.html

这涵盖了在没有pipe理控制台的情况下pipe理服务器证书。 希望有所帮助,