2011-02-24 65 views
1

操作系统:红帽Linux 颠覆:1.5.0 阿帕奇:2.2.17颠覆APACHE2.2 LDAPS验证失败

的httpd.conf:

LDAPSharedCacheSize 200000 
LDAPCacheEntries 1024 
LDAPCacheTTL 600 
LDAPOpCacheEntries 1024 
LDAPOpCacheTTL 600 

<Location /svn> 
DAV svn 
SVNParentPath /home/svnroot/repository 
AuthzSVNAccessFile /home/svnroot/repository/svn_access_file 
AuthType Basic 
AuthBasicProvider ldap 
AuthzLDAPAuthoritative off 
AuthLDAPURL "ldaps://master.ldap.ebupt.com:636/OU=staff,DC=ebupt,DC=com?uid?sub?(objectClass=*)" SS 
L 
AuthName "Subversion.resository" 
Require valid-user 
</Location> 

的Apache的error_log:

[Thu Feb 24 16:48:00 2011] [debug] mod_authnz_ldap.c(403): [client 10.1.85.181] [25242] auth_ldap a 
uthenticate: using URL ldaps://master.ldap.ebupt.com:636/OU=staff,DC=ebupt,DC=com?uid?sub?(objectCl 
ass=*) 
[Thu Feb 24 16:48:00 2011] [info] [client 10.1.85.181] [25242] auth_ldap authenticate: user jinjian 
kang authentication failed; URI /svn [LDAP: ldap_simple_bind_s() failed][Can't contact LDAP server] 

ping master.ldap.ebupt.com是可以的。

我的FTP LDAPS认证OK如下:

服务器:master.ldap.ebupt.com 端口:636 启用SSL:检查 基本DN:OU =员工,DC = ebupt,DC = COM 匿名:检查 搜索过滤器:(objectClass的= *) 用户DN属性:UID 搜索范围:子树

感谢。

回答

3

“无法联系LDAP服务器”可能意味着很多事情,但是如果您的LDAP服务器可访问,并且您使用SSL上的简单绑定,则表示Apache不信任该证书LDAP服务器正在呈现。

您需要告诉Apache关于证书的信息,以便它可以创建SSL连接。

Apache的文档的这一部分是你所需要的:http://httpd.apache.org/docs/2.2/mod/mod_ldap.html#usingssltls

要做到这一点,最好的办法是获得来自您的LDAP服务器上签署证书的CA的CA证书,并使用LDAPTrustedGlobalCert指令。一个例子,从我的一个箱子:

LDAPTrustedGlobalCert CERT_BASE64 /etc/openldap/cacerts/cacert.pem 

你如何去获得CA证书变化;我的LDAP服务器正在运行由我们自己的CA签署的证书,因此我可以轻松获得CA证书。你的设置可能不同;请咨询谁照顾你的LDAP服务器。

您还可以获取LDAP服务器提出使用OpenSSL的工具证书:

openssl s_client -connect your.ldap.host:636 2>&1 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' 

那将显示证书。将所有内容(包括BEGIN CERTIFICATE和END CERTIFICATE)复制到一个文件中。

现在指令添加:

LDAPTrustedGlobalCert CERT_BASE64 /path/to/your/cert/file 

到Apache配置的顶部。重启Apache,你就完成了。

+1

我用'curl -O http://10.1.1.5:443/ca.crt'下载证书文件,并在我的httpd.conf中添加'LDAPTrustedGlobalCert CERT_BASE64/path/to/my/cert/file'没问题。谢谢。 顺便说一下,我发现如果添加'LDAPVerifyServerCert off',评论'LDAPTrustedGlobalCert ...',一切都可以。 LDAPVerifyServerCert指令的默认值处于打开状态。 – user631952 2011-03-03 09:07:51