私の人生では、これはどこにも見つからないようです。誰かが私にリンクを教えてくれれば、私はとても感謝しています。
openLDAPでSSHAハッシュを有効にしようとしています。デフォルトでは、パスワードはプレーンテキストで保存されます。これは犯罪だと思いますが、私はADの人なので、何を知っていますか。ただし、必要に応じて、ハッシュをオンにするために必要な情報を簡単に見つけることができると思います。そして、あなたは選びませんか?
'password-hash'を使用して、ハッシュアルゴリズムを変更できます。デフォルトのアルゴリズムはSSHA(クリアテキストではありません)です。
slapdは、クライアントから送信されたパスワードがプレーンテキストの場合にのみ上記を使用し、クライアントがハッシュされたパスワードを送信している場合は、そのまま保存されることに注意してください。
例:pam_ldapで、pam_password exop(またはclear)を使用します
パスワードがハッシュ化されており、それがopenLDAPが宣伝する機能であることがわかっている場合、サーバーでパスワード強度テストはどのように実行されますか?
ハッシュ化されたパスワードを送信した場合、slapdは強度テストを実行できないため、クライアントはクリアテキストでパスワードを送信する必要があります(ppolicyにはハッシュ化されたパスワードを受け入れる/拒否するオプションがあります)。
ノート:
例:通常、属性は次の形式で返されます(::結果がbase64でエンコードされていることを示します)
userPassword:: e1NTSEF9QjU0VXNmQWhJN1dQZ3FvbDVSQ1l5RHUzTlVqa1luVVhYV2ljbmc9PQ=
=
$ echo e1NTSEF9QjU0VXNmQWhJN1dQZ3FvbDVSQ1l5RHUzTlVqa1luVVhYV2ljbmc9PQ==|openssl base64 -d
{SSHA}B54UsfAhI7WPgqol5RCYyDu3NUjkYnUXXWicng==
LDAP仕様では、相互運用性のためにプレーンテキストのパスワードが必要です。上記のセキュリティに関するリンクは、サーバーが適用できるデフォルトのハッシュタイプのオプションを提供しますが、その影響を考慮してください。
userPassword
LDAPの追加/変更操作で属性 を保存しようとすると、userPassword
値はプレーンテキストとして保存されます。ただし、OpenLDAPのオーバーレイモジュールのppolicy_hash_cleartext
オプションを 使用して、この動作をオーバーライドできます。ppolicy
有効にすると、クライアントがプレーンテキストのパスワードを送信すると、SSHA
デフォルトで保存されます。OpenLADPでハッシュパスワードを有効にする方法の詳細については、こちらをご覧ください。
これは古い質問ですが、それでも関連性があります。総当たり攻撃が比較的容易なため、SSHA(SHA-1など)の使用は推奨されなくなりました。
より安全なハッシュアルゴリズムはSHA-512です。OpenSSL 1.1を使用すると、次のようにクライアント側でより強力なハッシュを生成できます。
_generate_password_hash() {
local plaintext; plaintext="$1"
command printf "{CRYPT}%s" "$(openssl passwd -6 -stdin <<< "${plaintext}")"
}
これにより、次のような文字列が出力されます。
{CRYPT}$6$SGIWzAbjh.3WoQQJ$vEFlcRBQpd2fJ8dxcbojr83pjQcXcJ.InRMzNRryTQ//fMYJoCRFWAPn22EvJyDikG.MNuUqRYqQtI97Clj2F0
{CRYPT}
最初の代わりに注意してください{SSHA}
。
たとえば、ldapmodifyを使用してパスワードを適用できます。
ldapmodify -h "${LDAP_HOST}" -D cn=user,dc=example,dc=com -W <<EOF
dn: cn=user,dc=example,dc=com
changetype: modify
replace: userPassword
userPassword: $(_generate_password_hash NEW_PASSWORD_HERE)
EOF
LibreSSLには、使用可能なハッシュアルゴリズムの異なるセットがあることに注意してください。オプションが表示されないopenssl version
場合は、実際のOpenSSLバージョンを確認してください。openssl passwd --help
-6
OpenLDAPは、管理者が選択できるさまざまなストレージスキームをサポートしています。アカウントの作成に使用するツールは、ハッシュを実行するように構成する必要があります。サーバーは、クライアントが要求する形式でパスワードを保存します。ハッシュが適切に行われると、ldapsearchは次のようにハッシュされたパスワードを表示します。
userPassword: {SSHA}d0Q0626PSH9VUld7yWpR0k6BlpQmtczb
詳細については、 http://www.openldap.org/doc/admin24/security.htmlを参照してください。
管理ツールに関しては、個人的にhttp://phpldapadmin.sourceforge.netをお勧めします。