openldap、crypt パスワードは sasl では機能しません

openldap、crypt パスワードは sasl では機能しません

既存のサーバー クラスターを、ユーザー/パスワード管理に openldap を使用するように移行しようとしています。しかし、問題が発生しました。プレーン テキスト パスワードにアクセスできず、すべての SASL メソッド (これまでに確認した) では、データベースにプレーン テキスト パスワードが必要です。使用できる形式は crypt のみです。以上です。

多くのプログラムでは、簡易認証が引き続き利用可能です。ただし、libldap2 (openldap) を使用する場合、特に ldap_sasl_interactive_bind ファミリの関数は SASL 接続のみをサポートし、その他はすべて無効になっており、非推奨です。

では、SASL が壊れている場合、どのように認証するのでしょうか? (SASL が暗号化をサポートしていない = 壊れている)

使用される認証方法: radius (freeradius)
web
カスタム C アプリ
ssh
ldap ミラーリング

半径を機能させることはできましたが、それだけです。

助けを大歓迎します。ドキュメントには、なぜシンプルな認証が廃止されたのかは記載されておらず、それが唯一機能する認証のようです。SA​​SL が関与しているときは、何も機能しません。

環境は、ubuntu-14.04、openldap、cyrus-sasl (openldap 経由)、freeradius、apache、カスタム C および C++ コンポーネントです。

答え1

LDAP シンプル認証と SASL/PLAIN の間には大きな違いはありません。 どちらの場合も、プレーンテキストのパスワードはクライアントによって提供され、サーバーによって処理されます。OpenLDAPではパスワードを平文、そして実際には、ローカルシステムの地下室(3)機能。送信中にプレーンテキストのパスワードを扱うため、それらのパスワードが平文で送信されないように注意する必要があります。これは通常、LDAP 接続の一部として STARTTLS を使用して行われますが、LDAPS もオプションです。

$ ldapwhoami -h ldap.example.com -ZZ -x -D uid=user,ou=people,dc=example,dc=com -W
Enter LDAP Password:
dn:uid=user,ou=people,dc=example,dc=com
$ ldapwhoami -h ldap.example.com -ZZ -D uid=user,ou=people,dc=example,dc=com -W
Enter LDAP Password: 
dn:uid=user,ou=people,dc=example,dc=com

関連情報