Pesquisa LDAP do Apache 2.4 lenta

Pesquisa LDAP do Apache 2.4 lenta

O servidor está executando RHEL 7 e Apache 2.4.6; este é um problema bastante novo (cerca de uma semana). A intranet do meu departamento usa autenticação no ambiente Active Directory da universidade, e a autenticação para usuários finais leva mais de 30 segundos. Os carregamentos de página subsequentes são quase instantâneos e, depois de algum tempo (tempo limite, presumo), o problema está de volta.

<Directory /var/www/html/intranet>
  AuthType Basic
  AuthName "Restricted files"
  AuthBasicProvider ldap
  AuthLDAPBindDN CN=dept-binder,OU=Generic-Logon,OU=Generic,DC=example,DC=edu
  AuthLDAPBindPassword lamepassword
  AuthLDAPURL ldaps://ldap-ad.example.edu:636/dc=example,dc=edu?sAMAccountName?sub

  <RequireAny>
    require ldap-group CN=ug-dept-intranet,OU=Deoartment,OU=Dept-Groups,DC=example,DC=edu
  </RequireAny>
</Directory>

Aqui estão algumas linhas relevantes de error_log:

AH02034: Initial (No.1) HTTPS request received for child 36 (server dept.example.edu:443)
AH01626: authorization result of Require ldap-group CN=ug-psy-employees,OU=Dynamic,OU=Psychology,OU=FSU-Dept-Groups,DC=fsu,DC=edu: denied (no authenticated user yet)
AH01626: authorization result of Require ldap-group CN=ug-dept-intranet,OU=Dept,OU=Dept-Groups,DC=example,DC=edu: denied (no authenticated user yet)
AH01691: auth_ldap authenticate: using URL ldaps://ldap-ad.example.edu:636/dc=example,dc=edu?sAMAccountName?sub
AH02001: Connection closed to child 11 with standard shutdown (server dept.example.edu:443)

# 37 seconds pass

AH01697: auth_ldap authenticate: accepting jsmith
AH01713: auth_ldap authorize: require group: testing for group membership in "CN=ug-dept-intranet,OU=Department,OU=Dept-Groups,DC=example,DC=edu"
AH01714: auth_ldap authorize: require group: testing for member: CN=jsmith,OU=PEOPLE,DC=example,DC=edu (CN=ug-dept-intranet,OU=Department,OU=Dept-Groups,DC=example,DC=edu)
AH01715: auth_ldap authorize: require group: authorization successful (attribute member) [Comparison true (adding to cache)][6 - Compare True]

Responder1

Tive exatamente o mesmo problema no Fedora 33 com Apache 2.4 e resolvi adicionando:

LDAPConnectionTimeout 1

para a configuração global do Apache: https://httpd.apache.org/docs/2.4/mod/mod_ldap.html

O parâmetro acima define o tempo limite da conexão LDAP para 1 segundo.
Estou usando LDAPS com TLS e suspeito que o atraso foi causado pela tentativa do Apache de resolver nomes ou verificar o certificado não qualificado do Active Directory/DC (auto-inscrito).

Responder2

se o seu diretório for grande (universidade, pode ser), as consultas poderão ser lentas imediatamente. Você precisa ajustá-los. Nenhuma solução mágica, mas algumas dicas:

  • filtrar em atributos indexados
  • tente usar a porta do catálogo global se os atributos estiverem listados como catálogo global replicado
  • evite (se possível) pesquisas com sub escopo. É evidente que isto nem sempre é possível, mas muitas vezes é

Há mais listados nesteDocumento da Microsoft.

Podes tentardepuração mod_ldap, talvez você encontre algum problema óbvio dessa forma, cuidado com as credenciais que podem aparecer no log de depuração.

informação relacionada