web-dev-qa-db-ja.com

nss / pam ldapは、すでにハッシュされているldapサーバーにパスワードを送信できますか?

会社のADサーバーに対してLDAP経由でLinuxユーザーを認証できるようにnssとpamを構成しました。パスワードがプレーンテキストで送信されることを除いて、すべて正常に機能します。私の制御が及ばない理由で、私たちのADサーバーはssl/tlsをサポートしておらず、それをオンにするように説得することはできないと思います。パスワードが送信される前にハッシュされるようにこれを構成することは可能ですか?つまり、ADはハッシュ化されたパスワードを保存するので、nssとpam ldapを構成して、すでにハッシュ化されたパスワードを送信し、そのハッシュをLDAPサーバーで比較することができないのはなぜですか。私は過去にこれを行うために他のソフトウェアパッケージを構成したと思います...

4
startoftext

別の方法は、認証のみにpam_krb5を介してLDAP単純バインドの代わりにKerberos5を使用することです。 libnissは、LDAPのみを使用してユーザーを解決します。この方法では、少なくともプレーンテキストのパスワード送信はありませんが、すべてのLDAPクエリはもちろんプレーンテキストで送信されます-ディレクトリをクエリするための単純なバインドに必要なアカウントは、ドメインゲストまたは非常に特権のないアカウントなどである必要があります。

これも簡単です。

4
pfo

いいえ、攻撃者がユーザーになりすますために行う必要があるのは、ハッシュを取得することだけであり、ハッシュを解読する必要がないため、パスワードストレージのハッシュの側面が無意味になります。

この種のニーズを満たすアプローチは、ある種のチャレンジ/レスポンス認証( [〜#〜] chap [〜#〜][〜#〜] hmac [〜 #〜][〜#〜] ntlm [〜#〜] ..)、これは生のLDAP接続のオプションではないと思います。

SSLはドメインコントローラーで非常に簡単に有効にできます(適切な証明書があれば自動的に有効になります)。そのため、そのルートを進む力を説得することをお勧めします。

4
Shane Madden

事前にエンコードされたパスワードを送信するのはひどい考えです。ディレクトリサーバーは、パスワードを知らずにパスワードの品質を強制することはできません。この機能の欠如は、それ自体が、最も些細な環境を除いて、大きな問題です。ディレクトリサーバーサーバーが暗号化通信をサポートできない場合は、このタイプの重要なアプリケーションには使用しないでください。

0
Terry Gardner