Модераторы: marykone
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Аутентификация по протоколу Kerberos 
:(
    Опции темы
PrettyWoman
Дата 23.3.2016, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.3.2016

Репутация: нет
Всего: нет



Здравствуйте, помогите разобраться новичку в данной области, Необходимо настроить тестовую среду по Kerberos Spenego.
Есть сервера: Active Directory, App Server, IBM P8 и клиентская машина c которой клиент будет обращаться к App Server, который в свою очередь общается с IBM P8 (как я поняла это аутентификация с делегированием), Все машины добавлены в один домене.
Теперь вопрос мне необходимо настроить Kerberos для IBM P8, а затем Spenego для App Server?




Это сообщение отредактировал(а) PrettyWoman - 23.3.2016, 16:22
PM MAIL   Вверх
PrettyWoman
Дата 23.3.2016, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.3.2016

Репутация: нет
Всего: нет



Настроила так как описала выше и ничего не получилось  smile 
PM MAIL   Вверх
tzirechnoy
Дата 23.3.2016, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



1) Я совершэнно уверен, что Вы никак не настраивали, поскольку вышэ Вы не описали ни одного шага по настройке.

2) Да, проблемы у Вас большые, раз уж дажэ название протокола скопировать оказалось проблемой. Он SPNEGO.

3) Какой app server, и что за система на серверах? Ну, то есть, понятно, что на том, который Active Directory server будет какой-то windows server, не менее 2008, а на остальных?

4) Упоминание app server в таком контексте просто выбешывает, и показывает, что Вы пока что ничего не понимаете в происходящем. Если сами не понимаете -- то можно было хотя бы догадаться ничего не сокращать и приводить то, что знаете, полностью, жэлательно скопировав из первоисточника?

app server (сокращение от application server) -- название шырокого класса программ и программных систем, предназначенных для обеспечения работы нетривиальных приложэний и предоставления сетевого интэрфейса к ним. В частности, для работы IBM P8 требуется какой-нибудь java application server (их не один десяток разных), плюс их физически можэт быть несколько -- поскольку разные компоненты p8 могут находиться на разных серверах.
А вот между пользователем и p8 и между p8 и active directory никакого особенно дополнительного application serverа, кроме того, в котором выполняется p8, не нужно, потому это отедльное его выделение очень удивляет.

5) Настроить spnego/kerberos потребуется в итоге именно в том application server, в котором будет выполняться p8. И оно настраивается по-разному для разных app servers -- для jboss это одно, для tomcat что-то похожэе, для websphere совсем другое, притом для tomcat, например, стоит брать разные аутэнтификаторы для серверов на windows и юникс (spnego.sourceforge.net и https://github.com/dblock/waffle).

Потому описывать дальнейшые шаги не узнав вашу конфигурацыю, я думаю, безсмысленно.

6) Если будете самостоятельно искать как настроить ваш сервер -- имеет смысл ориентироваться именно на слово spnego, поскольку по слову kerberos чаще находится решэние оборотной стороны задачи -- каа аутэнтифицыровать пользователя, который пришёл с логином и паролем (через форму или через HTTP basic auth) посредством сервера kerberos или AD.

7) Потом ещё потребуется дать для IBM p8 доступ к LDAP-базе AD, хотя бы на чтение. Впрочем, это ужэ второй этап.
PM MAIL   Вверх
PrettyWoman
Дата 24.3.2016, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.3.2016

Репутация: нет
Всего: нет



Спасибо за ответ, таки да я как QA  специалист в этом совсем не разбираюсь ).
Для Application Server и IBM P8 используется windows server 2012 и WebSphera 8. Все компоненты P8 находятся на одном сервере. ApplicationServer сервер на котором развернут продукт который и будет в дальнейшем тестироваться. Настроила на нем SPNEGO:
1. Создала  SPN в Active Directory 
2. Замапила его используя setspn -a HTTP/fully_qualified_HTTP_Server_host_name AD_user (сервер хост Application Server)
3. Создала Keytab 
4. Создала  krb5.ini с default_keytab_name на созданный Keytab и подложила в C:\Windows
5. В WebSphere в Global Security –> SPNEGO web authentication подвязала Keytab и  krb5.ini  и создала фильтр
6. Перезапустила WebSphere
7. В /snoop отображается пустая страница


Сервер с IBM P8 тоже так же надо настроить? Я его настроила:
1. Создала Kerberos SPN (FNCEWS_ + host_name )
2. Замапила его используя setspn –A FNCEWS/<CE_Host_name> <Kerberos_Identity> и setspn –A FNCEWS/<CE_Host_name_FQDN> <Kerberos_Identity> (сервер хост IBM P8)
3.Создала  krb5.ini и подложила в C:\Windows
4. Создала Keytab на основе примера C:\IBM\WebSphere\AppServer\java\jre\bin>java com.ibm.security.krb5.internal.tools.Ktab -a FNCEWS_ + host_name -k "c:\temp_krb\krb.keytab"
5. В WebSphere в Global Security определила Trusted realms
6. Добавила созданный Kerberos SPN как Service Account Name
7. Перезапустила WebSphere
8.  В /snoop в Request headers отображается  Authorization - Basic 

