Ist es möglich, den Benutzer beim Versuch, sein Kennwort zu ändern, über etwas mehr als nur eine „Einschränkungsverletzung“ zu informieren?
Etwas wie „Das Passwort muss mindestens 7 Zeichen lang sein“, anstatt sie raten zu lassen?
OpenDJ
Antwort1
Was ist Ihr LDAP-Server?
Err 19, LDAP_CONSTRAINT_VIOLATION - Zeigt an, dass der in einem DN-Änderungsvorgang angegebene Attributwert Einschränkungen verletzt, die für das Attribut gelten. Die Einschränkung kann Größe oder Inhalt betreffen (nur Zeichenfolge, keine Binärzahl).
Die meisten LDAP-Server liefern bereits genügend Informationen über fehlende Teile im Passwort oder Attribut. Könnten Sie 389 Directory Server oder RHDS überprüfen? Ein Beispiel von 389-ds ist
[17/Aug/2012:22:24:59 +0000] conn=85 op=14 RESULT err=19 tag=103 nentries=0 etime=0
[17/Aug/2012:22:24:59 +0000] conn=85 op=14 MOD dn="uid=redhat,ou=Users,dc=example,dc=com", within password minimum age
Antwort2
Sie müssen den Code ändern, um die erweiterte LDAP-Anforderung zur Kennwortänderung zu verwenden, deren Antwort detaillierte Fehlercodes bereitstellt.
Antwort3
Alte Frage, aber wir hatten heute genau dieses Problem mit einer externen Self-Service-Passwort-Web-App. Es stellte sich heraus, dass die SSP-Web-App das Passwort SSHA-geschützt hat, bevor es 389-DS erreichte, sodass 389-DS einen Hash erhielt.
Die SSP-Webanwendung muss das Kennwort leer lassen und 389-DS es beim Schreiben selbst verschlüsseln lassen.(Die SSP-Web-App verwendet zur Kommunikation mit LDAP ohnehin TLS 1.2 mit AES-256, sodass das eindeutige Kennwort bei der Übertragung genauso sicher ist wie die meisten HTTPS-Websites.)
Antwort4
Es wird nicht empfohlen, eine ausführlichere Nachricht bereitzustellen. Ein ausführlicherer Text in einer LDAP-Antwort würde einem Angreifer lediglich helfen.