
Ich habe eine Frage zu OpenLDAP. Ich verwende eine Lösung (PingFederate), die Fehler von OpenLDAP abruft, um je nach Filter unterschiedliche Dinge zu tun. Ich kann beispielsweise sagen: Erkennen Sie den ungültigen DN-Fehler und unternehmen Sie etwas, wenn Sie ihn erhalten.
Ich habe olcPPolicyUseLockout in ppolicy auf true gesetzt, um mehr Informationen zu erhalten, wenn ungültige Anmeldeinformationen vorliegen; damit Pingfederate sie erkennt. Aber es funktioniert nicht
Wenn ich ldapwhoami mit -e ppolicy verwende, erhalte ich Folgendes: ldap_bind: Ungültige Anmeldeinformationen (49); Passwort abgelaufen ldap_bind: Ungültige Anmeldeinformationen (49); Konto gesperrt
Meine Frage ist also folgende: Was bedeutet das Semikolon in Openldap? Wird die Meldung nach dem Semikolon berücksichtigt? Teilt Openldap den gesamten Fehler den anderen Lösungen mit, in die es integriert ist?
Antwort1
Beachten Sie zunächst, dass die OpenLDAP-Befehlszeilentools eine Textdarstellung des Ergebniscodes und der Diagnosemeldung ausgeben, die nicht der exakten On-the-Wire-Protokollcodierung entspricht.
Die LDAP-PDUs sind ASN.1-kodierte Nachrichten. Um die Antwortstruktur zu verstehen, können Sie sich folgendes ansehen:RFC 4511 Abschnitt 4.1.9Um tatsächlich von LDAP-Komponenten gesendete LDAP-PDUs zu beobachten, ist der LDAP-Dissektor in Wireshark sehr nützlich.
Hauptsächlich OpenLDAPs OverlaySlapop-PolitikimplementiertEntwurf der Behera-LDAP-Passwortrichtlinie-09Dieser Internet-Entwurf spezifiziert sogenannte erweiterte Steuerelemente sowohl für Anfragen als auch für Antworten, die die Protokollsemantik des Bind-Vorgangs erweitern.
Das bedeutet, dass jeder ppolicy-fähige LDAP-Client 1. dieKennwortrichtlinien-Anforderungskontrolleund 2. Dekodieren und Interpretieren derReaktionssteuerung.
Siehe auchPython-LDAP-Democodeals Beispiel.