До этого я Сервер с IBM P8 настраивала как по инструкции SPNEGO и еще редактировала web.xml для  Single Sign On (SSO) но в snoop  Authorization все равно был Basic (после этого откатывала сервер и уже делала выше описанные пункты)
В голове каша полная

Это сообщение отредактировал(а) PrettyWoman - 24.3.2016, 18:01
PM MAIL   Вверх
PrettyWoman
Дата 25.3.2016, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.3.2016

Репутация: нет
Всего: нет



C пустой страницей решила проблему, но в /snoop в Request headers отображается  Authorization - Basic. Как добиться Negotiate?

Это сообщение отредактировал(а) PrettyWoman - 25.3.2016, 19:40
PM MAIL   Вверх
tzirechnoy
Дата 26.3.2016, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Так это, клиенту тожэ надо указать, что можно SPNEGO отдавать. Для IE -- добавить в настройках безопасности адрес в .... по-моему "местная сеть", для firefox -- в настройку network.negotiate-auth.trusted-uris , доступную через about:config

Но тут меня одна вещь удивляет... Я пока что не сталкивался с SPNEGO для WebSphere, и у меня почему-то было ощущение, что в комплекте его поддержки (фильтром или как) -- нет. И что надо либо покупать какой-то там Tivoli Access Manager или самому бодаться ставить waffle или spnego.sourceforge.net . Притом второе и третье почти никто не делает, а первое довольно дорого. Я ошыбался, и теперь это есть где-то в настройках websphere?

Цитата
Сервер с IBM P8 тоже так же надо настроить?


Хм. На керберос -- вроде необязательно. В смысле, чтобы P8 был kerberos-клиентом и мог представляться таким способом кому-то ещё -- на первых порах можно и обойтись.
Хотя и полезно, опять жэ меньшэ проблем с настройкой безопасности ActiveDirectory LDAP будет -- аутэнтифицырованный клиент его можэт читать в достаточном объёме.

А вот к LDAP его подключить в любом случае надо будет, ему база пользователей нужна для редактирования прав и всего такого.

Цитата
Я его настроила:
...
3.Создала  krb5.ini и подложила в C:\Windows


Перезаписав то, что создали для авторизацыи websphere. Осторожней надо, хотя там вроде всё, что нужно -- тожэ прописано и работать должно. Но проверьте всё-таки, все ли нужные параметры стоят.

Добавлено через 3 минуты и 20 секунд
Про настройку P8 для керберос -- тут ведь надо понять, что он с помощью кербероса можэт решать две противоположные задачи -- аутэнтифицыровать клиента, который пришёл к нему и что-то там требует (для этого и есть протокол SPNEGO, если не вдаваться в подробности), и наоборот самому аутэнтифицыроваться к какому-нибудь серверу, от которого ему что-то надо. Например, к серверу AD LDAP, от которого ему нужна база пользователей. Или к файловому серверу, находящемус в том жэ домене.

Вот та настройка, которую Вы описали для P8 -- она для второго действия.
PM MAIL   Вверх
PrettyWoman
Дата 28.3.2016, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 23.3.2016

Репутация: нет
Всего: нет



Клиенту я все добавила, и добавила в настройках websphere (App server) Security role to user/group mapping добавила Everyone и All Authenticated in Application's Realm. 
По поводу Tivoli у меня на P8 сервере установлен IBM Tivoli Directory Server 6.3
В krb5.ini для настроек Kerberos и Spnego файл почти одинаковый, просто для Spnego еще есть указатель на Keytab.
сервер P8 больше ни с кем не общается только с апп сервером, а к апп обращается уже сам клиент. Получается на обоих необходимо настроить Spnegо, и snoop покажет в Request headers Authorization - Negotiate? а затем настроить trust и дать для IBM p8 доступ к LDAP-базе AD ?
PM MAIL   Вверх
tzirechnoy
Дата 29.3.2016, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Цитата
просто для Spnego еще есть указатель на Keytab.


Э-э-э. Вообще-то им обоим обязателен keytab. Можно -- один и тот жэ,  главное чтобы ключи к обоим именам (HTTP/hostname и FCNEWS_что_то_там) в нём лежали.

При этом обоим, скорее всего, можно указать какой-то отдельный keytab кроме системного.

Цитата
Получается на обоих необходимо настроить Spnegо,


Да в самом p8 вроде ничего на эту тему настраиваться не должно. Фильтр получил имя пользователя по SPNEGO, отдал в p8 через JAAS -- а что там за протокол этот p8 по идее и знать не должэн.

То есть ужэ сейчас snoop должэн показывать Authorization -- Negotiate. Кстати, посмотрите для начала на клиенте (в firefox -- в окне отладки это включается, в IE -- не знаю точно), приходит ли прямо сразу, ещё пока 401 Unauthorized заголовок WWW-Authenticate: ... Negotiate 
Если нет -- то фильтр не встал. Если приходит -- то должно работать, и snoop должэн показывать пользователя.

Цитата
а затем настроить trust и дать для IBM p8 доступ к LDAP-базе AD ?


А зачем вообще какой-то trust? Не совсем понимаю смысла. А так да, потом p8 надо так или иначе дать доступ к LDAP-базе AD. Либо базу открыть на чтение гостям, либо настроить чтобы оно через kerberos авторизовалось, либо дать какой-нибудь логин/пароль от AD.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Сетевые технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1278 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.