|
ЗАО «Компания «ИнтерТраст»
Россия, 125319,
г. Москва, ул. Усиевича, 3
тел.: (495) 956-79-28
www.intertrust.ru
|
1Инструкция по настройке модуля SSO для Company Media 4.2.x
Содержание
1 Инструкция по настройке модуля SSO для Company Media 4.2.x 1
1. Общие положения 3
2. Требования к инфраструктуре 3
3. Перечень работ по настройке SSO 5
-
Общие положения
Данная инструкция описывает установку и настройку службы общего входа SSO в CompanyMedia версии 4.1.
AD – служба каталога Microsoft Active Directory
DD – служба каталога IBM Domino Directory
SSO – служба общего входа Single sign-on
-
Требования к инфраструктуре
-
Требования к Версиям используемого ПО
ОС контроллера домена: Windows Server 2008
ОС сервера СМ4: Windows Server 2008
Версия Domino на сервере СМ4: Domino 8.5.3 не ниже FP1
Поддерживаемые бразуеры: IE 8,9,10,11 Google Chrome, Mozilla Firefox
-
Требования к контроллеру Домена AD
Режим работы контроллера AD: Windows Server 2008
Включена служба ОС Windows Kerberos Key Distribution Center
-
Требования к уровню Доступа в ОС
Доступ в ОС Windows: администратор домена AD (для выполнения разовых настроек:создания ключей служб, предоставления доступа к локальным машинам)
Доступ в Domino: администратор с full-access, доступ к адресной книге для редактирования настроек веб-сайтов, SSO
Доступ в ОС серверов СМ4: доступ на уровне локального администратора, доступ на запись в каталог C:\windows (%system%)
-
Требования к рабочим серверам Cm4:
Сервер СМ4 введен в домен AD, для которого настраивается SSO
A-запись в DNS: имя хоста, для которого выполняются команды ниже должно являться A-записью в DNS (не cname)
Для каждой учетной записи из Active Directory:
должна быть создана соответствующая учетная запись в каталоге Domino Directory,
в поле krbPrincipalName в DD указано доменное имя учетной записи из Active Directory
Выключена настройка «Load Internet configurations from Server\Internet Sites documents»
Создан общий документ Configuration Settings ( с параметром «*» )
-
Перечень работ по настройке SSO
Для включения SSO необходимо выполнить следующие настройки:
Настройки в службе каталога Active Directory: регистрация сервисных учетных записей, создание ключей служб, предоставление прав доступа на серверы СМ4
Настройка ОС сервера Company Media
Настройки сервера Domino
Настройки сервера приложений Tomcat
Настройка веб-браузеров на клиентских рабочих местах
-
нАстройка служб каталога Active Directory
.
-
Регистрация сервисных учетных записей
Создать сервисные учетные записи в домене AD для каждого сервера СМ4 с SSO в контейнере «Users»
Рекомендуемый формат имени: web.<dominoname>, где - имя сервера Domino, на котором будет настроен SSO
Пример: web.cmt1@vtc.local , web.cmt2@vtc.local
Важно: сервисные учетные записи регистрировать только в стандартном контейнере «Users» каталога Ad, иначе возникнут ошибки при выполнении следующих шагов.
-
Настройка созданных учетных записей
Установить свойства созданных в п.1 учетных записей с помощью оснастки Active Directory Users and Computers или ADSIEdit.
"+" отмечены флаги, к-е необходимо включить:
+user cannot change password
+password never expired
+шифрование AES128
Установить новые пароли для созданных учетных записей,
например KrbPass456
Важно: тот же пароль небоходимо использовать при генерации ключей SSO в п.3.1.3
Примечание: шаг обязателен, требуется для применения п.3.1.2.
-
Создание ключей службы Domino и Tomcat
-
Создание ключей .keytab
запустить cmd.exe интерпретатор командной строки
выполнить команду создания ключей ktpass (см. п .5 ) для настраиваемых учетных записей, серверов и домена.
Пример выполнения команды для учетной записи web.cmt1и сервера cmt1.vtc.local
в домене VTC.LOCAL :
ktpass -princ HTTP/cmt1.vtc.local@VTC.LOCAL -mapuser web.cmt1-pass KrbPass456 -crypto all -ptype KRB5_NT_PRINCIPAL -out http-cmt1.keytab
сохранить полученные ключи (файлы *.keytab )
сохранить вывод консоли в текстовый файл
3.1.3.2. описание параметров команды ktpass:
ktpass -princ HTTP/<sso.hostname>@<AD.DOMAIN> -mapuser <username> -pass <password> -crypto all -ptype KRB5_NT_PRINCIPAL -out <filename> , где:
таблица 1
№
|
Наименование параметра
|
Описание
|
Пример заполнения
|
1
|
sso.hostname
|
Имя сервера СМ4
|
cmt1.vtc.local
|
2
|
AD.Domain
|
Имя домена AD, заглавными буквами
|
VTC.LOCAL
|
3
|
username
|
Имя сервисной учетной записи,
без доменной части
|
web.cmt1
|
4
|
password
|
Пароль ключа
|
KrbPass456
|
5
|
filename
|
Имя создаваемого файла ключей
|
http-cmt1.keytab
|
-
Предоставление прав доступа на серверы СМ4 созданным учетным записям
На сервере CM4 добавить созданные учетные записи в локальных администраторов
Настроить запуск служб "Tomcat", "Lotus Domino Server..." и "Lotus Domino Diagnostics..." от имени сервисной учетной записи, например "web.cmt1".
При выборе учетной записи будет подставлена запись формата HTTP\@vtc.local. Заменить на доменное имя пользователя: web.cmt1@vtc.local
убедиться, что появилось сообщение "the account has been granted the logon as a service right"
перезапустить службы Domino и Tomcat на сервере СМ4
-
Настройка ОС сервера CompanyMedia
Создать файл с именем krb5.ini
Содержимое файла:
содержимое файла krb5.ini для домена vtc.local и контроллера домена pdc1.vtc.local
(заменить параметры на имя рабочего домена и имя хоста контроллера домена)
Пример для домена vtc.local:
[libdefaults]
default_realm = VTC.LOCAL
permitted_enctypes = aes128-cts rc4-hmac des3-cbc-sha1 arcfour-hmac-md5 des-cbc-md5 des-cbc-crc
default_tgs_enctypes = aes128-cts rc4-hmac des3-cbc-sha1 arcfour-hmac-md5 des-cbc-md5 des-cbc-crc
default_tkt_enctypes = aes128-cts rc4-hmac des3-cbc-sha1 arcfour-hmac-md5 des-cbc-md5 des-cbc-crc
ticket_lifetime = 600
kdc_timesync = 1
ccache_type = 4
[realms]
FSINTST.LOCAL = {
kdc = pdc1.vtc.local
admin_server = pdc1.vtc.local
default_domain = VTC.LOCAL
}
[domain_realm]
.vtc.local = VTC.LOCAL
vtc.local = VTC.LOCAL
[appdefaults]
autologin = true
forward = true
forwardable = true
encrypt = true
Скопировать созданный файл krb5.ini на сервер СМ4 в каталог Windows (C:\windows)
В документе "Configuration Settings" для всех серверов (*) на вкладке LDAP включить настройку:
(отвечает за формат привязки к LDAP, разрешает использование формата cn=username)
Проверить с помощью команды ldapsearch поиск из LDAP Domino.
Поиск должен возвращать все учетные записи пользователей Domino:
C:\Lotus\Notes>ldapsearch.exe -h 169.254.52.1 -D "cn=ldapuser,o=intertrust" -w "password456" -b "o=Intertrust" "(cn=*)"
отключить настройку в док-те сервера load configuration from internet sites
настроить host name на вкладке HTTP : cma01.vtc.local
создать конфигурацию SSO для сервер-док-та аналогично скриншоту:
Configuration Name: произвольно
Organization: не заполнять
DNS Domain: .vtc.local
Domino Server Names: CMT01/VTC
Windows single sign-on integration : Enabled
рис. 3.1
Создать ключи SSO для созданной конфигурации: нажать кнопку «Create WebSSO keys»
Настроить вкладку Domino Web Engine аналогично рис.3.2 (Session Authentication: Multiple Servers)
Выбрать полученный документ LTPA Token в п Web SSO Configuration
(Проверить, создалась ли настройка LTPA Token можно в АК Domino, вид $WebSSOConfig)
рис. 3.2
Для отладки в notes.ini сервера Domino установить переменные (выключить после успешной проверки)
DEBUG_HTTP_SERVER_SPNEGO=5
DEBUG_LDAP=7
DEBUG_SSO_TRACE_LEVEL=2
WEBAUTH_VERBOSE_TRACE=1
Добавить переменную в notes.ini сервера
WIDE_SEARCH_FOR_KERBEROS_NAMES=1
Создать полнотекстовый индекс для АК Домино.
-
Настройка сервера приложений Tomcat
-
Копирование ключей *.keytab в каталог lib
Скопировать файл *.keytab, полученные в пп 3.1.3 в папку tomcat\lib
-
Установка библиотек для поддержки русских имен пользователей (в поле user name)
Распаковать из cmjrest.war файла или извлечь из папки /work в /endorsed
файлы с именем:
icu4j-50.1.1-RELEASE.jar
icu4j-charset-50.1.1-RELEASE.jar
-
Настройка файла cmj.properties
В файле cmj.properties заполнить все поля секции cmj.auth.*
Пример заполнения для домена vtc.local:
cmj.auth.profile=kerberos
cmj.auth.kerberos.ses.servicePrincipal=HTTP/cmt1.vtc.local
cmj.auth.kerberos.ses.keyTabLocation=classpath:http-cmt1.keytab
cmj.auth.kerberos.ses.debug=true
cmj.auth.kerberos.domino.ldapUrl=ldap://169.254.52.8:389
cmj.auth.kerberos.domino.base=
cmj.auth.kerberos.domino.userDn=ldapuser
cmj.auth.kerberos.domino.userPassword=Password456
cmj.auth.kerberos.domino.pooled=true
cmj.auth.kerberos.ses.useCanonicalName=true
cmj.auth.kerberos.ses.webSSOConfigName=LtpaToken
Таблица 2. Подробное описание параметров аутентификации в cmj.properties:
№
|
Наименование параметра
|
Заполнение
|
Описание
|
1
|
cmj.auth.profile
|
kerberos
|
влючить SSO
|
2
|
cmj.auth.kerberos.ses.servicePrincipal
|
HTTP/cm4demo01.fsintst.local
|
SPN-имя для хоста, где работает домино
|
3
|
cmj.auth.kerberos.ses.keyTabLocation
|
classpath:http-cmt1.keytab
|
путь и имя сгенерированного keytab-файла.
в указанном ниже варианте - файл находится в /lib
|
4
|
cmj.auth.kerberos.ses.debug
|
true
|
вывод более подробной информации о процессе соединения
|
5
|
cmj.auth.kerberos.domino.ldapUrl
|
ldap://169.254.52.8:389
|
url-адрес, где находится Domino/Ldap-сервис (резерв.)
|
6
|
cmj.auth.kerberos.domino.base
|
|
"база" для поиска в LDAP. может быть пустой
|
7
|
cmj.auth.kerberos.domino.userDn
|
LdapUser
|
Distinguished-имя (логин), под которым tomcat-будет устанавливать соединение с Domino
|
8
|
cmj.auth.kerberos.domino.userPassword
|
Password456
|
пароль для userDn
|
9
|
cmj.auth.kerberos.domino.pooled
|
true
|
использовать пул соединений. повышает производительность
|
10
|
cmj.auth.kerberos.ses.useCanonicalName
|
true
|
|
11
|
cmj.auth.kerberos.ses.webSSOConfigName
|
LtpaToken
|
|
Скопировать файл log4j.xml в папку /lib. Содержимое файла указано в приложении 1.
Исправить путь к файлу журналирования в скопированном файле:
C:/tomcat/logs/cmj4.log"/>
-
Настройка веб-браузеров на клиентских рабочих месах
-
Настройка браузеров Internet Explorer, Google Chrome
Обеспечить выполнение следующих действий вручную или с помощью политик AD:
сервис/свойства обозревателя/безопасность/"местная интрасеть"
нажать узла/дополнительно/добавить имя хоста сервера СМ4, например: "http://cmt1.vtc.local/" и выключить требование https
нажать другой: проверка подлинности пользователя/вход выбрать "автоматический вход в сеть только в зоне интрасети"
-
Настройка браузеров Internet Explorer, Google Chrome
В строке браузера ввести : about:config
Открыть параметр «network.negotiate-auth.trusted-uris»
Ввести имя хоста сервера СМ4
-
Проверка работоспособности настроек
Выбрать учетную запись в Active Directory для тестов, пример: t.lapina@vtc.local
В Domino Directory выбрать или создать тестового пользователя в формате:
Настроить в СМ4
first name : Татьяна Николаевна
last name : Лапина
logon : t.lapina
в поле krbPrinicpalName записать UPN уч.записи ( формат t.lapina@vtc.local )
В БД делопроизводства выбрать или создать РКК, доступный тестируемому пользователю
Записать UNID документа и ReplicaID БД, в к-й содержится документ
перейти по URL вида: http://cmt01.vtc.local/cmjrest/api/ids/44257A620030FB24:C6076C28B7A4C5FF44257C010039B61A
ожидаемый результат - появление диалога сохранения файла без запроса пароля
определения:
Правила формирования ссылки для проверки:
http://<hostname>/cmjrest/api/ids/<repldbid>:<rkkunid>
где :
- имя хоста сервера Tomcat
<repldbid> - реплика БД делопроизводства
- UNID РКК в БД делопроизводства
Приложение 1. Файл Log4j.xml
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
value="%p %c: %m%n"
%p - priority - "info"
%c - category (class) - "ru.intertrust.cmj.fdnd.temp.ecmSync.SyncModel"
%m - message
%n - EOL
value="%p %m%n"
-->
-->
-->
-->
-->
Корневой logger WARN -->
-->
Версия от 03.07.2014
|