Autenticação Apache LDAPS

2

Estou com dificuldades para configurar uma autenticação LDAPS para meu diretório /var/svn .

Aqui está o arquivo de configuração que eu tenho para o Apache:

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

<VirtualHost *:80>
  ServerName myserver.com
  DocumentRoot /var/www
  <Location /svn>
    DAV svn
    SVNParentPath /var/svn
    AuthType Basic
    AuthBasicProvider ldap
    AuthLDAPBindDN "mybind_dn"
    AuthLDAPBindPassword "mypassword"
    AuthLDAPURL "ldaps://my_ldap_server:636/credentials"
    AuthName "Authorized Personnel Only"
    Require valid-user
  </Locaion>
</VirtualHost>

Quando tento acessar "myserver.com/svn", recebo um "Erro interno do servidor" (500) e nada é exibido nos logs de erros. Eu sei que o LDAPS está funcionando no nível de sistemas operacionais (eu tenho um script de teste que confirma isso), então estou realmente perdido.

Alguma idéia?

EDIT: Se eu deixar de fora a autenticação LDAP e usar apenas a autenticação básica (com um arquivo .htpasswd), ele funciona muito bem.

    
por nuclearpenguin 04.10.2011 / 17:52

1 resposta

3

Como se constata, essa foi uma questão de "caso especial", no entanto, postarei minhas descobertas para ajudar qualquer outra pessoa a ter um problema semelhante.

Isso resultou do fato de meu servidor LDAP ter um certificado de segurança inválido. Como o Apache não sabia o que fazer com um certificado "defeituoso", ele entrou em pânico e simplesmente descartou tudo. Para forçar o apache a ignorar certificados defeituosos, coloque a seguinte linha no seu arquivo httpd.conf :

 LDAPVerifyServerCert off

Fazendo isso, e um rápido reinício do apache me deu os resultados que eu tenho procurado.

    
por 05.10.2011 / 15:32