O utilitário usado para criptografar uma senha para uso com o LDAP depende do algoritmo de hash específico que você deseja usar e do servidor LDAP ao qual você está conectando. Não existe um único "utilitário de criptografia de senha LDAP". Em vez disso, você usa ferramentas de hash de senha de uso geral e informa ao servidor LDAP qual tipo de hash usou.
Aqui está um colapso de métodos e utilitários comuns:
1. Algoritmos comuns de hash para LDAP: *
{ssha} (sha-1 salgado): Isso é mais antigo, mas ainda é amplamente suportado. Ele antecende um sal gerado aleatoriamente para a senha antes do hash com o SHA-1 e, em seguida, base64 codifica o resultado junto com o sal.
sha-1 é considerado criptograficamente fraco e deve ser evitado em novas implantações. *
{SSHA256} (SHA-256 SALTED): Uma alternativa mais forte ao SSHA, usando o SHA-256. Preferido sobre SSHA.
*
{SSHA512} (SHA-512 SALTED): Ainda mais forte que o SSHA256, usando o SHA-512. Recomendado para novas implantações quando suportado.
*
{md5} (md5): Isso é * altamente * desanimado. O MD5 está quebrado e nunca deve ser usado para hash de senha. Muitos servidores LDAP podem nem permitir mais.
*
{smd5} (md5 salgado): O uso de um sal o torna * um pouco * melhor que o MD5 simples, mas ainda não é recomendado. Evite isso também.
*
{Crypt} (Crypt (3)): Usa a função `Crypt ()` `` `` `` `` `` `` `` `` ``, que geralmente indica o hash baseado em DES. O DES é considerado muito fraco. Geralmente é uma má escolha.
*
{ClearText}: A senha é armazenada em texto simples.
Nunca use isso em um ambiente de produção. *
{pbkdf2} :(PBKDF2-SHA256, PBKDF2-SHA512) Uma função de derivação-chave mais moderna que é mais resistente a ataques de força bruta. Esta é uma boa escolha se o seu servidor LDAP o suportar.
2. Utilitários e métodos para gerar hashes: *
`slappasswd` (OpenlDAP): Essa é a utilidade mais comum e recomendada, especialmente se você estiver usando o OpenLDAP. Ele foi projetado especificamente para gerar hashes de senha LDAP. Ele suporta vários algoritmos, incluindo SSHA, SSHA256, SSHA512 e muito mais.
`` `BASH
slappasswd -s mySecretPassword # padrão:ssha (geralmente)
slappasswd -h '{ssha256}' -s mySecretPasswordWord
slappasswd -h '{ssha512}' -s mySecretPasswordWord
slappasswd -h '{pbkdf2}' -s mySecretPassword
`` `
`slappasswd` produz a sequência formatada corretamente, que você usa no atributo` userpassword` na sua entrada LDAP.
*
`ldappasswd`: Isso é usado principalmente para alterar * uma senha em uma entrada LDAP existente. Normalmente, ele usa os mesmos algoritmos de hash suportados pelo servidor LDAP. Enquanto você * poderia * potencialmente usá -lo para gerar um novo hash de senha, `slappasswd` é a ferramenta preferida para a criação inicial de senha.
*
`OpenSSL passwd`: Este é um utilitário de linha de comando de uso mais geral para gerar hashes de senha. Ele suporta uma variedade de algoritmos de hash, mas você precisa ter cuidado para formatar a saída corretamente para LDAP. Ele não lida com a geração de sal e a codificação para você tão bem quanto `slappasswd`. Geralmente é melhor usar o `slappasswd` para LDAP.
`` `BASH
OpenSSL Passwd -Salt -Sha256 MySecretPassword
`` `
Você precisaria então prender manualmente `{ssha256}` para a saída.
*
linguagens de programação (Python, Perl, Java, etc.): Você pode usar bibliotecas em várias linguagens de programação para gerar os hashes. Isso oferece mais flexibilidade, mas também exige que você entenda os algoritmos de hash e como gerar e codificar o sal corretamente. Por exemplo, em Python:
`` `Python
importar hashlib
Importar base64
OS de importação
def ssha256_password (senha):
sal =os.urandom (8) # 8 bytes é um bom tamanho de sal
salted_password =senha.encode ('utf-8') + sal
hashed_password =hashlib.sha256 (salted_password) .digest ()
combinado =hashed_password + sal
codificado =base64.b64Encode (combinado) .Decode ('ASCII')
retornar "{ssha256}" + codificado
Password_hash =ssha256_password ("mySecretPassword")
Print (Password_hash)
`` `
Este é apenas um exemplo. Você precisaria ajustar o código para outros algoritmos de hash.
*
Geradores de senha LDAP baseados na Web: Existem algumas ferramentas on -line que podem gerar hashes de senha LDAP.
seja extremamente cauteloso usando isso, especialmente com senhas sensíveis. Você está confiando em terceiros com sua senha. É muito mais seguro usar uma ferramenta local como o `slappasswd`.
3. Configuração do servidor LDAP: É crucial configurar seu servidor LDAP para entender quais algoritmos de hash são permitidos e preferidos. Por exemplo, no OpenLDAP, você normalmente configura isso em `slapd.conf` ou na configuração dinâmica usando` cn =config`.
Exemplo (Openldap, `cn =config`): `` `ldif
dn:olcdatabase ={0} config, cn =config
ChangeType:modifique
Adicione:olcpasswordhash
olcpasswordhash:{ssha512}
-
Adicione:olcpasswordhash
olcpasswordhash:{ssha256}
-
Adicione:olcpasswordhash
olcpasswordhash:{ssha}
`` `
Isso configura o servidor para permitir SSHA512, SSHA256 e SSHA, nessa ordem de preferência. Quando um cliente usa `ldappasswd` para alterar uma senha, o servidor tentará usar o algoritmo mais forte na lista` olcpasswordhash` que o cliente solicita (ou o primeiro se o cliente não especificar uma preferência).
4. Qual utilitário escolher: *
`slappasswd` é a melhor opção para gerar hashes iniciais de senha. Ele foi projetado para LDAP, lida com o sal corretamente e suporta uma variedade de algoritmos. É a abordagem mais segura e confiável.
* Use `ldappasswd` para * alterar as senhas * em um servidor LDAP existente, pois ele se integra diretamente à configuração do servidor.
* Evite `OpenSSL Passwd`, a menos que você realmente saiba o que está fazendo e possa formatar a saída corretamente.
* Evite geradores de senha on -line devido a riscos de segurança.
* As linguagens de programação fornecem flexibilidade, mas requerem implementação cuidadosa.
Considerações de segurança: *
Use algoritmos fortes de hash: Prefere SSHA512 ou PBKDF2 se o seu servidor LDAP os suportar. Evite MD5, SHA-1, DES e texto simples.
*
Use um forte sal aleatório: O sal deve ter pelo menos 8 bytes (64 bits) e criptograficamente aleatório.
*
Limite os algoritmos de hash permitidos: Configure seu servidor LDAP para permitir apenas algoritmos fortes de hash.
*
Considere políticas de senha: Implemente as políticas de complexidade e expiração de senha para melhorar ainda mais a segurança.
*
Proteja seu servidor LDAP: Prenda seu servidor LDAP do acesso não autorizado.
Em resumo, `slappasswd` é a utilidade mais apropriada para gerar hashes de senha LDAP. Certifique -se de selecionar um forte algoritmo de hash e configurar seu servidor LDAP de acordo com a segurança ideal. Sempre priorize as opções mais seguras disponíveis.