Das Dienstprogramm, mit dem ein Kennwort für die Verwendung mit LDAP verschlüsselt wird, hängt von dem spezifischen Hashing -Algorithmus ab, den Sie verwenden möchten, und vom LDAP -Server, mit dem Sie eine Verbindung herstellen. Es gibt kein einziges "LDAP -Kennwortverschlüsselungsdienstprogramm". Stattdessen verwenden Sie allgemeine Hashing-Tools für Passwort-Passwort und teilen dem LDAP-Server dann mit, welchen Hash-Typ Sie verwendet haben.
Hier ist eine Aufschlüsselung gemeinsamer Methoden und Versorgungsunternehmen:
1. Gemeinsame Hashing -Algorithmen für LDAP:
* {ssha} (gesalzene SHA-1): Dies ist älter, aber immer noch weit verbreitet. Es präsentiert ein zufällig erzeugtes Salz für das Passwort vor dem Hashing mit SHA-1 und dann das Ergebnis zusammen mit dem Salz. SHA-1 gilt als kryptografisch schwach und sollte in neuen Bereitstellungen vermieden werden.
* {SSHA256} (gesalzene SHA-256): Eine stärkere Alternative zu SSHA mit SHA-256. Vor SSHA bevorzugt.
* {ssha512} (gesalzene sha-512): Noch stärker als SSHA256 unter Verwendung von SHA-512. Empfohlen für neue Bereitstellungen, die unterstützt werden.
* {Md5} (Md5): Dies ist * hoch * entmutigt. MD5 ist gebrochen und sollte niemals für das Passworthashing verwendet werden. Viele LDAP -Server lassen es möglicherweise nicht einmal mehr zu.
* {smd5} (gesalzene MD5): Die Verwendung eines Salzes macht es * leicht * besser als einfaches MD5, aber immer noch nicht empfohlen. Vermeiden Sie dies auch.
* {Crypt} (Crypt (3)): Verwendet die Funktion "Crypt ()" des Systems, die normalerweise standardmäßig mit DES-basiertem Hashing ausfällt. DES gilt als sehr schwach. Dies ist im Allgemeinen eine schlechte Wahl.
* {ClearText}: Das Passwort wird in einfachem Text gespeichert. Verwenden Sie dies niemals in einer Produktionsumgebung.
* {pbkdf2} :(Pbkdf2-sha256, pbkdf2-sha512) Eine modernere Funktion der Schlüsselableitung, die gegen Brute-Force-Angriffe widerstandsfähiger ist. Dies ist eine gute Wahl, wenn Ihr LDAP -Server es unterstützt.
2. Dienstprogramme und Methoden zur Generierung von Hashes:
* `slappasswd` (OpenLdap): Dies ist das häufigste und empfohlene Dienstprogramm, insbesondere wenn Sie OpenLDAP verwenden. Es wurde speziell für die Generierung von LDAP -Passwort -Hashes entwickelt. Es unterstützt verschiedene Algorithmen, einschließlich SSHA, SSHA256, SSHA512 und mehr.
`` `bash
slappasswd -S mysecretpassword # Standard:ssha (normalerweise)
slappasswd -h '{ssha256}' -s mysecretpassword
slappasswd -h '{ssha512}' -s mysecretpassword
slappasswd -h '{pbkdf2}' -s mysecretpassword
`` `
`slappasswd` gibt die ordnungsgemäß formatierte Zeichenfolge aus, die Sie dann im Attribut` Userpassword` in Ihrem LDAP -Eintrag verwenden.
* `ldappasswd`: Dies wird hauptsächlich für * Ändern eines Kennworts für einen vorhandenen LDAP -Eintrag verwendet. Es verwendet in der Regel dieselben Hashing -Algorithmen, die vom LDAP -Server unterstützt werden. Während Sie es * möglicherweise verwenden könnten, um einen neuen Kennwort -Hash zu generieren, ist `slappasswd` das bevorzugte Tool für die Erstellung von Kennwortkennkörpern.
* `openSSL passwd`: Dies ist ein allgemeineres Befehlszeilen-Dienstprogramm zur Generierung von Passwort-Hashes. Es unterstützt eine Reihe von Hashing -Algorithmen, aber Sie müssen darauf achten, die Ausgabe für LDAP korrekt zu formatieren. Es handelt sich nicht um die Salzgenerierung und -codierung für Sie wie "slappasswd". Es ist normalerweise besser, "Slappasswd" für LDAP zu verwenden.
`` `bash
OpenSSL Passwd -Salt -sha256 Mysecretpassword
`` `
Sie müssten dann die Ausgabe manuell vorbereiten.
* Programmiersprachen (Python, Perl, Java usw.): Sie können Bibliotheken in verschiedenen Programmiersprachen verwenden, um die Hashes zu generieren. Dies gibt Ihnen die größte Flexibilität, aber Sie müssen auch die Hashing -Algorithmen verstehen und wie man das Salz richtig erzeugt und codiert. Zum Beispiel in Python:
`` `Python
Hashlib importieren
Import Base64
OS importieren
Def SSHA256_Password (Passwort):
Salt =OS.urandom (8) # 8 Bytes ist eine gute Salzgröße
salted_password =password.encode ('utf-8') + Salz
Hashed_password =Hashlib.sha256 (salted_password) .Digest ()
kombiniert =Hashed_Password + Salz
codiert =Base64.b64EneCode (kombiniert) .decode ('ascii')
return "{ssha256}" + codiert
password_hash =ssha256_password ("mysecretpassword")
print (password_hash)
`` `
Dies ist nur ein Beispiel. Sie müssten den Code für andere Hashing -Algorithmen anpassen.
* Webbasierte LDAP-Passwort-Generatoren: Es gibt einige Online -Tools, mit denen LDAP -Passwort -Hashes generiert werden können. Sei extrem vorsichtig mit diesen, vor allem mit sensiblen Passwörtern. Sie vertrauen einem Dritten mit Ihrem Passwort. Es ist viel sicherer, ein lokales Werkzeug wie "slappasswd" zu verwenden.
3. LDAP -Serverkonfiguration:
Es ist wichtig, Ihren LDAP -Server zu konfigurieren, um zu verstehen, welche Hashing -Algorithmen zulässig und bevorzugt sind. Beispielsweise konfigurieren Sie dies in OpenLDAP normalerweise in "Slapd.Conf` oder in der dynamischen Konfiguration mit` cn =config`.
Beispiel (OpenLDAP, `cn =config`):
`` `ldif
DN:olcdatabase ={0} config, cn =config
Changetyp:Ändern
Hinzufügen:olcpasswordHash
olcpasswordhash:{ssha512}
- -
Hinzufügen:olcpasswordHash
olcpasswordhash:{ssha256}
- -
Hinzufügen:olcpasswordHash
olcpasswordhash:{ssha}
`` `
Dies konfiguriert den Server so, dass SSHA512, SSHA256 und SSHA in dieser Reihenfolge der Präferenz ermöglicht werden. Wenn ein Client "ldappasswd" verwendet, um ein Kennwort zu ändern, versucht der Server, den stärksten Algorithmus in der Liste "olcPasswordhash" zu verwenden, die der Client anfordert (oder der erste, wenn der Client keine Präferenz angibt).
4. Welches Dienstprogramm zu wählen:
* `slappasswd` ist die beste Wahl für die Generierung von Erstkennwort -Hashes. Es ist für LDAP ausgelegt, das Salz richtig behandelt und unterstützt eine Vielzahl von Algorithmen. Es ist der sicherste und zuverlässigste Ansatz.
* Verwenden Sie `ldAppasswd`, um * Passwörter auf einem vorhandenen LDAP -Server zu ändern, da es direkt in die Konfiguration des Servers integriert wird.
* Vermeiden Sie "OpenSSL Passwd", es sei denn, Sie wissen wirklich, was Sie tun, und können die Ausgabe korrekt formatieren.
* Vermeiden Sie Online -Passwortgeneratoren aufgrund von Sicherheitsrisiken.
* Programmiersprachen bieten Flexibilität, erfordern jedoch eine sorgfältige Implementierung.
Sicherheitsüberlegungen:
* Verwenden Sie starke Hashing -Algorithmen: Bevorzugen Sie SSHA512 oder PBKDF2, wenn Ihr LDAP -Server diese unterstützt. Vermeiden Sie MD5, SHA-1, DES und einfacher Text.
* Verwenden Sie ein starkes Zufallssalz: Das Salz sollte mindestens 8 Bytes (64 Bit) und kryptografisch zufällig sein.
* Begrenzen Sie die zulässigen Hashing -Algorithmen: Konfigurieren Sie Ihren LDAP -Server, um nur starke Hashing -Algorithmen zuzulassen.
* Betrachten Sie die Kennwortrichtlinien: Implementieren Sie die Komplexität der Kennwortkennzahlen und die Ablaufrichtlinien, um die Sicherheit weiter zu verbessern.
* Schutz Ihres LDAP -Servers: Sichern Sie Ihren LDAP -Server vor dem unbefugten Zugriff.
Zusammenfassend ist "Slappasswd" das am besten geeignete Dienstprogramm für die Generierung von LDAP -Passwort -Hashes. Stellen Sie sicher, dass Sie einen starken Hashing -Algorithmus auswählen und Ihren LDAP -Server entsprechend für eine optimale Sicherheit konfigurieren. Priorisieren Sie immer die sichersten verfügbaren Optionen.