Содержание

Для версии 3.19 и ранее: Руководство по настройке интеграции с Active Directory

ВНИМАНИЕ!

Эта инструкция актуальна только до версии ADVANTA 3.19 включительно.

Актуальная инструкция для версии 3.20 и выше находится здесь.

Один домен

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

Данный тип интеграции позволяет подключаться к Адванте с использованием 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, обращение к системе Адванта должно выполняться по протоколу https.

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

Важно!

Сервер со службой федерации Active Directory (AD FS) должен находиться в домене на сервере клиента. При этом можно установить службу на сервер с контроллером домена (AD), однако служба технической поддержки компании Microsoft не рекомендует производить подобные установки: службы AD и ADFS должны быть размещены на различных хостах (ВМ). При этом сервер IIS может находиться как на сервере (клиента) внутри доменной сети, так и на внешнем хостинге.

Windows Server 2008R2

  1. Запускаем файл установки службы федерации Active Directory 2.0. Скачать можете по ссылке: http://www.microsoft.com/en-us/download/details.aspx?id=10909. Откроется мастер установки AD FS 2.0. Нажимаем на кнопку «Далее».
  2. На шаге «Лицензионное соглашение» устанавливаем флажок «Я принимаю условия лицензионного соглашения». Нажимаем на кнопку «Далее».
  3. На шаге «Роль сервера» выбираем роль «Сервер федерации». Нажимаем на кнопку «Далее».
  4. На шаге «Установка необходимого программного обеспечения» мастер установки автоматически проверит наличие необходимых для службы федерации компонентов. Нажимаем на кнопку «Далее».
  5. После завершения работы мастера установите флажок «Когда мастер закроется, запустить оснастку управления AD FS 2.0» для дальнейшей настройки службы. Нажмите на кнопку «Готово».

Windows Server 2012

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

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

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

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

Важно!

Для работы с AD FS на сервере c IIS требуется служба Windows Identity Foundation.

Скачать Windows Identity Foundation можно по ссылке.

Предварительные действия на сервере приложения:

  1. Проверить/установить Windows Identity Foundation
  2. Проверить/добавить файл ADFS_Login.aspx в корень приложения

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

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

  1. В файле web.config изменить следующие значения:
    • В разделе <configSections> добавить секцию:
      <section name="microsoft.identityModel" type="Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    • В разделе <system.web>/<httpModules> добавить секцию:
      <add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    • В разделе <system.webServer>/<modules> добавить секцию:
      <add name="SessionAuthenticationModule" type="Microsoft.IdentityModel.Web.SessionAuthenticationModule, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler"/>
    • Перед закрывающим тегом </configuration>добавить следующее:
      <microsoft.identityModel configSource="identityModel.config"/>
  2. В файле identityModel.config изменить следующие значения:
    • в теге <add value=«https://your.system.ru/streamline» /> вводится имя вашей системы;
    • в теге <wsFederation passiveRedirectEnabled=«true» issuer=«https://your.domain.local/adfs/ls/» realm=«https://your.system.ru/streamline» requireHttps=«true» /> – значение issuer – адрес локальной службы AD FS, значение realm – адрес вашей системы;
    • в теге <add thumbprint="0D716212E046FA4299539777103BC481B9D0FC23" name="https://your.domain.local/adfs/services/trust" /> – значение thumbprint – отпечаток сертификата, находится на сервере службы федерации Active Directory: оснастка AD FS → Сертификаты → CN=ADFS Signing - ServerADFS.your.domain.local → Состав → Отпечаток.
      Внимание! При копировании отпечатка через графический интерфейс, он может скопироваться с дополнительными невидимыми символами. Поэтому при копировании используйте команду certutil.
      Или не копировать «дополнительное пространство», появляющееся перед отпечатком в графическом интерфейсе. Ссылка на источник

      Внимание!

      По умолчанию служба федерации Active Directory 2.0 использует сертификаты подписи токена, действующие один год. Новый сертификат автоматически создается за 20 дней до истечения срока действия каждого сертификата. После создания нового сертификата, старый используется 5 дней. Крайне важно обновить отпечаток сертификата до окончания этого периода. Ссылка на источник


      Структура файла identityModel.config

      <?xml version="1.0" encoding="utf-8"?>
      <microsoft.identityModel>
        <service>
      	<audienceUris>
      	  <add value="https://your.system.ru/streamline" />  
      	</audienceUris>
      	<federatedAuthentication>
      	  <wsFederation passiveRedirectEnabled="true" issuer="https://your.domain.local/adfs/ls/" realm="https://your.system.ru/streamline" requireHttps="true" />
      	  <cookieHandler requireSsl="true" />
      	</federatedAuthentication>
      	<!--<issuerNameRegistry type="TrustedIssuerNameRegistry"/>-->
      	<issuerNameRegistry type="Microsoft.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      	  <trustedIssuers>
      		<add thumbprint="0D716212E046FA4299539777103BC481B9D0FC23" name="https://your.domain.local/adfs/services/trust" />
      	  </trustedIssuers>
      	</issuerNameRegistry>
      	<certificateValidation certificateValidationMode="None" />
        </service>
      </microsoft.identityModel>

