by elaan » Fri Aug 23, 2002 11:27 am
Hello,
I've been testing all week. I had already made all kinds of debug-, access-, audit- and error-logs with the server. I also snoop'ed the networkinterface the Directory Server is bound too, to see the contents of the packet(s) being send by LDAP Administrator 2.3. For comparison I've also done the same with 2 other tools that I can use to change the userPassword attribute. I discovered there are several ways the password-modification can be send to the server, of which only {CRYPT} and cleartext are applicable to my situation as the entries I want to manage with LDAP Administrator require Unix-logins via the pam_unix.so module.
From the snoop-data and the Directory Server access- and error-logs I can see that:
1) The iPlanet Directory Console sends password updates in the clear, even if {CRYPT} is the default password-storage schema. When changing the password it not only changes the userPassword attribute, but also changes the objectclass attribute (to contain the same values which where already there). The Console manages to update the password successfully.
2) Another tool I used just changes the userPassword attribute when changing the password, sending it in {CRYPT} form. This tool also manages to change the password successfully.
3) Surprisingly LDAP Administrator 2.3 demo version always sends 2 (!) passwords in one TCP-packet. I checked to make sure I only request 1 password update. Moreover it always sends the first password in {CRYPT} form, even if I try to update the password in cleartext.
The first encrypted password will either be:
- the old password, forcing the Directory Server to respond with "Error 19, Constraint violation: password in history". This password is preceded by {CRYPT}. Or:
- an password which I didn't recognize as the old or the new password which is not formatted correctly, forcing the Directory Server to respond with "Error 19, Constraint violation: invalid password syntax." This password is sometimes preceded by {crypt} and sometimes by {CRYPT}, I don't know if this is allowed, or if the lower-case version violates the password-syntax defined in the LDAP RFC's.
The second password is the correct password as far as I can tell. As it is send in the same packet as the first one, maybe it is part of the same ldapmodify-operation?
I really hope you can help me debug this any further. I really like all other aspects of the way LDAP Administrator works, and the other tools fail in bigger ways, or have security problems related to them I'd very much like to avoid.
If you want me to make the snoop-data available to you I'd like to do that in private mail. If so please mail me the E-mail address I can send it to.
With kind regards, Erik Laan.
<font size=-1>[ This Message was edited by: elaan on 2002-08-23 14:31 ]</font>