Aquí hay un desglose de los métodos y utilidades comunes:
1. Algoritmos de Hashing Común para LDAP:
* {ssha} (salado SHA-1): Esto es más antiguo pero aún ampliamente compatible. Prepara una sal generada al azar a la contraseña antes de hashing con SHA-1, y luego Base64-enoda el resultado junto con la sal. sha-1 se considera criptográficamente débil y debe evitarse en nuevas implementaciones.
* {ssha256} (salado sha-256): Una alternativa más fuerte a SSHA, usando SHA-256. Preferido sobre SSHA.
* {SSHA512} (salado SHA-512): Aún más fuerte que SSHA256, usando SHA-512. Recomendado para nuevas implementaciones donde sean compatibles.
* {md5} (md5): Esto es * muy * desanimado. MD5 está roto y nunca debe usarse para el hash de contraseña. Es posible que muchos servidores LDAP ni siquiera lo permitan.
* {Smd5} (salado MD5): Usar una sal lo hace * ligeramente * mejor que el MD5 simple, pero aún no se recomienda. Evite esto también.
* {cripta} (cripta (3)): Utiliza la función `crypt ()` del sistema, que generalmente vale la pena al hash basado en DES. DES se considera muy débil. Esta es generalmente una mala elección.
* {clearText}: La contraseña se almacena en texto plano. Nunca use esto en un entorno de producción.
* {pbkdf2} :(PBKDF2-SHA256, PBKDF2-SHA512) Una función de derivación clave más moderna que es más resistente a los ataques de fuerza bruta. Esta es una buena opción si su servidor LDAP lo admite.
2. Utilidades y métodos para generar hashes:
* `slappasswd` (OpenLdap): Esta es la utilidad más común y recomendada, especialmente si está utilizando OpenLDAP. Está diseñado específicamente para generar hash de contraseña LDAP. Admite varios algoritmos, incluidos SSHA, SSHA256, SSHA512 y más.
`` `Bash
Slappasswd -s MySecretPassword # predeterminado:SSHA (generalmente)
slappasswd -h '{ssha256}' -s mySecretPassword
slappasswd -h '{ssha512}' -s mySecretPassword
slappasswd -h '{pbkdf2}' -s mySecretPassword
`` `` ``
`SLAPPASSWD` emite la cadena formateada correctamente, que luego usa en el atributo` UserPassword` en su entrada LDAP.
* `ldappasswd`: Esto se usa principalmente para * cambiar * una contraseña en una entrada LDAP existente. Por lo general, utiliza los mismos algoritmos de hash admitidos por el servidor LDAP. Si bien * podría * usarlo potencialmente para generar un nuevo hash de contraseña, `slappasswd` es la herramienta preferida para la creación de contraseña inicial.
* `openssl passwd`: Esta es una utilidad de línea de comandos más general para generar hashs de contraseña. Admite una gama de algoritmos de hash, pero debe tener cuidado de formatear la salida correctamente para LDAP. No maneja la generación de sal y la codificación para usted tan bien como lo hace 'Slappasswd`. Por lo general, es mejor usar `slappasswd` para LDAP.
`` `Bash
OpenSsl Passwd -Salt -Sha256 MySecretPassword
`` `` ``
Luego necesitaría prepender manualmente `{SSHA256}` a la salida.
* Lenguajes de programación (Python, Perl, Java, etc.): Puede usar bibliotecas en varios lenguajes de programación para generar los hashes. Esto le brinda la mayor flexibilidad, pero también requiere que comprenda los algoritmos de hash y cómo generar y codificar la sal correctamente. Por ejemplo, en Python:
`` `Python
importar hashlib
importar base64
importar sistema operativo
Def SSHA256_Password (contraseña):
Salt =OS.urandom (8) # 8 Los bytes es un buen tamaño de sal
salted_password =contraseña.encode ('utf-8') + sal
Hashed_password =Hashlib.Sha256 (salted_password) .digest ()
combinado =hashed_password + sal
codificado =base64.b64Encode (combinado) .decode ('ASCII')
return "{ssha256}" + codificado
contraseña_hash =ssha256_password ("mySecretPassword")
imprimir (contraseña_hash)
`` `` ``
Este es solo un ejemplo. Debería ajustar el código para otros algoritmos de hash.
* Generadores de contraseñas LDAP basados en la web: Hay algunas herramientas en línea que pueden generar hash de contraseña LDAP. sea extremadamente cauteloso usando estos, especialmente con contraseñas confidenciales. Estás confiando en un tercero con tu contraseña. Es mucho más seguro usar una herramienta local como `slappasswd`.
3. Configuración del servidor LDAP:
Es crucial configurar su servidor LDAP para comprender qué algoritmos de hash se permiten y prefieren. Por ejemplo, en OpenLDAP, normalmente lo configuraría en `slapd.conf` o en la configuración dinámica usando` cn =config`.
Ejemplo (OpenLdap, `Cn =config`):
`` `Ldif
dn:olcdatabase ={0} config, cn =config
ChangeType:modificar
Agregar:olcpasswordhash
OlcPasswordhash:{SSHA512}
-
Agregar:olcpasswordhash
OlcPasswordhash:{ssha256}
-
Agregar:olcpasswordhash
olcpasswordhash:{ssha}
`` `` ``
Esto configura el servidor para permitir SSHA512, SSHA256 y SSHA, en ese orden de preferencia. Cuando un cliente usa `ldappasswd` para cambiar una contraseña, el servidor intentará usar el algoritmo más fuerte en la lista 'OlcPasswordhash` que el cliente solicita (o el primero si el cliente no especifica una preferencia).
4. Qué utilidad elegir:
* `SLAPPASSWD` es la mejor opción para generar hashs de contraseña inicial. Está diseñado para LDAP, maneja la sal correctamente y admite una variedad de algoritmos. Es el enfoque más seguro y confiable.
* Use `ldappasswd` para * cambiar * contraseñas en un servidor LDAP existente, ya que se integra directamente con la configuración del servidor.
* Evite `OpenSSL passwd` a menos que realmente sepa lo que está haciendo y puede formatear la salida correctamente.
* Evite los generadores de contraseñas en línea debido a riesgos de seguridad.
* Los lenguajes de programación proporcionan flexibilidad pero requieren una implementación cuidadosa.
Consideraciones de seguridad:
* Use algoritmos de hashing fuertes: Prefiere SSHA512 o PBKDF2 si su servidor LDAP los admite. Evite MD5, SHA-1, DES y texto sin formato.
* Use una sal a aleatoria fuerte: La sal debe ser al menos 8 bytes (64 bits) y criptográficamente aleatorias.
* Limite los algoritmos de hash permitidos: Configure su servidor LDAP para permitir solo algoritmos de hashing fuertes.
* Considere las políticas de contraseña: Implemente las políticas de complejidad y vencimiento de la contraseña para mejorar aún más la seguridad.
* Proteja su servidor LDAP: Asegure su servidor LDAP desde el acceso no autorizado.
En resumen, `SlappassWD` es la utilidad más apropiada para generar hashes de contraseña LDAP. Asegúrese de seleccionar un algoritmo de hash fuerte y configure su servidor LDAP en consecuencia para una seguridad óptima. Siempre priorice las opciones más seguras disponibles.