
El servidor ejecuta RHEL 7 y Apache 2.4.6; Este es un problema bastante nuevo (de aproximadamente una semana). La intranet de mi departamento utiliza autenticación en el entorno Active Directory de la universidad y la autenticación para los usuarios finales tarda más de 30 segundos. Las cargas de páginas posteriores son casi instantáneas y, después de un tiempo (tiempo de espera, supongo), el problema vuelve.
<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>
Aquí hay algunas líneas 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]
Respuesta1
Tuve exactamente el mismo problema en Fedora 33 con Apache 2.4 y lo resolví agregando:
LDAPConnectionTimeout 1
a la configuración global de Apache: https://httpd.apache.org/docs/2.4/mod/mod_ldap.html
El parámetro anterior establece el tiempo de espera de la conexión LDAP en 1 segundo.
Estoy usando LDAPS con TLS y sospecho que el retraso se debió a que Apache intentó resolver nombres o verificar el certificado no calificado (autoinscrito) de Active Directory/DC.
Respuesta2
Si su directorio es grande (universitario, podría serlo), las consultas podrían ser lentas desde el principio. Necesitas modificarlos. No hay una solución milagrosa, pero sí algunos consejos:
- filtrar por atributos indexados
- Intente utilizar el puerto del catálogo global si los atributos aparecen como catálogo global replicado.
- Evite (si es posible) búsquedas de subámbito. Evidentemente, esto no siempre es posible, pero a menudo sí lo es.
Hay más listados en estedocumento de microsoft.
Puedes probardepurando mod_ldap, tal vez pueda encontrar algún problema obvio de esa manera; tenga cuidado, las credenciales podrían aparecer en el registro de depuración.