2

簡単な認証:

LDAP ブラウザーを使用している場合、CN=username,OU=users,DC=my,DC=company,DC=com を指定することで、平文のパスワードを使用して会社の LDAP サーバーにログインできます。この文字列をコピーして Tomcat の server.xml connectionName タグに貼り付け、単純な認証 (wireshark を使用するとプレーン テキストのパスワードが表示される) を使用すると、すべてが機能します。

暗号化されたパスワード:

server.xml JNDIレルムに次を追加しました

authentication="DIGEST-MD5"
digest='MD5' 

現在、Tomcat は LDAP にバインドできません。

LDAP ブラウザーでは、資格情報をドメイン/ユーザーの形式で提供する必要があり、DIGEST-MD5 を使用して LDAP にバインドできます。

Tomcat がバインドを正常に実行できるように、server.xml ファイルで connectionName を指定する特別な方法はありますか?

4

2 に答える 2

0

使用するディレクトリサーバーについては言及していません。サーバーが DIGEST-MD5 をサポートしていない可能性があります。supportedSASLMechanisms RootDSE 値を調べることで確認できます。

Active Directory を使用する場合は、1) SPN を作成済みであることを確認してください (詳細については、setspn.exe を参照してください)。2) AD への接続に使用するユーザー アカウントが、「可逆暗号化を使用する」ユーザー アカウント フラグに設定されていることを確認してください。DIGEST-MD5 アルゴリズムは両端で平文パスワードへのアクセスを必要とするため、このオプションがないと機能しません。

于 2012-04-02T08:33:22.243 に答える
0

Tomcat のドキュメントによると、JNDIRealm はバインド モードと比較モードの 2 つの異なる認証方法をサポートしています。

「バインド モード」を使用しており、ドキュメントには次のように記載されています。バインド操作 ディレクトリは、格納された値に対して検証する前に、ユーザーによって提示されたプレーンテキスト パスワードの正しいダイジェストを自動的に計算します.したがって、バインド モードでは、レルムはダイジェスト処理に関与しません. ダイジェスト属性は使用されず、設定されている場合は無視されます。 " . そのため、「バインドモード」ではハッシュ値を使用できません。

「比較モード」を使用すると、実行しようとしていることが実行できますが、セキュリティ上の理由から、「比較モード」の使用は推奨されません。「比較モードにはいくつかの欠点があります。まず、connectionName とconnectionPassword 属性は、レルムがディレクトリ内のユーザーのパスワードを読み取れるように構成する必要があります. セキュリティ上の理由から、これは一般的に望ましくありません. 実際、多くのディレクトリ実装では、ディレクトリマネージャでさえこれらのパスワードを読み取れません. さらに、レルムはパスワードを処理する必要があります.これには、使用されるアルゴリズムのバリエーションや、ディレクトリ内のパスワード ハッシュを表す方法が含まれます. ただし、たとえば、HTTP ダイジェスト アクセス認証 (RFC 2069) をサポートするために、レルムは保存されたパスワードにアクセスする必要がある場合があります.(HTTP ダイジェスト認証は、上記で説明したように、ユーザー情報のリポジトリにパスワード ダイジェストを保存することとは異なることに注意してください)。

Tomcat ドキュメントへのリンク: http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html#JNDIRealmおよびhttp://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html #JNDIレルム

于 2013-03-20T14:15:51.903 に答える