Как заставить поиск LDAP использовать билет Kerberos, чтобы избежать открытого текста пароля - PullRequest
1 голос
/ 22 сентября 2009

У меня есть конфигурация Tomcat, которая использует Kerberos 5 для аутентификации пользователя на сервере AD, а затем использует LDAP для получения ролей для авторизации в соответствии с ограничением безопасности.

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 required
     storePass="true"
     debug="true";

   edu.vt.middleware.ldap.jaas.LdapDnAuthorizationModule required
     serviceUser="CN=LIM User,OU=LIMGenericAccounts,DC=lim,DC=com"
     serviceCredential="password"
     useFirstPass="true"
     setLdapPrincipal="true"
     setLdapDnPrincipal="true"
     tls="false"
     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 required
     serviceUser="CN=LIM User,OU=LIMGenericAccounts,DC=lim,DC=com"
     serviceCredential="password"
     useFirstPass="true"
     setLdapPrincipal="true"
     setLdapDnPrincipal="true"
     tls="false"
     subtreeSearch="true"
     logCredentials="true"
     storePass="true"
     ldapUrl="ldap://auswa01.lim.com:389"
     base="ou=LIMGroups,dc=lim,dc=com"
     roleFilter="(member={0})"
     roleAttribute="sAMAccountName";
};

Аутентификация Kerberos отлично работает. Но на последующих этапах (получение ролей из LDAP, используемого для авторизации) serviceCredential (пароль) передается в локальной сети в виде открытого текста.

Есть ли способ избежать отправки пароля в виде открытого текста? Возможно, есть способ получить доступ к LDAP для получения ролей, используя билет Kerberos вместо информации serviceUser / serviceCredential (?) ...

Любой

Ответы [ 2 ]

1 голос
/ 06 июля 2011

Я проверил технический код Вирджинии, и это не сработает. Я должен использовать или повторно использовать билет Kerberos и пройти аутентификацию в вашем каталоге с ним. Технический код virgia, кажется, поддерживает это. Я делаю простое связывание, которое худшее, что вы можете сделать. Если у вас есть Kerberos, вам вообще не нужен SSL. Вы можете запросить Kerberos для шифрования всего сообщения.

0 голосов
/ 22 сентября 2009

Именно поэтому вы используете LDAP поверх SSL. После этого пароль внутри пакета LDAP будет чист, но перед подключением к сети зашифрован.

...