Avanpost FAM/MFA+ : Настройка MFA/SSO для CRM Creatio (Terrasoft bpm'online)

Общие сведения

В статье описывается настройка двухфакторной аутентификации (2FA), многофакторной аутентификации (MFA) и Single-Sign On (SSO) для CRM Creatio (ранее – Terrasoft bpm'online) посредством SAML-механизма системы Avanpost FAM в режиме интеграции с ADFS. Функциональность доступна для веб-интерфейса CRM Creatio.

Для CRM Creatio с целью 2FA/MFA/SSO могут использоваться следующие факторы аутентификации: 

Можно обеспечить использование как двухфакторной аутентификации, так и многофакторной аутентификации при доступе в CRM Creatio в зависимости членства пользователя в определённой группе.

CRM Creatio поддерживает функциональность SSO (Signle Sign-On), обеспечиваемую протоколом SAML: если пользователь прошёл аутентификацию в веб-приложение в соответствии с настроенным сценарием, то система не будет запрашивать повторного подтверждения аутентификации при аутентификации в другое веб-приложение. Также обеспечивается реализация функциональности SLO (Single Logout) в рамках протокола SAML.

Системные требования для интеграции CRM Creatio с Avanpost FAM:

  • сервер Avanpost FAM 1.3.0 или выше;
  • сервер CRM Creatio.

Для выполнения настройки 2FA/MFA/SSO в соответствии с инструкцией необходимо выполнить следующие предварительные условия:

  1. Установить в сети сервер CRM Creatio.
  2. Установить в сети компонент Avanpost FAM Server.

При необходимости аутентификации:

  • через мобильное приложение Avanpost Authenticator – установить компонент Avanpost FAM Mobile Authenticator Service;
  • через мобильное приложение SafeTech PayControl – установить сервер SafeTech PayControl;
  • через SMS – настроить подключение к внешнему SMS-шлюзу, который предоставляет услугу доставки SMS-сообщений;
  • через E-mail – настроить подключение к SMTP-шлюзу, который обеспечивает доставку почтовых сообщений;
  • через Telegram – настроить подключение к Telegram Bot API;
  • посредством электронной подписи – настроить криптопровайдер и установить плагин в браузер;
  • посредством FIDO WebAuthn/U2F – настроить сертификат;
  • посредством Kerberos – настроить keytab-файл;
  • посредством ЕСИА настроить подключение к ЕСИА;
  • посредством OpenID Connect-провайдера – настроить подключение к OpenID Connect-провайдеру;
  • посредством SAML-провайдера – настроить подключение к SAML-провайдеру.

Настройка

Для выполнения настройки подключения подготовить следующие сведения:

  • значение параметра Name из тега ServiceProvider XML-файла SAMLConfiguration на стороне CRM Creatio;
  • значение параметра AssertionConsumerServiceUrl из ServicePorvider XML-файла SAMLConfiguration на стороне CRM Creatio;
  • значение параметра адреса завершения сессии.

На стороне Avanpost FAM в административной консоли:

  1. Создать новое приложение с типом SAML.
  2. В карточке приложения на вкладке «Настройки» для параметра:
    1. Issuer – указать значение параметра Name, полученное на этапе подготовки сведений.
    2. ACS – указать значение параметра Name, полученное на этапе подготовки сведений.
    3. Подпись – «Подписывать сообщение».
    4. NameID Format – «Не указан».
    5. NameID – «Адрес электронной почты».
    6. Signing Algorithm – «SHA256».
    7. Post Logout Redirect URL – значение параметра адреса завершения сессии.

На стороне CRM Creatio:

  1. В конфигурационном XML-файле SAMLConfiguration создать XML-тег PartnerIdentityProvider внутри тега PartnerIdentityProviders в теге SAMLConfiguration в соответствии с примером из приложения А, где указать для параметров:
    • Name – значение URL Avanpost FAM Server;
    • Description – константу «Avanpost FAM»;
    • SignAuthnRequest – константу «false»;
    • SignLogoutRequest константу «false»;
    • WantSAMLResponseSigned – константу «false»;
    • WantAssertionSigned – константу «false»;
    • WantAssertionEncrypted – константу «false»;
    • SingleSignOnServiceUrl – значение URL Avanpost FAM Server с добавлением к нему постфикса /saml2;
    • SingleLogoutServiceUrl – значение URL Avanpost FAM Server с добавлением к нему постфикса /saml2/logout.
  2. Указать в качестве файла сертификата .cer-файл, сформированный на стороне Avanpost FAM Server.
  3. Проверить, что структура и наполнение конфигурационного XML-файла SAMLConfguration соответствует примеру, указанному в приложении Б.

Проверка настройки

  1. Перейти в браузере на CRM Creatio и инициировать аутентификацию через доверенный провайдер Avanpost FAM. Дождаться перенаправления на интерфейс аутентификации Avanpost FAM.
  2. Выполнить аутентификацию в соответствии с настроенным для CRM Creatio на стороне Avanpost FAM сценарием.

В результате пользователь должен успешно пройти аутентификацию в CRM Creatio.

Сценарии использования

Загрузка пользователей CRM Creatio из домена (LDAP)

Чтобы пользователи из домена смогли проходить 2FA/MFA или пользоваться SSO при аутентификации в CRM Creatio, необходимо использовать встроенную в Avanpost FAM функциональность интеграции с LDAP-каталогами (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т.д.). В рамках этой функции можно настроить LDAP-фильтры, которые позволят обеспечить загрузку в Avanpost FAM только тех пользователей, которые будут использовать 2FA/MFA/SSO в CRM Creatio. Таким образом можно подключить несколько доменов.

Контроль попыток аутентификации пользователей к CRM Creatio через Avanpost FAM

Для контроля попыток аутентификации необходимо использовать журнал событий безопасности, доступный в административном интерфейсе системы и посредством syslog.

Управление доступом пользователей к CRM Creatio через Avanpost FAM

Для предоставления доступа пользователю, его необходимо включить в группу, которая имеет доступ к созданному приложению. Доступна реализация автоматического включения и исключения пользователя из группы в рамках синхронизации с LDAP-каталогом.

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

Управление доступом пользователей к CRM Creatio через домен (LDAP)

Avanpost FAM в рамках интеграции с LDAP-каталогом (Microsoft Active Directory, FreeIPA, 389Directory, openldap и т. д.) обеспечивает автоматизацию управления членством пользователей в группах Avanpost FAM, предоставляющих доступ к CRM Creatio, путём синхронизации членства пользователей в группах Avanpost FAM на основе членства пользователей домена в доменных группах.

Управление сценарием аутентификации (2FA/MFA) для CRM Creatio через Avanpost FAM

Для настройки второго фактора, который будет использоваться для приложения CRM Creatio, необходимо перейти в административной консоли в карточку приложения и открыть вкладку MFA. В качестве первого шага – указать метод аутентификации Password. В качестве второго шага можно выбрать один из следующих факторов:

  • Мобильное приложение Avanpost Authenticator;
  • Мобильное приложение SafeTech PayControl;
  • SMS;
  • TOTP;
  • E-mail;
  • Мессенджер Telegram;
  • Электронная подпись;
  • FIDO WebAuthn/U2F;
  • Kerberos;
  • Провайдер ЕСИА;
  • OpenID Connect-провайдер;
  • SAML-провайдер.

Управление сценарием аутентификации (2FA/MFA) для отдельных групп сотрудников, подключающихся к CRM Creatio, через Avanpost FAM

Для управления сценарием аутентификации (2FA/MFA) для отдельных групп сотрудников необходимо  в административной консоли Avanpost FAM перейти в карточке группы на вкладке «MFA» и настроить дополнительный сценарий аутентификации. В этом случае пользователи, входящие в указанную группу, будут проходить аутентификацию с использованием второго фактора, заданного на вкладке. Таким образом можно определить специфический сценарий 2FA для администраторов и других привилегированных пользователей, подключающихся к CRM Creatio.

Приложение А. Пример секции PartnerIdentityProvider для XML-файла SAMLConfiguration на стороне CRM Creatio

Пример секции конфигурационного файла SAMLConfiguration, настраиваемого на стороне CRM Creatio для подключения к Avanpost FAM:

<SAMLConfiguration xmlns="urn:componentspace:SAML:2.0:configuration">
	...
    <PartnerIdentityProviders>
        <!-- Avanpost FAM-->
        <PartnerIdentityProvider Name="https://avanpost-fam-hostname/"
            Description="Avanpost FAM"
            SignAuthnRequest="false"
            SignLogoutRequest="false"
            WantSAMLResponseSigned="false"
            WantAssertionSigned="false"
            WantAssertionEncrypted="false"
            SingleSignOnServiceUrl="https://avanpost-fam-hostname/saml2"
            SingleLogoutServiceUrl="https://avanpost-fam-hostname/saml2/logout"
            PartnerCertificateFile="AvanpostFAM.cer"/>
    </PartnerIdentityProviders>
</SAMLConfiguration>

Приложение Б. Пример настроенного XML-файла SAMLConfiguration на стороне CRM Creatio

Пример настроенного XML-файла SAMLConfiguration после выполнения шагов, указанных в разделе «Настройка»:

<SAMLConfiguration xmlns="urn:componentspace:SAML:2.0:configuration">
  <ServiceProvider Name="https://creatio-hostname/"
        Description="Example bpm'online Service Provider"
        AssertionConsumerServiceUrl="~/ServiceModel/AuthService.svc/SsoLogin"
        LocalCertificateFile="Certificates\example.pfx"
        LocalCertificatePassword="password"
      />
  <PartnerIdentityProviders>
    <!-- Avanpost FAM-->
    <PartnerIdentityProvider Name="https://avanpost-fam-hostname/"
                 Description="Avanpost FAM"
                 SignAuthnRequest="false"
                 SignLogoutRequest="false"
                 WantSAMLResponseSigned="false"
                 WantAssertionSigned="false"
                 WantAssertionEncrypted="false"
                 SingleSignOnServiceUrl="https://avanpost-fam-hostname/saml2"
                 SingleLogoutServiceUrl="https://avanpost-fam-hostname/saml2/logout"
                 PartnerCertificateFile="AvanpostFAM.cer"/>
  </PartnerIdentityProviders>
</SAMLConfiguration>

Обсуждение