mod_authnz_ldap bind como usuário de autenticação em vez de anonimamente

6

Estou tentando chegar o mais perto possível da credencial única. Temos um aplicativo da Web que possui um conjunto bastante limitado de mecanismos de autenticação disponíveis, mas que (felizmente) permite que os administradores digam que ele confie na variável REMOTE_USER ambiente definida por httpd .

Existe uma maneira de configurar o mod_authnz_ldap para autenticar usando as credenciais do usuário solicitante, em vez de apenas escolher entre ligações anônimas ou credenciais compartilhadas?

Isso é o que eu tenho atualmente:

    <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>
A redação da marca de

xxx . Basicamente, o acima funciona para autenticar os usuários, mas ele usa minha conta para vincular ao AD. Se eu tentar comentar o AuthLDAPBindDN e o AuthLDAPBindPassword , ele tentará executar uma ligação anônima, que os administradores do AD configuraram para ser negada.

Minha pergunta é se o apache pode ser configurado para usar as credenciais do usuário de autenticação em vez de me fazer escolher entre uma conexão anônima ou usando uma conta compartilhada (o que não é possível, dada a política que os caras da AD definiram). Usar a conta de uma pessoa também não é, obviamente, ideal para situações em que elas terminam ou saem.

    
por Bratchley 21.03.2014 / 20:58

1 resposta

6

Talvez AuthLDAPInitialBindAsUser (Apache 2.3.6) possa ajudar:

Determines if the server does the initial DN lookup using the basic
authentication users' own username, instead of anonymously or with
hard-coded credentials for the server

Em combinação com o AuthLDAPInitialBindPattern , algo assim pode funcionar (não testado) :

       AuthType Basic
       AuthBasicProvider ldap
       AuthName "Active Directory"
       AuthzLDAPAuthoritative off
       AuthLDAPInitialBindAsUser on
       AuthLDAPInitialBindPattern (.+) cn=$1,dc=com
       AuthLDAPURL ldap://xxx.xxx.64.71/DC=xxx,DC=com?samaccountname?sub
       require valid-user
    
por 23.03.2014 / 22:41