我在 RHEL 5 上运行了 389 个目录服务器,其中包含组、用户、posix 等。RHEL 客户端正在使用 LDAP 对用户进行身份验证 - 没有问题,一切正常,但密码以纯文本形式发送,并且可以通过网络嗅探器查看。因此,决定使用 SSL 运行:
- 创建 CA - 获得私有和公共 CA 证书
- 使用 CA 证书:生成私有证书和公共证书并合并(第一个文件) 根据 389DS 证书请求,从图形控制台将 CA 公共证书导入 389DS(第二个文件)。
- 在 389DS 中启用 SSL
- 在客户端上,使用 authconfig-gtk 为 LDAP 启用 SSL,指定仅 CA 公共证书
不起作用。
怎么做?安全集成的最佳方法是什么?
答案1
您可能要做的第一件事是检查您的服务器是否正确提供了证书。您可以尝试使用 OpenSSL 连接到您的服务器来执行此操作。在具有访问权限的客户端计算机上,运行:
openssl s_client –connect target_server_fqdn:636
这应该会返回一份打印出来的服务器证书。这里的关键是检查最后打印的“验证返回代码”。您可能会得到不同的代码,但一般来说,如果证书有效,则代码为 0,如果是自签名证书,则代码可能为 19。
如果失败,请返回并检查以确保您已正确导入服务器端证书。
如果您通过了此测试,请继续从客户端测试您的 TLS 连接。
在客户端计算机上运行
ldapsearch -z -ZZ '(uid=<testusername>)'
这将强制通过加密连接进行 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.) 如果身份验证 GUI 出现问题,您可以尝试使用以下命令明确启用 LDAP 的 TLS:
authconfig --enableldaptls --update
我之前遇到过 GUI 问题,因此我倾向于坚持使用 CLI 命令。
3.)最后你可以尝试一下(再次强调,只是为了测试),就是调用
cacertdir_rehash <dir where certs are stored>
更新
如果您在实际创建自签名证书时需要更多帮助,请尝试以下操作:
1.)创建您自己的自签名 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.) 为目录服务器创建服务器证书
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.) 将这两个证书导入“任务”下选择的“管理证书”部分的目录服务器中
4.)启用 TLS 加密
5.) 为客户端创建可导出的证书并将其输出为 .pem 文件
certutil -d . -L -n "<CA Certificate Name>" -a > cacert.pem
6.) 通过您选择的方式 - 将客户端证书下载到每个客户端上。
7.)使用前面提到的命令重新哈希证书
cacertdir_rehash <dir where certs are stored>
答案2
我无法按照我找到的操作指南为 389 目录或管理服务器配置 SSL(我认为这是因为我使用的是 Centos 6,而大多数操作指南都是专门针对 Redhat 的)。
对我来说最终有用的是从 389-console(admin|dir)服务器接口发起证书请求,使用 tinyCA 安装(只是 openssl 的前端,我很懒)签署这些请求),导出签名的 PEM 证书和 CA 证书,然后使用 389-console 将它们导入回来。
389 控制台 -> 服务器组 --> (管理/目录)服务器 -> 打开 -> 管理证书
希望这可以帮助...
答案3
您可以使用以下链接在 SSL 上设置 RHDS/389-ds 吗?
http://lists.fedoraproject.org/pipermail/389-users/2012-March/014200.html
希望有所帮助。