Руководство по настройке интеграции с Active Directory
Один домен
Общая информация
Интеграционное решение ориентировано на компоненты Active Directory:
- Служба федерации Active Directory (AD FS).
- Служба каталогов Active Directory; доступ к ней осуществляется по LDAP.
Службы федерации Active Directory используются для аутентификации пользователей. AD FS позволяет использовать технологию единого входа (SSO). В нашем случае важно, что AD FS использует Встроенную Аутентификацию Windows, что позволяет входить в Систему без ввода логина и пароля (требует настройки в IE и Firefox). Если пользователи будут использовать AD FS только находясь в домене, то не обязательно делать эту службу доступной во внешнюю сеть.
Службы каталогов AD используются для импорта пользователей из AD в Систему и для выбора учетной записи AD при связывании с пользователем. Связывание происходит по полю SID.
Чтобы использовать интеграцию с Active Directory, обращение к Системе ADVANTA должно выполняться по протоколу https.
Установка службы федерации Active Directory (в домене клиента, AD FS)
Сервер со службой федерации Active Directory (AD FS) должен находиться в домене на сервере клиента. При этом можно установить службу на сервер с контроллером домена (AD), однако служба технической поддержки компании Microsoft не рекомендует производить подобные установки: службы AD и ADFS должны быть размещены на различных хостах (ВМ). При этом сервер IIS может находиться как на сервере (клиента) внутри доменной сети, так и на внешнем хостинге.
Windows Server 2008R2
- Установите IIS - инструкция по установке.
- Запустите файл установки службы федерации Active Directory 2.0. Скачать можете здесь. Откроется мастер установки AD FS 2.0 → «Далее».
- На шаге «Лицензионное соглашение» поставить чек-бокс «Я принимаю условия лицензионного соглашения» → «Далее».
- На шаге «Роль сервера» выберите роль «Сервер федерации» → «Далее».
- На шаге «Установка необходимого программного обеспечения» мастер установки автоматически проверит наличие необходимых для службы федерации компонентов. → «Далее».
- После завершения работы мастера поставьте чек-бокс «Когда мастер закроется, запустить оснастку управления AD FS 2.0» для дальнейшей настройки службы. → «Готово».
Windows Server 2019
- Откройте «Диспетчер серверов».
- Управление → Добавить роли и компоненты.
- На шаге «Перед началом работы» (если такой появится) → «Далее».
- На шаге «Тип установки» выберите «Установка ролей и компонентов» → «Далее».
- На шаге «Выбор сервера» выберите сервер, на котором будет установлена служба федерации Active Directory → «Далее».
- На шаге «Роли сервера» поставьте чек-бокс напротив роли «Службы федерации Active Directory». Мастер добавления ролей и компонентов предложит добавить компоненты, необходимые для Службы федерации Active Directory. → «Добавить компоненты» → «Далее».
- Шаг «Компоненты» остаётся без изменений → «Далее».
- На шаге «Службы федерации Active Directory (AD FS)» → «Далее».
- В промежуточном шаге «Службы ролей» должен быть активен чек-бокс «Служба федерации» → «Далее».
- В промежуточном шаге «Службы ролей» ничего не меняйте → «Далее».
- На шаге «Подтверждение» → «Установить».
- После установки необходимых компонентов закройте мастер установки.
Начальная настройка AD FS
Этап 1. В диспетчере служб IIS
Установите сертификат в Доверенные корневые центры сертификации через сервер ADFS или на сервере IIS.
Если IIS установлен, то сделать это можно так:
- Запустите Диспетчер служб IIS.
- Выберите локальный сервер.
- На начальной странице локального сервера → меню «Сертификаты сервера».
- На странице «Сертификаты сервера»:
- Добавьте сертификат:
- либо заверенный, купленный у вендора;
- либо созданный в центре сертификации AD CS (если эта служба установлена).
Использовать самозаверенный сертификат не рекомендуется.
Для каждого пользователя, который заходит через AD будет предупреждение в браузере. Во многих браузерах чтобы продолжить работу с таким сертификатом, надо проделать определенные действия, например, добавить сайт в исключения, что многим пользователям будет не под силу. - В поле «Понятное имя сертификата» впишите имя, например:
ADFS_Certificate. - В разделе «Выбрать хранилище сертификата для нового сертификата:» → «Личный».
- Закройте Диспетчер служб IIS.
Этап 2. Настройка на сервере
Windows Server 2008R2: После установки AD FS 2.0 оснастка управления должна была запуститься автоматически. Если этого не произошло, запустите оснастку вручную: Пуск → Все программы → Администрирование → Управление AD FS 2.0.
Windows Server 2019: В диспетчере серверов нажмите на значок уведомлений (флаг с восклицательным знаком в треугольнике) → в окне «Конфигурация после развертывания» клик на «Запустить оснастку управления AD FS».
- В открывшейся оснастке → «Мастер настройки сервера федерации AD FS».
- На шаге «Добро пожаловать!» включите чек-бокс «Создать службу федерации» → «Далее».
- На шаге «Выберите тип развертывания» → «Изолированный сервер федерации» → «Далее».
- На шаге «Имя службы федерации» можно выбрать SSL-сертификат для веб-сайта. Т.к. ранее при настройках создавался только один сертификат (ADFS_Certificate), он подставится по умолчанию, без права выбора сертификатов. Если сертификатов больше, выберите нужный. → «Далее».
- На шаге «Сводка» мастер настройки покажет, какие параметры будут настроены для служб AD FS. → «Далее» → «Закрыть». Если оснастка AD FS закрылась, запустите её заново.
- В оснастке управления AD FS клик по ссылке «Обязательно: добавьте доверенную проверяющую сторону» → «Запустить».
- На шаге «Выберите источник данных» включите чек-бокс «Ввод данных о проверяющей стороне вручную» → «Далее».
- На шаге «Укажите отображаемое имя», в поле «Отображаемое имя:» введите имя для проверяющей стороны (например: advanta), и, при необходимости, любые примечания. → «Далее».
- На шаге «Выберите профиль» установите значение напротив пункта «Профиль AD FS». → «Далее».
- На шаге «Настройте сертификат» можно указать дополнительный сертификат шифрования маркера, если это необходимо. → «Далее».
- На шаге «Настройте URL-адрес»:
- включите чек-бокс «Включить поддержку пассивного протокола WS-Federation»;
- в поле «URL-адрес пассивного протокола WS-Federation проверяющей стороны» введите адрес страницы
ADFS_Login.aspxв вашей Системе (например:https://your.system.ru/streamline/ADFS_Login.aspx) → «Далее».
- На шаге «Настройте идентификаторы» в поле «Идентификатор отношения доверия проверяющей стороны:» введите адрес вашей Системы (например:
https://your.system.ru/streamline). → «Далее». - На шаге «Выберите правила авторизации выдачи» → «Разрешить доступ к этой проверяющей стороне всем пользователям». Или, после настройки мастера, настройте конкретных пользователей. → «Далее».
- На шаге «Готовность для добавления отношения доверия» можете проверить все настройки и нажмите «Далее».
- На шаге «Готово» включите чек-бокс «Открыть диалоговое окно «Изменение правил утверждений» для этого отношения доверия проверяющей стороны после закрытия мастера» → «Закрыть».
- Откроется окно «Изменение правил утверждений для advanta (отображаемое имя, которое вы ввели ранее)»:
- На вкладке «Правило Преобразования выдачи» → «Добавить правило…».
- В мастере добавления правила преобразования утверждения:
- на шаге «Выберите тип правила», выберите шаблон правила утверждения: «Отправка утверждений с помощью настраиваемого правила» → «Далее».
- на шаге «Настройте правило утверждения»:
- в поле «Имя правила утверждения:» введите имя:
sid; - в поле «Настраиваемое правило:» введите правило:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"]=>issue(claim = c);(копировать вместе со знаком ;) → «Готово».
- После этого снова появится окно «Изменение правил утверждений для advanta» → «ОК».
Настройка службы каталогов Active Directory на сервере с установленной ADVANTA (сервер IIS)
ADFS_Login.aspx в корень приложения.Службы каталогов AD должны быть доступны для сервера IIS по LDAP. Для системы ADVANTA настройка службы выполняется в конфигурационных файлах, находящихся в папке с веб-контентом Системы.
Настройки интеграции со службой AD FS
- На сервере службы федерации в IIS перейти к сайту AD FS: Сайты –> Default Web Site –> AD FS → ls . Данный пункт актуален только для старых версий AD FS, начиная с версии службы федерации 3.0 в Windows Server 2012, IIS на сервер со службой федерации устанавливать необходимости нет.
- На странице сайта раздел «Проверка подлинности» → включить компонент «Проверка подлинности Windows».
- Перейти в дополнительные параметры данного компонента → в настройке «Расширенная защита» установить «Выключена».
Для настройки ADFS нужно указать два параметра в client.config в секции <appSettings>:
<add key="AdfsRealm" value="https://system.a2test.local/streamline" />
| где a2test - название домена вашей инсталляции ADVANTA. Идентификатор проверяющей стороны, берется из оснастки ADFS «Отношение доверия/Отношение доверия проверяющей стороны/Идентификатор проверяющей стороны» |
<add key="AdfsIssuer" value="https://adfs.a2test.local" />
| где a2test - название домена вашей инсталляции ADVANTA. Адрес сервиса ADFS |
Также есть три дополнительных параметра:
AdfsShowPII- режим отображения персональной пользовательской информации в сообщениях об ошибках подключения к AD FS:
<add key="AdfsShowPII" value="false" />
- значение по умолчанию (или если параметр не указан)
false- информация, позволяющая идентифицировать пользователя, будет скрыта в сообщениях об ошибках; - при установке значения в
true- в сообщении об ошибке подключения будут отображаться идентификационные данные. Используется при отладке и поиске проблем подключения к AD FS. В режиме промышленной эксплуатации Системы параметр должен быть удален или установлен в значениеfalse! AdfsMode- режим проверки сертификата:
<add key="AdfsMode" value="Default" />
- по умолчанию значение (или если параметр не указан)
Default- строгий режим, который проверяет всю цепочку сертификатов; - можно задать значение
Thumbprint- данный режим применяется, если сертификат самозаверенный. Этот режим проверяет только даты и отпечаток сертификата. Thumbprint- если в параметреAdfsModeуказано значениеThumbprint, в этом случае необходимо указать отпечаток сертификата: оснастка AD FS → Сертификаты (Service communications) → CN=ServerADFS.your.domain.local → Состав → Отпечаток.) При этом обязательно надо указать дополнительный параметр:
<add key="AdfsThumbprint" value="0cafe3b7025e9cfe48f83f5dcdff36122c6fcbb6" />
При копировании отпечатка через графический интерфейс, он может скопироваться с дополнительными невидимыми символами. Поэтому при копировании используйте команду
certutil.Настройка LDAP в файле client.config
В главном разделе <configuration> после закрывающего тега </configSections> добавить следующее:
<ldapService ldapPath="LDAP://адрес сервера с AD/" baseDN="база поиска объектов в AD"> <authenticationTypes> <add authenticationType="Secure" /> <add authenticationType="Signing" /> <add authenticationType="Sealing" /> </authenticationTypes> </ldapService>
ldapPath- адрес службы. Значение по умолчанию (LDAP://) можно использовать, когда сервер приложения находится в домене. Иначе нужно указать действительный адрес службы и порт, если порт отличается от стандартного (389). Например: LDAP://ad.domain.local/baseDN- базовый DN каталога пользователей. Если не указан, то используется дефолтный DN, который определен в самой службе каталогов. Лучше указывать действительный DN. Например:
DC=domain,DC=local
authenticationTypes- типы аутентификации. Влияют на защищенность (шифрование и подпись) передаваемых данных. По умолчанию: Secure, Signing, Sealing.
SecureSocketsLayer в authenticationTypes.
В раздел <configSections> добавить тег:
<section name="ldapService" type="Config.LDAPConfigurationSection, smcorelib" />
authenticationTypes в client.config должна выглядеть следующим образом:
<ldapService ldapPath="LDAP://адрес сервера с AD:636/" baseDN="база поиска объектов в AD"> <authenticationTypes> <add authenticationType="SecureSocketsLayer" /> </authenticationTypes>
Безопасность
Службы федерации и приложение не обмениваются напрямую, только через браузер. Пользователь вводит логин и пароль для доступа к веб-сервисам AD FS, а приложение никогда не получает эти данные. Вместо логина и пароля приложение получает от AD FS утверждения, а именно доменный sid пользователя. Передача утверждений происходит с использованием шифрования. Также утверждения подписываются в AD FS, используя SAML. Доверие приложения к сервису утверждений основано на подписи, которая проверяется по отпечатку сертификата.
Важно использовать заверенный сертификат для веб-сервисов AD FS (этот сертификат устанавливается в IIS). Это не тот сертификат, который используется для подписи и шифрования утверждений.
Настройка рабочих станций
- Установить сертификат в Доверительные корневые центры сертификации.
- Добавить Систему в надежные сайты (Свойства браузера → Безопасность → Надежные сайты → Сайты → Добавить сайт
https://имя системы в сертификате безопасности→ Закрыть).
Настройка интеграции с AD в системе (AD FS)
После выполнения всех настроек, описанных выше, активируйте синхронизацию с AD в Системе ADVANTA.
Для этого под учетными данными Администратора Системы:
- Перейти в пункт меню «Администрирование» → «Общие настройки» → «Настойки Active Directory».
- В портлете «Настройки связи с Active Directory (с использованием службы ADFS)» установить чек-бокс в «Разрешить проверку учетных данных в Active Directory (с использованием службы ADFS)».
Далее, чтобы в Систему можно было заходить под доменными учетными данными пользователей, нужно загрузить этих пользователей из AD. Здесь два варианта:
- Загрузка новых пользователей из AD в Систему, в настройках Active Directory, после активации синхронизации, появится кнопка «Загрузить из Active Directory». С помощью этой кнопки можно загрузить всех необходимых пользователей в Систему. В этом случае в Системе создаются новые пользователи с привязкой к доменной учетной записи.
- Привязка уже существующего пользователя Системы к AD. Для этого под учетными данными Администратора Системы нужно перейти в пункт меню «Команда в лицах» - «Список». Выбрать необходимого пользователя из списка и перейти в карточку редактирования этого пользователя, нажав левой кнопкой мыши по ссылке данного пользователя. В портлете «Учетная запись Active Directory» необходимо нажать кнопку-ссылку «Задать», где можно будет выбрать необходимую доменную учетную запись для привязки пользователя.
domain\user или user@domain.local.
Мультидоменность (NTLM)
Использование зарезервированных символов XML в конфигурационном файле запрещено (& «<'>).
Настройки на сервере IIS
1. Для авторизации на сервере через AD необходимо установить службу «Windows - проверка подлинности» (Windows Authentication).
Windows Server 2008R2:
- Открыть диспетчер сервера.
- Перейти в пункт «Роли».
- На вкладке «Службы ролей» нажать на кнопку «Добавить службы ролей».
- В пункте «Безопасность» включить пункт «Windows - проверка подлинности».
- Нажать «Далее».
- «Установить».
Windows Server 2019:
- Открыть диспетчер серверов.
- «Управление» → «Добавить роли и компоненты».
- На шаге «Перед началом работы» нажать «Далее».
- На шаге «Тип установки» выбрать «Установка ролей или компонентов» и нажать «Далее».
- На шаге «Выбор сервера» выбрать текущий сервер.
- Перейти в пункт «Роль веб-сервера(IIS)» → «Службы ролей».
- В пункте «Безопасность» включить пункт «проверка подлинности Windows».
- Нажать «Далее», затем «Установить».
После установки службы «Windows - проверка подлинности» откройте Диспетчер служб IIS:
- Перейти в раздел «Сайты» → Default Web Site (сайт с установленной Системой).
- Затем перейти в подраздел «Проверка подлинности» (в области просмотра возможностей).
- Включить компонент «Проверка подлинности Windows».
- Включить компонент «Анонимная проверка подлинности».
- Все остальные компоненты выключить, если они включены.
2. Настройка client.config:
- добавляем теги в
<configuration><configSections>:
<section name="ldapService" type="Config.LDAPConfigurationSection, smcorelib"/> <section name="adDomains" type="Config.ADDomainsConfiguration, smcorelib"/>
- добавляем тег в корень после тега
<configSections>: <adDomains> <domains> <add name="Имя домена" login="Логин пользователя" password="Пароль" ldappath="LDAP://Адрес LDAP(127.0.0.1:389)" /> </domains> </adDomains>
где:
- значение «Имя домена» - любое понятное имя домена, которое будет использоваться в дереве при загрузке пользователей из каталога;
- значение «Логин пользователя» - логин любого пользователя того домена, от куда будет производиться загрузка пользователей;
- значение «Пароль» - пароль пользователя, логин которого использовался в значении «Логин пользователя» (выше);
- значение »LDAP://Адрес LDAP« - адрес службы LDAP (например:
LDAP://192.168.0.200:389илиLDAP://domain.local:389).
Ссылка на пример файла client.config с настройками интеграции под NTLM
Настройка рабочих станций
Добавить Систему в раздел Местная интрасеть (Свойства браузера → Безопасность → Местная интрасеть → Сайты → Добавить сайт с адресом системы → Закрыть).
Настройка интеграции с AD в Системе (NTLM)
После выполнения всех вышеописанных настроек, необходимо активировать синхронизацию с AD в самой Системе. Для этого под учетными данными Администратора Системы:
- Перейти в пункт меню «Администрирование» → «Общие настройки» → «Настойки Active Directory».
- В портлете «Настройки связи с Active Directory (с использованием NTLM)» поставить чек-бокс напротив «Разрешить проверку учетных данных в Active Directory (с использованием NTLM)» .
Далее, чтобы пользователи могли заходить в Систему под своими доменными учетными записями, их нужно загрузить в систему из AD. Здесь два варианта:
- Загрузка новых пользователей из AD в Систему, в настройках Active Directory, после активации синхронизации, появится кнопка «Загрузить из Active Directory». С помощью этой кнопки можно загрузить всех необходимых пользователей в Систему. В этом случае в Системе создаются новые пользователи с привязкой к доменной учетной записи.
- Привязка уже существующего пользователя Системы к AD. Для этого, под учетными данными Администратора Системы, нужно перейти в пункт меню «Команда в лицах» - «Список». Выбрать необходимого пользователя из списка и перейти в карточку редактирования этого пользователя, нажав левой кнопкой мыши по ссылке данного пользователя. В портлете «Учетная запись Active Directory» необходимо нажать кнопку-ссылку «Задать», где можно будет выбрать необходимую доменную учетную запись для привязки пользователя.