Apache 2.4 LDAP-Suche langsam

Apache 2.4 LDAP-Suche langsam

Auf dem Server laufen RHEL 7 und Apache 2.4.6; das ist ein ziemlich neues (etwa eine Woche altes) Problem. Das Intranet meiner Abteilung verwendet eine Authentifizierung gegenüber der Active Directory-Umgebung der Universität, und die Authentifizierung für Endbenutzer dauert über 30 Sekunden. Nachfolgende Seiten werden nahezu sofort geladen, und nach einiger Zeit (Timeout, nehme ich an) ist das Problem wieder da.

<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>

Hier sind einige relevante Zeilen aus 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]

Antwort1

Ich hatte genau das gleiche Problem unter Fedora 33 mit Apache 2.4 und habe es durch Hinzufügen von: gelöst.

LDAPConnectionTimeout 1

zur globalen Apache-Konfiguration: https://httpd.apache.org/docs/2.4/mod/mod_ldap.html

Der obige Parameter setzt das LDAP-Verbindungstimeout auf 1 Sekunde.
Ich verwende LDAPS mit TLS und vermute, dass die Verzögerung dadurch verursacht wurde, dass Apache versucht hat, Namen aufzulösen oder ein nicht qualifiziertes (selbst registriertes) Active Directory/DC-Zertifikat zu überprüfen.

Antwort2

Wenn Ihr Verzeichnis groß ist (bei einer Universität könnte es das sein), können die Abfragen von vornherein langsam sein. Sie müssen sie optimieren. Kein Allheilmittel, aber einige Hinweise:

  • Filtern nach indizierten Attributen
  • Versuchen Sie, den globalen Katalogport zu verwenden, wenn die Attribute als globaler Katalog repliziert aufgeführt sind
  • Vermeiden Sie (wenn möglich) Teilsuchvorgänge. Dies ist natürlich nicht immer möglich, aber es ist oft

Weitere sind in diesem Artikel aufgeführt.Microsoft-Dokument.

Du kannst es versuchenDebuggen von mod_ldap, vielleicht können Sie auf diese Weise ein offensichtliches Problem finden. Vorsicht, Anmeldeinformationen könnten im Debug-Protokoll erscheinen.

verwandte Informationen