Руководство по настройке интеграции с Active Directory


Один домен

Общая информация

Интеграционное решение ориентировано на компоненты Active Directory:

  1. Служба федерации Active Directory (AD FS).
  2. Служба каталогов Active Directory; доступ к ней осуществляется по LDAP.

Службы федерации Active Directory используются для аутентификации пользователей. AD FS позволяет использовать технологию единого входа (SSO). В нашем случае важно, что AD FS использует Встроенную Аутентификацию Windows, что позволяет входить в Систему без ввода логина и пароля (требует настройки в IE и Firefox). Если пользователи будут использовать AD FS только находясь в домене, то не обязательно делать эту службу доступной во внешнюю сеть.

Службы каталогов AD используются для импорта пользователей из AD в Систему и для выбора учетной записи AD при связывании с пользователем. Связывание происходит по полю SID.

Установка службы федерации Active Directory (в домене клиента, AD FS)

Windows Server 2008R2

  1. Запустите файл установки службы федерации Active Directory 2.0. Скачать можете здесь. Откроется мастер установки AD FS 2.0 → «Далее».
  2. На шаге «Лицензионное соглашение» поставить чек-бокс «Я принимаю условия лицензионного соглашения» → «Далее».
  3. На шаге «Роль сервера» выберите роль «Сервер федерации» → «Далее».
  4. На шаге «Установка необходимого программного обеспечения» мастер установки автоматически проверит наличие необходимых для службы федерации компонентов. → «Далее».
  5. После завершения работы мастера поставьте чек-бокс «Когда мастер закроется, запустить оснастку управления AD FS 2.0» для дальнейшей настройки службы. → «Готово».

Windows Server 2019

  1. Откройте «Диспетчер серверов».
  2. Управление → Добавить роли и компоненты.
  3. На шаге «Перед началом работы» (если такой появится) → «Далее».
  4. На шаге «Тип установки» выберите «Установка ролей и компонентов» → «Далее».
  5. На шаге «Выбор сервера» выберите сервер, на котором будет установлена служба федерации Active Directory → «Далее».
  6. На шаге «Роли сервера» поставьте чек-бокс напротив роли «Службы федерации Active Directory». Мастер добавления ролей и компонентов предложит добавить компоненты, необходимые для Службы федерации Active Directory. → «Добавить компоненты» → «Далее».
  7. Шаг «Компоненты» остаётся без изменений → «Далее».
  8. На шаге «Службы федерации Active Directory (AD FS)» → «Далее».
  9. В промежуточном шаге «Службы ролей» должен быть активен чек-бокс «Служба федерации» → «Далее».
  10. В промежуточном шаге «Службы ролей» ничего не меняйте → «Далее».
  11. На шаге «Подтверждение» → «Установить».
  12. После установки необходимых компонентов закройте мастер установки.

Начальная настройка AD FS

Этап 1. В диспетчере служб IIS

Установите сертификат в Доверенные корневые центры сертификации через сервер ADFS или на сервере IIS.

Если IIS установлен, то сделать это можно так:

  1. Запустите Диспетчер служб IIS.
  2. Выберите локальный сервер.
  3. На начальной странице локального сервера → меню «Сертификаты сервера».
  4. На странице «Сертификаты сервера»:
  • Добавьте сертификат:
  • либо заверенный, купленный у вендора;
  • либо созданный в центре сертификации AD CS (если эта служба установлена).
  • В поле «Понятное имя сертификата» впишите имя, например: ADFS_Certificate.
  • В разделе «Выбрать хранилище сертификата для нового сертификата:» → «Личный».
  • Закройте Диспетчер служб IIS.

Этап 2. Настройка на сервере

Windows Server 2008R2: После установки AD FS 2.0 оснастка управления должна была запуститься автоматически. Если этого не произошло, запустите оснастку вручную: Пуск → Все программы → Администрирование → Управление AD FS 2.0.

