Per proteggere un ambiente OpenLDAP sto studiando quali sono le migliori pratiche di sicurezza per quanto riguarda l'autenticazione degli utenti con password (ad esempio nessuna autenticazione Kerberos o SSL Client Certificate).
Da quanto ho capito, ci sono due approcci per l'autenticazione dell'utente:
- Confronto della password con l'attributo userPassword.
- Il client si collega al server LDAP utilizzando un utente di binding specificato
- Il client invia una query LDAP per recuperare la voce utente
- Il client estrae lo schema di hashing userPassword
- Il client esegue il hashing della password fornita dall'utente con lo schema di hashing estratto e la confronta con la password con hased nell'attributo userPassword
- Se entrambi gli hash corrispondono, l'utente viene autenticato correttamente, altrimenti l'autenticazione non è riuscita
- LDAP Bind con utente e password
- Il client si collega al server LDAP utilizzando l'utente che vuole accedere e la password che ha fornito
- Se il binding LDAP ha avuto successo, l'autenticazione è riuscita, altrimenti l'autenticazione è fallita
Sembra che molte implementazioni stiano ancora utilizzando il primo approccio, mentre il secondo approccio sembra essere più sicuro e consente anche Pass Through l'autenticazione .
- Se gli utenti devono essere autenticati con una password, quali sono le migliori pratiche di sicurezza per l'autenticazione con LDAP e sono documentate da qualche parte?
- Ci sono altri approcci oltre a quelli descritti sopra?