Актуально только для Windows Server 2008 R2

  1. На сервере службы федерации в IIS перейти к сайту AD FS: Сайты → Default Web Site → AD FS → ls
  2. На странице сайта раздел «Проверка подлинности» → включить компонент «Проверка подлинности Windows».
  3. Перейти в дополнительные параметры данного компонента → в настройке «Расширенная защита» установить «Выключена».

Настройка интеграции со службой AD FS в файле web.config (до версии 3.03.2166.х)

Настройка LDAP в файле client.config

  1. В главном разделе <configuration> добавить следующее:
    <ldapService ldapPath="LDAP://адрес сервера с AD FS/" 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. Если в службе каталогов настроен SSL (требует установки Certification Authority), то нужно указать SecureSocketsLayer в authenticationTypes.
  2. В раздел <configSections> добавить тег:
    <section name="ldapService" type="Config.LDAPConfigurationSection, smcorelib" />

Ссылка на пример файла Client.config с настройками интеграции под ADFS

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

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

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

Если сертификат не заверен центром сертификации (создан самозаверенный), то нужно будет установить его на рабочие станции пользователей в корневые центры сертификации. В этом случае экспортируется сертификат, созданный на шаге 4 в подразделе «Начальная настройка AD FS»

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

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

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

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

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

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

  1. Загрузка новых пользователей из AD в систему, в настройках Active Directory, после активации синхронизации, появится кнопка «Загрузить из Active Directory». С помощью этой кнопки можно загрузить всех необходимых пользователей в систему. В этом случае в системе создаются новые пользователи с привязкой к доменной учетной записи.
  2. Привязка уже существующего пользователя системы к AD. Для этого, под учетными данными администратора системы, нужно перейти в пункт меню «Команда в лицах» - «Список». Выбрать необходимого пользователя из списка и перейти в карточку редактирования этого пользователя, нажав левой кнопкой мыши по ссылке данного пользователя. В портлете «Учетная запись Active Directory» необходимо нажать кнопку-ссылку «Задать», где можно будет выбрать необходимую доменную учетную запись для привязки пользователя.
Если сервер с системой не включен в домен, при нажатии кнопки «Загрузить из Active Directory» возникнет ошибка подключения к Active Directory. В этом случае необходимо нажать кнопку «учетная запись» и ввести в появившемся окне логин и пароль доменного пользователя. Логин должен вводиться в формате domain\user или user@domain.local.
Если в последующем возникнет потребность протокол авторизации поменять с AD FS на NTLM, необходимо после внесения изменений произвести перезагрузку сервера приложения ADVATNA, чтобы изменения вступили в силу.

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

Мультидоменная авторизация позволяет проводить аутентификацию пользователей с помощью Active Directory, находящихся в различных доменах внутри организации. При этом необходимо, чтобы сервер с системой находился в корневом домене, а также наличие двусторонних транзитивных отношений между корневым и остальными доменами.
Мультидоменность работает по протоколу NTLM.

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

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

Windows Server 2008 R2:

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

Windows Server 2012:

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

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

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

2. Настройка client.config:

где:

Для добавления нескольких доменов нужно добавить соответствующее количество строк, начинающихся с тега «add name…».

Ссылка на пример файла 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» необходимо нажать кнопку-ссылку «Задать», где можно будет выбрать необходимую доменную учетную запись для привязки пользователя.