1

Kerberos 5 を使用して AD サーバーに対してユーザーを認証し、次に LDAP を使用してセキュリティ制約に対する承認のためのロールを取得する Tomcat 構成があります。

server.xml には次のものがあります。

<Realm className="org.apache.catalina.realm.JAASRealm"
                   appName="vt-ldap"
                   userClassNames="edu.vt.middleware.ldap.jaas.LdapPrincipal"
                   roleClassNames="edu.vt.middleware.ldap.jaas.LdapRole"/>

jaas 設定ファイルには次のように記述されています。

vt-ldap {
   com.sun.security.auth.module.Krb5LoginModule が必要
     storePass="true"
     デバッグ="真";

   edu.vt.middleware.ldap.jaas.LdapDnAuthorizationModule が必要
     serviceUser="CN=LIM User,OU=LIMGenericAccounts,DC=lim,DC=com"
     serviceCredential="パスワード"
     useFirstPass="true"
     setLdapPrincipal="true"
     setLdapDnPrincipal="true"
     TLS="偽"
     subtreeSearch="true"
     logCredentials="true"
     storePass="true"
     ldapUrl="ldap://auswa01.lim.com:389"
     base="ou=LIMUsers,dc=lim,dc=com"
     userField="sAMAccountName";

   edu.vt.middleware.ldap.jaas.LdapRoleAuthorizationModule が必要
     serviceUser="CN=LIM User,OU=LIMGenericAccounts,DC=lim,DC=com"
     serviceCredential="パスワード"
     useFirstPass="true"
     setLdapPrincipal="true"
     setLdapDnPrincipal="true"
     TLS="偽"
     subtreeSearch="true"
     logCredentials="true"
     storePass="true"
     ldapUrl="ldap://auswa01.lim.com:389"
     base="ou=LIMGroups,dc=lim,dc=com"
     roleFilter="(メンバー={0})"
     roleAttribute="sAMAccountName";
};

Kerberos 認証はうまく機能します。ただし、後続のフェーズ (承認に使用される LDAP からロールを取得する) では、serviceCredential (パスワード) が LAN 上でクリア テキストで渡されます。

パスワードを平文で送信しないようにする方法はありますか? おそらく、serviceUser/serviceCredential 情報の代わりに Kerberos チケットを使用して LDAP にアクセスし、役割を取得する方法があります (?)...

誰?

4

2 に答える 2

1

virgia の技術コードを確認しましたが、うまくいきません。与えられた kerberos チケットを使用または再利用し、それを使用してディレクトリに対して認証する必要があります。バージアの技術コードはそれをサポートしているようです。私はあなたができる最悪の単純なバインドを行います。kerberos を使用している場合、SSL はまったく必要ありません。通信全体を暗号化するように kerberos を要求できます。

于 2011-07-06T07:45:26.657 に答える
0

そのため、LDAP over SSL を使用します。次に、パスワードは LDAP パケット内ではクリアですが、ネットワークに到達する前に暗号化されます。

于 2009-09-22T14:08:00.730 に答える