我在使用Apache2身份验证时遇到问题,authnz_ldap_module以便对来自Active Directory. 我的 Apache 版本是2.2.16-6+squeeze10.
这是我在没有运气的情况下尝试使用的配置(准确地说是多种组合之一):
AuthzLDAPAuthoritative off
AuthBasicProvider ldap
AuthType Basic
AuthName "Active Directory"
AuthLDAPURL "ldap://server1.my.company.tld:3268 server2.my.company.tld:3268/dc=my,dc=company,dc=tld?sAMAccountName?sub"
AuthLDAPBindDN "uid=my_user,dc=my,dc=company,dc=tld"
AuthLDAPBindPassword "mypassword"
Require valid-user
Run Code Online (Sandbox Code Playgroud)
我在 Apache 中得到以下条目error.log:
[debug] mod_authnz_ldap.c(379): [client some_ip_here] [12391] auth_ldap authenticate: using URL ldap://server1.my.company.tld:3268 server2.my.company.tld:3268/dc=my,dc=company,dc=tld?sAMAccountName?sub
[info] [client some_ip_here] [12391] auth_ldap authenticate: user my_user authentication failed; URI / [LDAP: ldap_simple_bind_s() failed][Invalid credentials]
[error] [client some_ip_here] user my_user: authentication failure for "/": Password Mismatch
Run Code Online (Sandbox Code Playgroud)
当然我每次都输入正确的密码,我已经在AD中被阻止了大约一百次,到目前为止没有发生过一次。
我无法验证我是否可以连接到我的 AD 控制器,因为当我尝试时:
ldapsearch …Run Code Online (Sandbox Code Playgroud) 我遇到了一个问题,我从服务器中删除了证书文件。
但是拥有这些文件的客户端仍然可以连接。
我发现,我应该撤销证书,这可以通过更改与该证书的行来完成
/etc/openvpn/easy-rsa/keys/index.txt
将 R 而不是 V 作为第一个字符行。
但之前我已经从文件中删除了该证书的行,因为再次尝试生成该证书只是给出了一个 0 字节大小的文件。
正如我所读到的,从 删除后它应该无法连接index.txt,但它确实连接了。
什么可能导致问题,我如何才能禁止该特定证书连接?
我希望能够创建具有相同名称、CN 和我为每个证书设置的其他变量的证书,因为那个被禁止 - 新创建的证书应该能够连接。
编辑:
解决方案是撤消更改index.txt(在我希望撤销的证书中将 R 改回 V)并在 中生成 CRL easy-rsa,但缺少了。
不得以我的方式手动更改 index.txt,因为它缺少撤销日期并且不允许我生成丢失的 CRL。我发现/etc/openvpn/easy-rsa/revoke-full <cert name>,在我的情况下,撤销应该由, 与生成证书时的所有变量一起完成。