%20usado%20pelo%20ldappasswd%3F.png)
Estou usando o OpenLDAP 2.6. Quando eu defino a senha de um objeto via
ldappasswd -x -D <dn of root user> -W -S <dn of object whose pwd shall be set>
então algum hash da senha acaba no atributo userPassword
.
Qual função hash ldappasswd
usa? Como configuro a função hash? Pelo que parece, presumo que o padrão seja um SHA1 que não é mais seguro.
Responder1
Qual função hash o ldappasswd usa?
Tecnicamente nenhum – apenas invoca a operação estendida LDAP 'Alterar senha' que faz com que o LDAPservidorusar alguma função hash que achar apropriada (e armazenar o hash onde achar apropriado - não necessariamente em userPassword).
Portanto, o hash usado pela exop 'Alterar senha' é configurado no lado do servidor. Para OpenLDAP, esse é o olcPasswordHash
parâmetro cujo padrão é "SSHA" (SHA-1 salgado e iterado), semelhante aos $1$
hashes. Se você quiser algo mais forte, você pode escolher {CRYPT}
usar quaisquer algoritmos de hash que a função crypt() do sistema forneça (ou seja, o mesmo que com /etc/shadow – possivelmente bcrypt ou yescrypt se o sistema operacional usar libxcrypt, caso contrário, o mesmo tipo de SHA salgado ),ou {ARGON2}
se você tiver o módulo slapd-argon2 adicional instalado (faz parte do OpenLDAP, mas está na árvore "contrib").
tapa.conf | cn=config |
---|---|
Padrão (SHA-1 iterado/salgado):password-hash {SSHA} |
Padrão:olcPasswordHash: {SSHA} |
Sistema crypt() usando yescrypt, se libxcrypt estiver em uso:password-hash {CRYPT} password-crypt-salt-format $y$%.16s (não testado, mas acho que deve funcionar) |
Sistema crypt() usando yescrypt:olcPasswordHash: {CRYPT} olcPasswordCryptSaltFormat: $y$.16s |
Argon2 se o módulo slapd estiver disponível:moduleload argon2 password-hash {ARGON2} |
Argon2 se o módulo slapd estiver disponível:olcModuleLoad: argon2 olcPasswordHash: {ARGON2} |