|
Модераторы: marykone |
|
PrettyWoman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
PrettyWoman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.3.2016 Репутация: нет Всего: нет |
Настроила так как описала выше и ничего не получилось
|
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 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, хотя бы на чтение. Впрочем, это ужэ второй этап. |
|||
|
||||
PrettyWoman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
PrettyWoman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.3.2016 Репутация: нет Всего: нет |
C пустой страницей решила проблему, но в /snoop в Request headers отображается Authorization - Basic. Как добиться Negotiate?
Это сообщение отредактировал(а) PrettyWoman - 25.3.2016, 19:40 |
|||
|
||||
tzirechnoy |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 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?
Хм. На керберос -- вроде необязательно. В смысле, чтобы P8 был kerberos-клиентом и мог представляться таким способом кому-то ещё -- на первых порах можно и обойтись. Хотя и полезно, опять жэ меньшэ проблем с настройкой безопасности ActiveDirectory LDAP будет -- аутэнтифицырованный клиент его можэт читать в достаточном объёме. А вот к LDAP его подключить в любом случае надо будет, ему база пользователей нужна для редактирования прав и всего такого.
Перезаписав то, что создали для авторизацыи websphere. Осторожней надо, хотя там вроде всё, что нужно -- тожэ прописано и работать должно. Но проверьте всё-таки, все ли нужные параметры стоят. Добавлено через 3 минуты и 20 секунд Про настройку P8 для керберос -- тут ведь надо понять, что он с помощью кербероса можэт решать две противоположные задачи -- аутэнтифицыровать клиента, который пришёл к нему и что-то там требует (для этого и есть протокол SPNEGO, если не вдаваться в подробности), и наоборот самому аутэнтифицыроваться к какому-нибудь серверу, от которого ему что-то надо. Например, к серверу AD LDAP, от которого ему нужна база пользователей. Или к файловому серверу, находящемус в том жэ домене. Вот та настройка, которую Вы описали для P8 -- она для второго действия. |
||||
|
|||||
PrettyWoman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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 ? |
|||
|
||||
tzirechnoy |
|
||||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: нет Всего: 16 |
Э-э-э. Вообще-то им обоим обязателен keytab. Можно -- один и тот жэ, главное чтобы ключи к обоим именам (HTTP/hostname и FCNEWS_что_то_там) в нём лежали. При этом обоим, скорее всего, можно указать какой-то отдельный keytab кроме системного.
Да в самом p8 вроде ничего на эту тему настраиваться не должно. Фильтр получил имя пользователя по SPNEGO, отдал в p8 через JAAS -- а что там за протокол этот p8 по идее и знать не должэн. То есть ужэ сейчас snoop должэн показывать Authorization -- Negotiate. Кстати, посмотрите для начала на клиенте (в firefox -- в окне отладки это включается, в IE -- не знаю точно), приходит ли прямо сразу, ещё пока 401 Unauthorized заголовок WWW-Authenticate: ... Negotiate Если нет -- то фильтр не встал. Если приходит -- то должно работать, и snoop должэн показывать пользователя.
А зачем вообще какой-то trust? Не совсем понимаю смысла. А так да, потом p8 надо так или иначе дать доступ к LDAP-базе AD. Либо базу открыть на чтение гостям, либо настроить чтобы оно через kerberos авторизовалось, либо дать какой-нибудь логин/пароль от AD. |
||||||
|
|||||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Сетевые технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |