mod_authnz_ldap 绑定为身份验证用户而不是匿名

mod_authnz_ldap 绑定为身份验证用户而不是匿名

我正在尝试尽可能接近单一凭证。我们有一个 Web 应用程序,它的可用身份验证机制相当有限,但(幸运的是)允许管理员告诉它信任REMOTE_USERhttpd.

有没有办法将 mod_authnz_ldap 配置为使用请求用户的凭据进行身份验证,而不是仅在匿名绑定或共享凭据之间进行选择?

这就是我目前所拥有的:

    <Location />

       AuthzLDAPLogLevel debug
       AuthType Basic
       AuthBasicProvider ldap
       AuthName "Active Directory"
       AuthzLDAPAuthoritative off
       AuthLDAPBindDN CN=jad,DC=xxx,DC=com
       AuthLDAPBindPassword xxx
       AuthLDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub
       require valid-user

    </Location>

xxx的标记编辑。基本上上面的方法可以对用户进行身份验证,但它使用我的帐户绑定到 AD。如果我尝试注释掉它AuthLDAPBindDNAuthLDAPBindPassword它似乎试图执行匿名绑定,AD 管理员已将其配置为拒绝。

我的问题是,是否可以将 apache 配置为使用身份验证用户的凭据,而不是让我在匿名绑定或使用共享帐户之间进行选择(考虑到 AD 人员设置的策略,这也是不可能的)。在人员被解雇或离职的情况下,使用个人帐户显然也不是理想的选择。

答案1

或许AuthLDAPInitialBindAsUser(Apache 2.3.6) 可以帮助:

确定服务器是否使用基本 DN 进行初始 DN 查找
身份验证用户自己的用户名,而不是匿名或使用
服务器的硬编码凭据

结合AuthLDAPInitialBindPattern,像这样的东西可能会起作用(未经测试):

       AuthType 基本
       AuthBasicProvider LDAP
       验证名称“Active Directory”
       AuthzLDAP权威关闭
       AuthLDAPInitialBindAsUser 开启
       AuthLDAPInitialBindPattern (.+) cn=$1,dc=com
       AuthLDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub
       需要有效用户

相关内容