Autenticando o Apache em vários grupos ldap

3

Estou usando mod_authn_alias e mod_authnz_ldap contra um Apache / 2.2.14 (Ubuntu) e estou tentando configurar a autenticação do ldap em vários domínios.

Minha configuração é:

<AuthnProviderAlias ldap alpha>
  AuthLDAPBindDN "CN=admin-alpha,CN=Users,DC=alpha,DC=local"
  AuthLDAPBindPassword "xxx"
  AuthLDAPURL "ldap://dc01.alpha.local/CN=Users,DC=alpha,DC=local?sAMAccountName?sub?(objectClass=*)"
</AuthnProviderAlias>

<AuthnProviderAlias ldap beta>
  AuthLDAPBindDN "CN=admin-beta,CN=Users,DC=beta,DC=local"
  AuthLDAPBindPassword "xxx"
  AuthLDAPURL "ldap://dc01.beta.local/CN=Users,DC=test,DC=local?sAMAccountName?sub?(objectClass=*)"
</AuthnProviderAlias>

<Directory "/usr/local/nagios/addons/pnp/share">
        AllowOverride None
        Order allow,deny
        Allow from all
        AuthName "Pnp Access"
        AuthType Basic
        AuthBasicProvider alpha beta
        AuthzLDAPAuthoritative off
        #Important, otherwise "(9)Bad file descriptor: Could not open password file: (null)"
        AuthUserFile /dev/null
        #only members of this group can log in
        Require ldap-group CN=grp_nagiosadmins,DC=beta,DC=local
        Require ldap-group CN=grp_nagiosadmins,DC=alpha,DC=local
        ...
</Directory>

Portanto, se o usuário não puder ser autenticado no domínio alfa, ele deverá fazer o failover para o domínio beta. No entanto, nenhum usuário de qualquer domínio pode ser autenticado com essa configuração.

Quando tento fazer login:

[Fri Mar 07 16:13:35 2014] [error] [client 10.100.13.30] access to /pnp failed, reason: require directives present and no Authoritative handler.
[Fri Mar 07 16:13:38 2014] [error] [client 10.100.13.30] access to /pnp failed, reason: require directives present and no Authoritative handler.

Por que não colocar todos os meus usuários em um domínio? Essa é uma longa história e, finalmente, não foi minha decisão.

Como configuro isso corretamente?

    
por user211984 07.03.2014 / 16:48

3 respostas

1

Eu tive um problema semelhante, exceto que estava validando usuários LDAP específicos em vez de grupos. A solução foi alterar o parâmetro da diretiva require de ldap-user para apenas usuário . Isso está documentado na seção de comentários da documentação do mod_authn_alias .

Meu entendimento é que mod_authn_alias não é específico do LDAP. Sua documentação diz que "permite provedores de autenticação estendida" e eles não necessariamente precisam estar relacionados ao LDAP.

Provavelmente vale a pena tentar substituir sua diretiva require ldap-group por apenas require group e ter cuidado com o caso de letras.

    
por 01.05.2014 / 06:09
1

O erro é sobre o

AuthzLDAPAuthoritative on

em falta Dito isto, se você quiser definir várias regras, você deve configurar:

Satisfy any
    
por 26.07.2017 / 17:24
0

A mensagem de erro diz: require directives present and no Authoritative handler. Então funciona se você definir AuthzLDAPAuthoritative on ?

    
por 07.03.2014 / 17:00