On Wed, 2012-06-20 at 14:45 +0200, Michele Codutti wrote:
> Ma allora perché se io cambio la password (sempre tramite ldapmodify)
> passandogliela in chiaro allora mi impedisce il riutilizzo di una
> password precedentemente usata (anche se è stata memorizzata come
> hash)???

non ho guardato come funziona l'overlay di openldap, ma ti posso dire
come é implementato in freeipa (389ds) e immagino siano molto simili per
ovvi motivi.

La password in chiaro viene usata per creare hash che hanno lo stesso
salt di cioé che e salavato nell attributo passwordHistory, e poi viene
fatto un memcmp per vedere se c'é un match. Se non c'e match la password
e considerata nuova.

Ora se tu provi a buttarci dentro direttamente un hash, l'overlay non ha
modo di confrontare il tuo hash con un hash con salt diverso, per cui
non puó verificare la password history.

Fatti un piacere e modifica l'applicazione per usare ldappasswd e
mandare la password in chiaro cosí che openldap si possa occupare sia di
history che di password quality.
Se l'app usa un ldap bind per autenticare poi puoi completamente
rimuovere l'accesso all'attributo userPassword, e ció é solo un bene.

Se la tua applicazione non puó essere cambiata, dopo aver debitamente
inveito contro chi l'ha scritta, rassergnati e considera la tua
installazione sostanzialmente poco sicura e scordati password history
gestita lato ldap.

Simo.

_______________________________________________
OpenLDAP mailing list
OpenLDAP@mail.sys-net.it
https://www.sys-net.it/mailman/listinfo/openldap

Rispondere a