 |
 |
OpenCMS Форум »
Тема: Проблема с настройкой прозрачной аутентификации kerberos
|
| Количество сообщений по данной теме: 5 |
SergeyProtopopov
Гость
Зарегистрирован: 24.06.2010
Количество сообщений: 4
Статус: Offline
|
|
Проблема с настройкой прозрачной аутентификации kerberos
|
Ответить |
Здравствуйте Уважаемые посетители форума.
У меня возник вопрос, который не могу решить уже в течение достаточно долгого времени - требуется реализовать прозрачную аутентификацию(информация из учетной записи AD) с использованием kerberos c jboss.
Существует сервер, который крутится на jboss (в тестовом варианте представляет из себя одну простую страничкку jsp), также настроена AD.
Тестовое окружение: 2 машины с OS win 2003 браузер ie7 сервер и клиент находится на разных машинах в рамках одного домена
Произведены настройки согласно: http://spnego.sourceforge.net/spnego_jboss.html http://msdn.microsoft.com/en-us/library/ms995329.aspx
Настроены SPN: C:\>setspn -L <имя машины в AD> Registered ServicePrincipalNames for CN=<имя машины в AD>,CN=Computers,DC=<имя хоста>: host/<имя машины в AD>.<имя хоста> host/<имя машины в AD> HTTP/<имя машины в AD>.<имя хоста> HTTP/<имя машины в AD>
Сделано сейчас: В настоящий момент получилось настроить аутентификацию таким образом, что при открытии странички (http://<имя хоста>:<port>/<context>) появляется окошко ввода логин-пароль; вход на страничку разрешается, если логин и пароль совпадают с одной из учетных записей в AD.
При этом в логе jboss отображается: 17:25:45,640 ERROR [STDERR] 24.06.2010 17:25:45 net.sourceforge.spnego.SpnegoPro vider negotiate WARNING: Downgrade NTLM request to Basic Auth.
Необходимо: Мне необходима прозрачная аутентификация, при которой не придется вводить логин и пароль каждый раз, данные должны извлекаться из AD.
Я предположил, что все дело в том, что тип запроса basic, поэтому я попытался отключить basic аутентификацию:
<init-param> <param-name>spnego.allow.basic</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>spnego.prompt.ntlm</param-name> <param-value>false</param-value> </init-param>
Но в логе jboss появились ошибки:
18:08:09,031 ERROR [STDERR] 24.06.2010 18:08:09 net.sourceforge.spnego.SpnegoPro vider negotiate WARNING: Downgrade NTLM request to Basic Auth. 18:08:09,031 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception java.lang.UnsupportedOperationException: NTLM specified. Downgraded to Basic Aut h (and/or SSL) but downgrade not supported. at net.sourceforge.spnego.SpnegoProvider.negotiate(SpnegoProvider.java:1 46) at net.sourceforge.spnego.SpnegoAuthenticator.authenticate(SpnegoAuthent icator.java:198)
По всей веротности jboss пытается авторизовать при помощи basic аутентификации (которую я отключил). (но как я понял, мне необходима negotiation аутентификация)
поэтому прошу помощи, каким образом мне действовать дальше, чтобы настроить прозрачную аутентификацию с IE 7, или банально "куда копать дальше".
|
|
|
SergeyProtopopov
Гость
Зарегистрирован: 24.06.2010
Количество сообщений: 4
Статус: Offline
|
|
Re: Проблема с настройкой прозрачной аутентификации kerberos
|
Ответить |
удалось подключить negotiation аутентификацию, но теперь выдает ошибку
exception
javax.servlet.ServletException: GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed) net.sourceforge.spnego.SpnegoHttpFilter.doFilter(SpnegoHttpFilter.java:233) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed) sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:741) sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:323) sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:267) sun.security.jgss.spnego.SpNegoContext.GSS_acceptSecContext(SpNegoContext.java:874) sun.security.jgss.spnego.SpNegoContext.acceptSecContext(SpNegoContext.java:541) sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:323) sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:267) net.sourceforge.spnego.SpnegoAuthenticator.doSpnegoAuth(SpnegoAuthenticator.java:371) net.sourceforge.spnego.SpnegoAuthenticator.authenticate(SpnegoAuthenticator.java:210) net.sourceforge.spnego.SpnegoHttpFilter.doFilter(SpnegoHttpFilter.java:229) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
кто знает, как можно исправить ошибку без проведения специальной операции генерации ключей при помощи ktpass, обращаясь только к AD?
|
|
|
SergeyProtopopov
Гость
Зарегистрирован: 24.06.2010
Количество сообщений: 4
Статус: Offline
|
|
Re: Проблема с настройкой прозрачной аутентификации kerberos
|
Ответить |
Жаль, но вероятно никто из посетителей данного форума настолько глубоко не занимался данным вопросом.
Однако проблема все еще актуальна, может кто-то предложит какой-то свой вариант решения задачи всплывающего окошка в IE. Сделано: Всплывающее окошко в IE необходимо заполнять вручную данными из Active Directory Необходимо: Если пользователь залогинен в домене, необходимо открывать доступ к серверу jboss без запроса, в ином случае - запрещать доступ.
Буду благодарен любым вариантам решения данной задачи. Причем не обязательно приводить решение, просто подскажите возможные варианты решения задачи Заранее спасибо! :)
|
|
|
SergeyProtopopov
Гость
Зарегистрирован: 24.06.2010
Количество сообщений: 4
Статус: Offline
|
|
Re: Проблема с настройкой прозрачной аутентификации kerberos
|
Ответить |
Именно, поэтому и была поставлена задача использовать SPNEGO, которая может работать с NTLM а также Kerberos. От NTLM решили отказаться из-за не слишком высокой безопасности (по мнению нашего руководства).
Собственно у меня получилось все настроить, спасибо за рекомендации. Основная сложность была в особенном алгоритме генерации ключей(keytab) для JBoss
|
|
|
|
 |