Windows Server 2019: В диспетчере серверов нажмите на значок уведомлений (флаг с восклицательным знаком в треугольнике) → в окне «Конфигурация после развертывания» клик на «Запустить оснастку управления AD FS».

  1. В открывшейся оснастке → «Мастер настройки сервера федерации AD FS».
  2. На шаге «Добро пожаловать!» включите чек-бокс «Создать службу федерации» → «Далее».
  3. На шаге «Выберите тип развертывания» → «Изолированный сервер федерации» → «Далее».
  4. На шаге «Имя службы федерации» можно выбрать SSL-сертификат для веб-сайта. Т.к. ранее при настройках создавался только один сертификат (ADFS_Certificate), он подставится по умолчанию, без права выбора сертификатов. Если сертификатов больше, выберите нужный. → «Далее».
  5. На шаге «Сводка» мастер настройки покажет, какие параметры будут настроены для служб AD FS. → «Далее» → «Закрыть». Если оснастка AD FS закрылась, запустите её заново.
  6. В оснастке управления AD FS клик по ссылке «Обязательно: добавьте доверенную проверяющую сторону» → «Запустить».
  7. На шаге «Выберите источник данных» включите чек-бокс «Ввод данных о проверяющей стороне вручную» → «Далее».
  8. На шаге «Укажите отображаемое имя», в поле «Отображаемое имя:» введите имя для проверяющей стороны (например: advanta), и, при необходимости, любые примечания. → «Далее».
  9. На шаге «Выберите профиль» установите значение напротив пункта «Профиль AD FS». → «Далее».
  10. На шаге «Настройте сертификат» можно указать дополнительный сертификат шифрования маркера, если это необходимо. → «Далее».
  11. На шаге «Настройте URL-адрес»:
    • включите чек-бокс «Включить поддержку пассивного протокола WS-Federation»;
    • в поле «URL-адрес пассивного протокола WS-Federation проверяющей стороны» введите адрес страницы ADFS_Login.aspx в вашей Системе (например: https://your.system.ru/streamline/ADFS_Login.aspx) → «Далее».
  12. На шаге «Настройте идентификаторы» в поле «Идентификатор отношения доверия проверяющей стороны:» введите адрес вашей Системы (например: https://your.system.ru/streamline). → «Далее».
  13. На шаге «Выберите правила авторизации выдачи» → «Разрешить доступ к этой проверяющей стороне всем пользователям». Или, после настройки мастера, настройте конкретных пользователей. → «Далее».
  14. На шаге «Готовность для добавления отношения доверия» можете проверить все настройки и нажмите «Далее».
  15. На шаге «Готово» включите чек-бокс «Открыть диалоговое окно «Изменение правил утверждений» для этого отношения доверия проверяющей стороны после закрытия мастера» → «Закрыть».
  16. Откроется окно «Изменение правил утверждений для advanta (отображаемое имя, которое вы ввели ранее)»:
    • На вкладке «Правило Преобразования выдачи» → «Добавить правило…».
    • В мастере добавления правила преобразования утверждения:
      • на шаге «Выберите тип правила», выберите шаблон правила утверждения: «Отправка утверждений с помощью настраиваемого правила» → «Далее».
      • на шаге «Настройте правило утверждения»:
        • в поле «Имя правила утверждения:» введите имя: sid;
        • в поле «Настраиваемое правило:» введите правило: c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"]=>issue(claim = c); (копировать вместе со знаком ;) → «Готово».
  17. После этого снова появится окно «Изменение правил утверждений для advanta» → «ОК».

Настройка службы каталогов Active Directory на сервере с установленной ADVANTA (сервер IIS)

Службы каталогов AD должны быть доступны для сервера IIS по LDAP. Для системы ADVANTA настройка службы выполняется в конфигурационных файлах, находящихся в папке с веб-контентом Системы.

Настройки интеграции со службой AD FS

Для настройки 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" />

Настройка 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.

В раздел <configSections> добавить тег:

<section name="ldapService" type="Config.LDAPConfigurationSection, smcorelib" />

Безопасность

Службы федерации и приложение не обмениваются напрямую, только через браузер. Пользователь вводит логин и пароль для доступа к веб-сервисам AD FS, а приложение никогда не получает эти данные. Вместо логина и пароля приложение получает от AD FS утверждения, а именно доменный sid пользователя. Передача утверждений происходит с использованием шифрования. Также утверждения подписываются в AD FS, используя SAML. Доверие приложения к сервису утверждений основано на подписи, которая проверяется по отпечатку сертификата.

Важно использовать заверенный сертификат для веб-сервисов AD FS (этот сертификат устанавливается в IIS). Это не тот сертификат, который используется для подписи и шифрования утверждений.

Настройка рабочих станций

  1. Установить сертификат в Доверительные корневые центры сертификации.
  2. Добавить Систему в надежные сайты (Свойства браузера → Безопасность → Надежные сайты → Сайты → Добавить сайт https://имя системы в сертификате безопасности → Закрыть).

Настройка интеграции с AD в системе (AD FS)

После выполнения всех настроек, описанных выше, активируйте синхронизацию с AD в Системе ADVANTA.

Для этого под учетными данными Администратора Системы:

  1. Перейти в пункт меню «Администрирование» → «Общие настройки» → «Настойки Active Directory».
  2. В портлете «Настройки связи с Active Directory (с использованием службы ADFS)» установить чек-бокс в «Разрешить проверку учетных данных в Active Directory (с использованием службы ADFS)».

Далее, чтобы в Систему можно было заходить под доменными учетными данными пользователей, нужно загрузить этих пользователей из AD. Здесь два варианта:

  1. Загрузка новых пользователей из AD в Систему, в настройках Active Directory, после активации синхронизации, появится кнопка «Загрузить из Active Directory». С помощью этой кнопки можно загрузить всех необходимых пользователей в Систему. В этом случае в Системе создаются новые пользователи с привязкой к доменной учетной записи.
  2. Привязка уже существующего пользователя Системы к AD. Для этого под учетными данными Администратора Системы нужно перейти в пункт меню «Команда в лицах» - «Список». Выбрать необходимого пользователя из списка и перейти в карточку редактирования этого пользователя, нажав левой кнопкой мыши по ссылке данного пользователя. В портлете «Учетная запись Active Directory» необходимо нажать кнопку-ссылку «Задать», где можно будет выбрать необходимую доменную учетную запись для привязки пользователя.

Мультидоменность (NTLM)

Настройки на сервере IIS

1. Для авторизации на сервере через AD необходимо установить службу «Windows - проверка подлинности» (Windows Authentication).

Windows Server 2008R2:

  1. Открыть диспетчер сервера.
  2. Перейти в пункт «Роли».
  3. На вкладке «Службы ролей» нажать на кнопку «Добавить службы ролей».
  4. В пункте «Безопасность» включить пункт «Windows - проверка подлинности».
  5. Нажать «Далее».
  6. «Установить».

Windows Server 2019:

  1. Открыть диспетчер серверов.
  2. «Управление» → «Добавить роли и компоненты».
  3. На шаге «Перед началом работы» нажать «Далее».
  4. На шаге «Тип установки» выбрать «Установка ролей или компонентов» и нажать «Далее».
  5. На шаге «Выбор сервера» выбрать текущий сервер.
  6. Перейти в пункт «Роль веб-сервера(IIS)» → «Службы ролей».
  7. В пункте «Безопасность» включить пункт «проверка подлинности Windows».
  8. Нажать «Далее», затем «Установить».

После установки службы «Windows - проверка подлинности» откройте Диспетчер служб IIS:

  1. Перейти в раздел «Сайты» → Default Web Site (сайт с установленной Системой).
  2. Затем перейти в подраздел «Проверка подлинности» (в области просмотра возможностей).
  3. Включить компонент «Проверка подлинности Windows».
  4. Включить компонент «Анонимная проверка подлинности».
  5. Все остальные компоненты выключить, если они включены.

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 в самой Системе. Для этого под учетными данными Администратора Системы:

  1. Перейти в пункт меню «Администрирование» → «Общие настройки» → «Настойки Active Directory».
  2. В портлете «Настройки связи с Active Directory (с использованием NTLM)» поставить чек-бокс напротив «Разрешить проверку учетных данных в Active Directory (с использованием NTLM)» .

Далее, чтобы пользователи могли заходить в Систему под своими доменными учетными записями, их нужно загрузить в систему из AD. Здесь два варианта:

  1. Загрузка новых пользователей из AD в Систему, в настройках Active Directory, после активации синхронизации, появится кнопка «Загрузить из Active Directory». С помощью этой кнопки можно загрузить всех необходимых пользователей в Систему. В этом случае в Системе создаются новые пользователи с привязкой к доменной учетной записи.
  2. Привязка уже существующего пользователя Системы к AD. Для этого, под учетными данными Администратора Системы, нужно перейти в пункт меню «Команда в лицах» - «Список». Выбрать необходимого пользователя из списка и перейти в карточку редактирования этого пользователя, нажав левой кнопкой мыши по ссылке данного пользователя. В портлете «Учетная запись Active Directory» необходимо нажать кнопку-ссылку «Задать», где можно будет выбрать необходимую доменную учетную запись для привязки пользователя.