XAMPP Apache 2.4.58 LDAP AD Authentifizierung
Hallo zusammen,
leider finde ich keine passenden Antworten hier oder überhaupt im Internet. Ja, es gibt Lösungsansätze zu diesem Problem, doch diese funktionieren bei mir leider nicht. Daher die Frage hier und evtl. hat jemand eine funktionale Lösung parat.
Problem
XAMPP bzw. Apache auf Windows 2.4.58
Es soll eine (beliebige) HTML Seite per .htaccess welche im Verzeichnis der zu schützende Seite liegt geschützt werden.
Per .htpasswd funktioniert das auch.
Nun soll das aber bitte über das AD eines Window Server 2019 erfolgen und zwar mittels einer Sicherheitsgruppe (meinegruppe), d.h. alle Nutzer in dieser Sicherheitsgruppe sind berechtigt sich mit ihrem User/Kennwort an der Seite anzumelden.
Im Apache ist das notwendige LDAP Modul geladen:
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
Die Seite befindet sich im Verzeichnis
C:\xampp\htdocs\test
In diesem Verzeichnis befindet sich die .htaccess welche wie folgt aussieht
AuthType Basic
AuthName "Testseite - Anmeldung erforderlich"
#Methode to authent users
AuthBasicProvider ldap
#Serviceaccountuser to read LDAP
AuthLDAPURL "ldap://xxx.yyy.internaldomain:389/DC=zzz,DC=internaldomain?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN ldapservice@zzz.internaldomain
AuthLDAPBindPassword securesecret
LDAPReferrals Off
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN On
Require ldap-group CN=meinegruppe,OU=Nutzer,DC=zzz,DC=internaldomain
Der Serviceuser ldapservice ist auf dem Server angelegt und die Zugangsdaten sind korrekt.
Die Sicherheitsgruppe meinegruppe existiert ebenfalls im AD
Wenn nun die Seite aufgerufen wird quittiert der Apache dies mit dem Fehler
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at admin@example.com to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Im Log finde ich folgenden Eintrag dazu
[ldap:error] [pid 5624:tid 2004] (70023)This function has not been implemented on this platform: AH01277: LDAP: Unable to add rebind cross reference entry. Out of memory?
Diesen Fehler finde ich auch immer wieder bei diesem Problem in anderen Foren, jedoch passt keine beschriebene Lösung.
Hat jemand eine Lösung und eine Erklärung hierzu?
Nebenproblem ist, dass das Popup bei der Anmeldung im Browser nicht das wiedergibt, was nach dem Tag AuthName steht.
leider finde ich keine passenden Antworten hier oder überhaupt im Internet. Ja, es gibt Lösungsansätze zu diesem Problem, doch diese funktionieren bei mir leider nicht. Daher die Frage hier und evtl. hat jemand eine funktionale Lösung parat.
Problem
XAMPP bzw. Apache auf Windows 2.4.58
Es soll eine (beliebige) HTML Seite per .htaccess welche im Verzeichnis der zu schützende Seite liegt geschützt werden.
Per .htpasswd funktioniert das auch.
Nun soll das aber bitte über das AD eines Window Server 2019 erfolgen und zwar mittels einer Sicherheitsgruppe (meinegruppe), d.h. alle Nutzer in dieser Sicherheitsgruppe sind berechtigt sich mit ihrem User/Kennwort an der Seite anzumelden.
Im Apache ist das notwendige LDAP Modul geladen:
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
Die Seite befindet sich im Verzeichnis
C:\xampp\htdocs\test
In diesem Verzeichnis befindet sich die .htaccess welche wie folgt aussieht
AuthType Basic
AuthName "Testseite - Anmeldung erforderlich"
#Methode to authent users
AuthBasicProvider ldap
#Serviceaccountuser to read LDAP
AuthLDAPURL "ldap://xxx.yyy.internaldomain:389/DC=zzz,DC=internaldomain?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN ldapservice@zzz.internaldomain
AuthLDAPBindPassword securesecret
LDAPReferrals Off
AuthLDAPGroupAttribute member
AuthLDAPGroupAttributeIsDN On
Require ldap-group CN=meinegruppe,OU=Nutzer,DC=zzz,DC=internaldomain
Der Serviceuser ldapservice ist auf dem Server angelegt und die Zugangsdaten sind korrekt.
Die Sicherheitsgruppe meinegruppe existiert ebenfalls im AD
Wenn nun die Seite aufgerufen wird quittiert der Apache dies mit dem Fehler
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at admin@example.com to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
Im Log finde ich folgenden Eintrag dazu
[ldap:error] [pid 5624:tid 2004] (70023)This function has not been implemented on this platform: AH01277: LDAP: Unable to add rebind cross reference entry. Out of memory?
Diesen Fehler finde ich auch immer wieder bei diesem Problem in anderen Foren, jedoch passt keine beschriebene Lösung.
Hat jemand eine Lösung und eine Erklärung hierzu?
Nebenproblem ist, dass das Popup bei der Anmeldung im Browser nicht das wiedergibt, was nach dem Tag AuthName steht.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 32941279590
Url: https://administrator.de/contentid/32941279590
Ausgedruckt am: 07.11.2024 um 09:11 Uhr
8 Kommentare
Neuester Kommentar
So funktioniert's bei mir
Manuel
#Benutzer und Passwort mit dem der Apache am AD anfragt
AuthLDAPBindDN "CN=ApacheLDAPAuth,OU=aaa,OU=bbb,DC=example,DC=com"
AuthLDAPBindPassword geheim
#URL zur LDAP-Abfrage
AuthLDAPURL "ldap://dchostname:389/OU=aaa,OU=bbb,DC=example,DC=com?sAMAccountName?sub?(objectClass=*)"
# AuthLDAPBindAuthoritative muss OFF sein. Ansonsten erzeugt der Apache einen Fehler 500
AuthLDAPBindAuthoritative off
LDAPReferrals off
AuthType Basic
AuthName "Bitte benutzen Sie Ihren Windows-Benutzernamen und Ihr Passwort um sich anzumelden."
AuthBasicProvider ldap
AuthUserFile /dev/null
#Benutzer muss Mitglied in der angegebenen AD-Gruppe sein
require ldap-group CN=erlaubtegruppe,OU=aaa,OU=bbb,DC=example,DC=com
Manuel
Das ist der Pfad in dem deine Domänen-Benutzer gesucht werden und die Angabe, dass auf dem sAMAcountName verglichen werden soll:
Das ist der Pfad zur Gruppe in der die erlaubten Benutzer Mitglied sind
Und das hier ist der Benutzer der die LDAP-Abfrage macht:
In einem davon wirst du einen Fehler haben. Poste mal deine .htaccess
Manuel
AuthLDAPURL "ldap://dchostname:389/OU=aaa,OU=bbb,DC=example,DC=com?sAMAccountName?sub?(objectClass=*)"
Das ist der Pfad zur Gruppe in der die erlaubten Benutzer Mitglied sind
require ldap-group CN=erlaubtegruppe,OU=aaa,OU=bbb,DC=example,DC=com
Und das hier ist der Benutzer der die LDAP-Abfrage macht:
AuthLDAPBindDN "CN=ApacheLDAPAuth,OU=aaa,OU=bbb,DC=example,DC=com
In einem davon wirst du einen Fehler haben. Poste mal deine .htaccess
Manuel
Die Frage ist nun, ob die Anmelde- und Abfragedaten, wie ich sie in der .htaccess hinterlegt habe, stimmen/passen oder ob hier ein Fehler vorliegt und falls ja wo und wie er zu beheben ist.
Hast du evtl. einen Fehler im DN?
Wenn deine Domäne ad.firma.de heißt und die Benutzer dort in der OU Benutzer sind, dann heißt der DN dementsprechend OU=Benutzer,DC=ad,DC=firma,DC=de
Wenn dann deine Gruppe mit den erlaubten Benutzern in der OU Benutzer ist heißt der DN für diese Gruppe CN=ErlaubteBenutzer,OU=Benutzer,DC=ad,DC=firma,DC=de
Du kannst dir den DN für Objekte auch direkt ADUC anzeigen lassen und rauskopieren
Manuel