Подключение приложений

Подробные инструкции  по подключению приложений к Blitz Identity Provider.

1C

(https://1c.ru) — это группа программ для автоматизации бизнес-процессов.

Подключение 1С к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:

Важно:

В инструкции для примера указано, что 1С расположен на домене https://1c.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне 1C

Выполните следующие действия:

  1. Откройте для редактирования конфигурационный файл 1С: default.vrd. Отредактируйте следующий блок:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
		xmlns:xs="http://www.w3.org/2001/XMLSchema"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		base="/Integr_planet_ERP"
		ib="Srvr=localhost;Ref=Integr_planet_ERP;">
	<standardOdata enable="false"
			reuseSessions="autouse"
			sessionMaxAge="20"
			poolSize="10"
			poolTimeout="5"/>
	<analytics enable="true"/>
	<ws publishExtensionsByDefault="true"/>
	<openidconnect>
        <providers>
        <![CDATA[[
            {
                "name": "blitz",
                "title": "Blitz",
                "discovery": "https://login.company.com/blitz/oauth/.well-known/openid-configuration",
                "providerconfig": {
                    "authorization_endpoint": "https://login.company.com/blitz/oauth/ae",
                    "userinfo_endpoint": "https://login.company.com/blitz/oauth/me",
                    "token_endpoint": "https://login.company.com/blitz/oauth/te",
                    "issuer": "https://login.company.com/blitz",
                    "jwks_uri": "https://login.company.com/blitz/oauth/.well-known/jwks"
                },
                "authenticationClaimName": "sub",
                "clientconfig": {
                    "authority": "https://login.company.com/blitz/oauth",
                    "client_id": "1C",
                    "client_secret":"eXa12m3PL45e",
                    "redirect_uri": "http://login.company.com/Integr_planet_ERP/authform.html",
                    "response_type": "token id_token",
                    "scope": "profile openid",
                    "filterProtocolClaims": false,
                    "loadUserInfo": false
                }
            }
        ]]]>
        </providers>
        <allowStandardAuthentication>true</allowStandardAuthentication>
    </openidconnect>
</point>
  1. Сохраните файл.

Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:

  1. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.

  2. Далее нажмите кнопку Параметры у предложения 1C и отредактируйте параметры приложения:

Далее в параметрах укажите данные, как в default.vrd:

  1. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в 1C: https://1c.company.com

Яндекс 360

Яндекс 360 (https://360.yandex.ru) — виртуальное рабочее пространство, которое включает в себя персональные сервисы.

Подключение Яндекс 360 к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:

Важно:

В инструкции для примера указано, что Blitz IDP установлен на домене https://login.company.com. Уточните ваш адрес перед применением инструкции.

Этап 1. Настройки на стороне Яндекс 360

  1. Откройте Яндекс 360 для Бизнеса: https://admin.yandex.ru/
  2. Перейдите в раздел Общие настройки и выберите Единый вход (SSO).
  3. Нажмите Настроить.
  4. Заполните поля с обязательными параметрами:

Скопируйте сертификат и Вставьте его в поле в PEM-формате:

-----BEGIN CERTIFICATE-----
  <значение сертификата>
-----END CERTIFICATE-----
  1. Нажмите Сохранить.

Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:

  1. Нажмите Добавить новый SAML-атрибут.
  2. Укажите название атрибута и его источник в хранилище. В данном случае источники email given_name family_name. Выберите их из выпадающего списка.
  3. После каждого заполнения свойств атрибутов нажмите Добавить.

Свойства для каждого атрибута

Список атрибутов после добавления

  1. Далее добавьте кодировщик для каждого атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.

  1. Для каждого атрибута добавьте кодировщики SAML1String и SAML2String. В зависимости от передаваемого атрибута пользователя кодировщику присваивается название User.EmailAddress, User.Firstname или User.Surname соответственно.
  2. Задайте настройки кодировщика по аналогии с приведенным ниже примером:

  1. Нажмите Сохранить после каждого создания кодировщика.
  2. Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения.
  3. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.
  2. Далее нажмите кнопку Параметры у предложения Яндекс360 и отредактируйте параметры приложения:

  1. В разделе Атрибуты пользователя настройте передачу в Яндекс 360 атрибутов, созданных на первом этапе SAML-атрибутов.

  1. Нажмите Сохранить.
  2. Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте следующий код:

<?xml version="1.0" encoding="utf-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
                     xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
                     entityID="https://yandex.ru/">
    <md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

        <md:AssertionConsumerService index="1" isDefault="true"
                                     Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                                     Location="https://passport.yandex.ru/auth/sso/commit"/>
    </md:SPSSODescriptor>
</md:EntityDescriptor>

  1. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в Яндекс 360: https://passport.yandex.ru/auth

Arenadata Catalog

Arenadata Catalog (https://arenadc.io) — это веб-платформа для организации работы с данными в рамках Data Governance.

Подключение Arenadata Catalog к Blitz Identity Provider выполняется по протоколу OAuth 2.0 и состоит из двух этапов:

Важно:

В инструкции для примера указано, что Arenadata Catalog расположен на домене https://adc.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне Arenadata Catalog

Выполните следующие действия:

  1. Откройте для редактирования конфигурационный файл Arenadata Catalog: adc.env (например, /etc/adc/adc.env). Отредактируйте блок [auth.generic_oauth] следующим образом:
  1. Сохраните файл.

  1. Перезапустите ArenaDataCatalog. Пример команд для перезапуска:

docker-compose -f docker-compose.yml --env-file adc.env down

docker-compose -f docker-compose-keycloak.yml --env-file adc.env up -d


Этап 2. Настройки на стороне Blitz Identity Provider

  1. В консоли управления Blitz Identity Provider перейдите в раздел OAuth 2.0 и выполните следующие действия:

  1. Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:

Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в Arenadata Catalog: https://adc.company.com

SimpleOne

SimpleOne (https://simpleone.ru/) - ESM-платформа для автоматизации бизнеса.

Подключение SimpleOne к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:

Важно:

В инструкции для примера указано, что SimpleOne расположен на домене https://company.simpleone.ru, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне SimpleOne

Выполните следующие действия:

  1. Войдите в SimpleOne под учетной записью администратора и Перейдите в раздел Настройка SAML2.
  2. Заполните поля с обязательными параметрами:

Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:

  1. Нажмите Добавить новый SAML-атрибут.
  2. Укажите название атрибута и его источник в хранилище. В данном случае источник mail. Выберите его из выпадающего списка.
  3. После заполнения свойств атрибута нажмите Добавить.

  1. Далее добавьте кодировщик для атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.
  2. Для атрибута добавьте кодировщики SAML2StringNameID и SAML2String. Присвойте кодировщику название EmailAddress.
  3. Нажмите Сохранить после каждого создания кодировщика.
  4. Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения.
  5. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.
  2. Далее нажмите кнопку Параметры у предложения SimpleOne и отредактируйте параметры приложения:

  1. В разделе Атрибуты пользователя настройте передачу в SimpleOne атрибута transientId, а также созданного на первом этапе SAML-атрибута.
  2. Нажмите Сохранить.
  3. Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте следующий код:
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
                     entityID="https://company.simpleone.ru">
     <md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

          <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
                                  Location="https://company.simpleone.ru/login"/>

               <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>

                    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                                                 Location="https://company.simpleone.ru/v1/saml/post" index="0" isDefault="true"/>
     </md:SPSSODescriptor>
</md:EntityDescriptor>
  1. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в SimpleOne: https://company.simpleone.ru

Cisco ASA VPN

Cisco ASA VPN (https://www.cisco.com/) - это частная виртуальная сеть с высоким уровнем защиты.

Подключение Cisco ASA VPN к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:

Важно:

В инструкции для примера указано, что Blitz IDP установлен на домене https://login.company.com, а Cisco ASA расположен на домене https://vpn-gw1.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне Cisco ASA VPN

Примечание:

Только следующие версии Cisco ASA поддерживают SAML: 9.7.1.24, 9.8.2.28, 9.9.2.1 и выше в данных релизах, а также 9.10 и позднее.

  1. Для добавления сертификата перейдите на https://login.company.com/blitz/saml/profile/Metadata/SAML и Скопируйте сертификат.
  2. В CLI Cisco ASA выполните следующие команды:
crypto ca trustpoint Blitz-IDP
no ca-check
enrollment terminal
no id-usage
exit
crypto ca authenticate Blitz-IDP
<paste in the IdP-certificate in Base64-format>
-----BEGIN CERTIFICATE-----

…………………………TEXT SHORTENED…………………………

-----END CERTIFICATE-----
quit
yes
  1. Для настройки SAML в CLI Cisco ASA выполните следующие команды:
saml idp https://login.company.com/blitz/saml
url sign-in https://login.company.com/blitz/saml/profile/SAML2/Redirect/SSO
url sign-out https://login.company.com/blitz/saml/profile/SAML2/Redirect/SLO
base-url https://vpn-gw1.company.com/
trustpoint idp Blitz-IDP
trustpoint sp <asa_saml_sp_certificate_name>
no signature
no force re-authentication
clock-skew 15 #Настройка ошибки по времени
tunnel-group-list enable
tunnel-group-preference group-url
cache
disable
  1. Для настройки AAA сервера только на авторизацию в CLI Cisco ASA выполните следующие команды:
aaa-server ISE(Authorization) protocol radius
 authorize-only
aaa-server ISE(Authorization) (inside) host <fqdn-radius-server-1>
 timeout 30
 key *****
aaa-server ISE(Authorization) (inside) host <fqdn-radius-server-2>
 key *****
  1. Для настройки туннельной группы в CLI Cisco ASA выполните следующие команды:
tunnel-group <Group-Name> type remote-access
tunnel-group <Group-Name> general-attributes
address-pool vpn-pool.pmh
authentication-server-group ISE(Authorization)
authorization-server-group ISE(Authorization)
accounting-server-group ISE(Authorization)
default-group-policy <Group-Policy>
dhcp-server <DHCP-SRV1>
dhcp-server <DHCP-SRV2>
tunnel-group <Group-Name> webvpn-attributes
authentication saml
group-url https://vpn-gw1.company.com/<Group-Name> enable
group-url https://<fqdn-group-balancing>/<Group-Name> enable
saml identity-provider <Blitz entityID>
Особенность Cisco ASA:

При изменении настроек SAML в Cisco ASA требуется отключить и заново назначить конфигурацию для туннельной группы.

  1. В CLI Cisco ASA выполните следующие команды:
tunnel-group <Group-Name> webvpn-attributes
no saml identity-provider <Blitz entityID>
saml identity-provider <Blitz entityID>

Также возможно выполнить в интерфейсе администратора ASDM: Connection Profile > Basic > смените SAML Identity Provider на “None” > нажмите OK и Apply, вернитесь назад и повторно выберите SAML-server в выпадающем списке и нажмите OK и Apply снова.

Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:

  1. Нажмите Добавить новый SAML-атрибут.
  2. Укажите название атрибута и его источник в хранилище. В данном случае источник sub. Выберите его из выпадающего списка.
  3. После заполнения свойств атрибута нажмите Добавить.

  1. Далее добавьте кодировщик для атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.
  2. Для атрибута добавьте кодировщики SAML1StringNameIdentifier и SAML2StringNameID. Каждому кодировщику присваивается название NameID.
  3. Задайте настройки кодировщика по аналогии с приведенным ниже примером:

  1. Нажмите Сохранить после каждого создания кодировщика.
  2. Далее необходимо получить метаданные Cisco ASA. Для этого перейдите по ссылке https://<fqdn-node-x>/saml/sp/metadata/<Group-Name>.
  3. В консоли управления Blitz Identity Provider перейдите в раздел Приложения.
  4. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.
  2. Далее нажмите кнопку Параметры у предложения Cisco ASA и отредактируйте параметры приложения:

  1. В разделе Атрибуты пользователя настройте передачу в Cisco ASA SAML-атрибута, созданного на первом этапе.

  1. Нажмите Сохранить.
  2. Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте метаданные Cisco ASA из пункта 9.
  3. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в Cisco ASA: https://vpn-gw1.company.com/

Gitlab

GitLab (https://gitlab.com) — это веб-приложение для хранения и управления репозиториями программного кода для Git.

Подключение GitLab к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:

Важно:

В инструкции для примера указано, что GitLab расположен на домене https://gitlab.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне GitLab

Выполните следующие действия:

  1. Откройте для редактирования конфигурационный файл Gitlab: gitlab.rb (например, /etc/gitlab/gitlab.rb). Отредактируйте блок gitlab_rails['omniauth_providers']:
{
    name: "openid_connect",
    label: "Blitz",
    args: {
      name: "openid_connect",
      scope: ["openid","profile"],
      response_type: "code",
      issuer: "https://login.company.com/blitz",
      discovery: true,
      client_auth_method: "basic",
      uid_field: "sub",
      send_scope_to_token_endpoint: "false",
      client_options: {
        identifier: "gitlab",
        secret: "eXa12m3PL45e",
        redirect_uri: "https://login.company.com/gitlab/users/auth/openid_connect/callback"
      }
    }
  }
  1. Сохраните файл.

Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:

  1. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.

  2. Далее нажмите кнопку Параметры у предложения GitLab и отредактируйте параметры приложения:

Далее в параметрах укажите данные, как в gitlab.rb:

  1. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в GitLab: https://gitlab.company.com

Grafana

Grafana (https://grafana.com) — это платформа мониторинга, визуализации и анализа данных, ориентированная на данные систем ИТ-мониторинга.

Подключение Grafana к Blitz Identity Provider выполняется по протоколу OAuth 2.0 и состоит из двух этапов:

Важно:

В инструкции для примера указано, что Grafana расположена на домене https://grafana.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне Grafana

Выполните следующие действия:

  1. Откройте для редактирования конфигурационный файл Grafana: grafana.ini (например, /etc/grafana/grafana.ini). Отредактируйте блок [auth.generic_oauth]:
[auth.generic_oauth]
name = Blitz IDP
enabled = true
allow_sign_up = true
client_id = Grafana
client_secret = eXa12m3PL45e
scopes = profile
email_attribute_name = email:primary
email_attribute_path =
login_attribute_path =
name_attribute_path =
role_attribute_path =
id_token_attribute_name =
auth_url = https://login.company.com/blitz/oauth/ae
token_url = https://login.company.com/blitz/oauth/te
api_url = https://login.company.com/blitz/oauth/me
signout_redirect_url = https://login.company.com/blitz/oauth/logout
allowed_domains =
team_ids =
allowed_organizations =
tls_skip_verify_insecure = false
tls_client_cert =
tls_client_key =
tls_client_ca =
  1. Сохраните файл и Перезапустите Grafana: systemctl restart grafana-server

Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:

  1. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.

  2. Далее нажмите кнопку Параметры у приложения Grafana и отредактируйте следующие параметры:

Далее в параметрах укажите данные, как в grafana.ini:

  1. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в Grafana: https://grafana.company.com

Jira

Jira (https://www.atlassian.com/ru/software/jira) — это веб-платформа управления проектами для планирования и отслеживания работы команд.

Подключение Jira к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:

Важно:

В инструкции для примера указано, что Jira расположена на домене https://jira.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне Jira

Примечание:

В Jira отсутствует встроенная поддержка одного подключения. Для этого нужно использовать плагин. Ниже в инструкции описано подключение на примере плагина Kantega SSO Enterprise.

Выполните следующие действия:

  1. Установите плагин Kantega SSO Enterprise. Для этого в настройках Jira перейдите в Manage Apps и установите плагин.

manage-apps.jpeg

  1. В Kantega SSO Enterprise перейдите в раздел Identity Providers. Нажмите Add new identity provider и выберите Other.

other.jpeg

  1. В открывшемся окне выберите OpenID Connect и нажмите Next.

protocol.jpeg

  1. Выберите настройки по вашим потребностям. Например, Create accounts on-the-fly. Нажмите Next.

user.jpeg

  1. На следующем шаге формируется URL вашей Jira, который необходимо скопировать и добавить в Blitz IDP во втором этапе. Нажмите Next.

  2. Далее введите Discovery URL. Например, https://login.company.com/blitz/.well-known/openid-configuration. Нажмите Next.

metadata.jpeg

  1. Заполните следующие поля и нажмите Next:

sso.jpeg

  1. На следующем шаге заполните поля и нажмите Next:

credentials.jpeg

  1. На следующем шаге проверьте введенные данные и нажмите Finish.

Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:

  1. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.

  2. Далее нажмите кнопку Параметры у предложения Jira и отредактируйте параметры приложения:

Далее в параметрах укажите данные, как в учетных данных Jira:

  1. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в Jira: https://jira.company.com

Nextcloud

Nextcloud (https://nextcloud.com) — это веб-платформа для организации облачного хранилища.

Подключение Nextcloud к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:

Важно:

В инструкции для примера указано, что Nextcloud расположен на домене https://nextcloud.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:

  1. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.

  2. Далее нажмите кнопку Параметры у предложения Nextcloud и отредактируйте параметры приложения:

Далее в параметрах укажите данные, как в Social Login и другие обязательные параметры:

  1. Нажмите Сохранить.

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

Выполните следующие действия:

  1. Для интеграции Nextcloud с Blitz Identity Provider необходимо установить приложение Social Login. Для этого Войдите в Nextcloud под учетной записью администратора. В разделе Приложения нажмите Загрузить рядом с приложением Social Login. Дополнительную информацию можно найти по адресу https://apps.nextcloud.com/apps/sociallogin.

  2. Далее перейдите в Параметры сервера и выберите Social login.

  3. Далее нажмите кнопку у предложения Custom OpenID Connect и задайте параметры:


Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в Nextcloud: https://nextcloud.company.com

OpenVPN

OpenVPN (https://openvpn.net) - технология виртуальной частной сети (VPN).

Подключение OpenVPN к Blitz Identity Provider выполняется по протоколу RADIUS и состоит из двух этапов:

Этап 1. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел RADIUS и выполните следующие действия:

  1. Нажмите на Сегменты сети и создайте новый сегмент. Задайте следующие параметры:

  1. Нажмите Сохранить.
  2. Перейдите на вкладку Процедуры обработки запросов и задайте параметры:

  1. Вставьте код процедуры:
package com.identityblitz.idp.radius.flow;
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import com.identityblitz.idp.radius.flow.RadiusResult.*;

public class OpenVPN2FA implements RadiusFlow {

  private final Logger logger =
LoggerFactory.getLogger("com.identityblitz.idp.flow.radius");

  public String loginN12(final String login) {
    return login;
}

  public RadiusResult next (final RadiusContext context) {
    if (context.factor() == 1) {
      return RadiusResult.challenge(Challenges.password());
    } else if (context.factor() == 2) {
       final java.util.Map<String, String> answers = new
java.util.HashMap<String, String>();
      answers.put("1", "sms");
      answers.put("2", "totp");
      return RadiusResult.dialog("challengeChoose", answers);
    } else {
      return  RadiusResult.authenticated(context.subject());
    } 
}

  public RadiusResult dialog(final RadiusContext context,
                             final String message,
                             final java.util.Map<String,
String> answers,
                             final String answer) {
    if (message.equals("challengeChoose")) {
      final String challenge = answers.get(answer);
      if(challenge != null) {
return
RadiusResult.challenge(Challenges.byName(challenge));
      } else {
        return RadiusResult.dialog(message, answers);
      }
    } else {
        return RadiusResult.rejected("unsupportedMessage");
    } 
  }

}

  1. Нажмите Сохранить и Активировать.

  2. В консоли управления Blitz Identity Provider перейдите в раздел Приложения и Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.

  2. Далее нажмите кнопку Параметры у предложения openvpn и отредактируйте параметры приложения:

  1. Нажмите Сохранить.

  2. Далее перейдите в раздел RADIUS на вкладку Сегменты сети. Укажите Приложение по умолчанию: openvpn access server.

  1. Откройте для редактирования конфигурационный файл /etc/blitz-config/custom_messages/messages и добавьте в него строку radius.display.dialog.challenge.name.sms=SMS.

  2. Перезапустите приложение blitz-idp командой systemctl restart blitz-idp.

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

  1. В веб-консоли OpenVPN в разделе Authentication перейдите в Settings и укажите RADIUS в качестве подсистемы аутентификации по умолчанию.

  1. В разделе Authentication перейдите в RADIUS и укажите параметры подключения к Blitz, как указано ниже.

  1. В консоли сервера выполните команду для создания файла с настройками подключения: /usr/local/openvpn_as/scripts/sacli --prefer-tls-crypt-v2 GetGeneric >/tmp/client.ovpn.

Настройка подключения клиента

  1. Перенесите файл настроек на клиента с помощью команды nmcli connection import type openvpn file ~/tmp/client.ovpn
  2. Далее импортируйте файл с помощью команды mcli connection modify client vpn.user-name test
В примере используется консольная утилита nmcli для linux
  1. Подключитесь к тестовой учетной записи с настроенным TOTP с помощью команды nmcli connection up client.

Outlook on the web (OWA)

Outlook on the web (https://microsoft.com/microsoft-365/outlook) — это веб-почта для доступа к серверу совместной работы.

Подключение Outlook к Blitz Identity Provider выполняется по протоколу WS-Federation (частный случай протокола SAML от Microsoft). На стороне Exchange и OWA настройки будут выполняться для метода аутентификации ADFS, т.к. в данном случае Blitz Identity Provider выступает заменой ADFS. Cостоит из трех этапов:

Важно:

В инструкции для примера указано, что Outlook расположен на домене https://mail.company.com/owa, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки Exchange organization для использования аутентификации ADFS

Важно:

Нельзя использовать wildcard-сертификаты в SAML, сертификат должен быть на домене Blitz Identity Provider.

  1. Необходимо получить отпечаток сертификата Blitz IDP. Для этого нужно взять его из метаданных Blitz - пройдите по ссылке https://login.company.com/blitz/saml/profile/Metadata/SAML, откройте XML документ с метаданными и найдите раздел <ds:X509Certificate>. Например:

Добавьте строки:

-----BEGIN CERTIFICATE-----
  <значение сертификата>
-----END CERTIFICATE-----

Сохраните сертификат в файл с расширением .crt. Найдите в данных сертификата отпечаток SHA-1.

  1. Далее введите команду:
Set-OrganizationConfig -AdfsIssuer <BlitzURL> -AdfsAudienceUris "<OotwURL>","<EACURL>" -AdfsSignCertificateThumbprint "<Thumbprint>"

Где указать следующие значения:

Этап 2. Настройки аутентификации AD FS в Outlook on the web и в виртуальных каталогах EAC

Для Outlook on the web и виртуальных каталогов EAC необходимо настроить аутентификацию AD FS как единственный доступный метод, отключив все остальные методы.

  1. Чтобы использовать командную консоль Exchange для настройки EAC или Outlook on the web в виртуальном каталоге так, чтобы они принимали только аутентификацию ADFS, введите следующую команду (для примера указан сервер с именем Mailbox01):
Set-EcpVirtualDirectory -Identity <VirtualDirectoryIdentity> -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false

Где используются следующие значения параметра VirtualDirectoryIdentity:

  1. Чтобы настроить все виртуальные каталоги EAC и Outlook on the web на каждом сервере Exchange в вашей организации, выполните следующие команды:
Get-EcpVirtualDirectory | Set-EcpVirtualDirectory -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false

Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false

Этап 3. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:

  1. Нажмите Добавить новый SAML-атрибут.
  2. Укажите название первого атрибута - upn и выберите из выпадающего списка его источник - атрибут, который соответствует атрибуту userPrincipalName в хранилище. После нажмите Добавить.
  3. Укажите название второго атрибута - windowsaccountname и выберите из выпадающего списка его источник - атрибут, который соответствует атрибуту sAMAccountName в хранилище. После нажмите Добавить.
  4. Далее добавьте кодировщик для каждого атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.
  5. Для атрибута upn добавьте первый кодировщик SAML1String и укажите Пространство имен http://schemas.xmlsoap.org/ws/2005/05/identity/claims. Далее добавьте второй кодировщик - SAML1StringNameIdentifier и укажите Пространство имен urn:oasis:name:tc:SAML:1.1:nameid-formar:unspecified. Нажмите Сохранить после каждого создания кодировщика.

  1. Для атрибута windowsaccountname добавьте кодировщик SAML1String и укажите Пространство имен http://schemas.xmlsoap.org/ws/2005/05/identity/claims. Нажмите Сохранить.

  1. Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения.
  2. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.
  2. Далее нажмите кнопку Параметры у предложения OWA и отредактируйте параметры приложения:

  1. В разделе Атрибуты пользователя настройте передачу в Outlook атрибутов, созданных на первом этапе SAML-атрибутов и атрибута transientId. Пометьте передачу атрибутов upn и windowsaccountname галочкой.

  1. Нажмите Сохранить.
  2. Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте следующий код:
<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
	xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
	entityID="https://mail.company.com/owa/">
	<md:SPSSODescriptor protocolSupportEnumeration="urn:mace:shibboleth:wsf-prp:1.0:protocol">
		<md:AssertionConsumerService Binding="urn:mace:shibboleth:1.0:bindings:HTTP-POST-wsignin"
		Location="https://mail.company.com/owa/"
		index="1"/>
		<md:AssertionConsumerService Binding="urn:mace:shibboleth:1.0:bindings:HTTP-POST-wsignin"
		Location="https://mail.company.com/ecp/"
		index="2"/>
	</md:SPSSODescriptor>
</md:EntityDescriptor>

  1. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в Outlook on the web: https://mail.company.com/owa

Remote Desktop Gateway

Remote Desktop Gateway (RDGW) - обеспечивает безопасный доступ к сервисам RDS из Интернета.

Настройка Remote Desktop Gateway выполняется по протоколу RADIUS и происходит в три этапа:

Этап 1. Установка и настройка фермы Remote Desktop Services

Определения:

Remote Desktop Session Host (RDSH) - узлы сеансов RDS, на которых работают приложения пользователей и которым будет осуществляться подключение пользователей;

Remote Desktop Connection Broker (RDCB) - посредник RDS подключений. Используется для управления фермой RDS, распределения нагрузки, обеспечивает переподключение пользователей к своим сеансам, хранит коллекции RDS и опубликованные приложения RemoteApps;

RD Web Access (RDWA) - веб интерфейс для доступа к рабочим столам, программам RemoteApp;

Remote Desktop Licensing (RD Licensing) - служба лицензирования, управляет RDS лицензиями (CAL) пользователей.

Перед созданием RDS фермы выполните предварительные требования:

  1. Установите одинаковую версию Windows Server на все сервера. Далее настройте их и добавьте в один домен AD.

  2. Откройте консоль Active Directory Users and Computers (ADUC) (Run -> dsa.msc) и переместите все хосты с ролью RDSH в одну OU в AD.

  3. Создайте в домене группу для рабочих серверов с ролью RDSH (например, idb-rdsh) и добавьте в нее все сервера RDSH.

Далее выполните следующие действия:

  1. Откройте Server Manager и добавьте все планируемые RDS сервера в консоль. Для этого нажмите правой кнопкой мыши на All Server в списке слева, далее на Add servers.

  1. Нажмите ОК.

  2. В меню Server Manager выберите Add Roles and Features -> Remote Desktop Services installation -> Standard deployment -> Session-based deployment.

  3. Далее укажите, как необходимо распределить роли RDS по серверам. В мастере построения фермы RDS выберите сервера для соответствующих ролей. Например,

  1. Установите флажок напротив Restart destination server automatically if required и нажмите кнопку Deploy. Дождитесь установки ролей RDS на всех серверах.

Этап 2. Установка роли RD Gateway

Для добавления роли Remote Desktop Gateway выполните следующие действия:

  1. В меню Server Manager выберите Add Roles and Features -> Role-based or feature-based installation -> выберите сервер bip-udc02 и нажмите Next -> в списке раскройте Remote Desktop Services и выберите Remote Desktop Gateway, нажмите Add Features и Next -> Next -> Install. Дождитесь установки роли.

  2. Далее создайте группы доступа в Active Directory с помощью консоли ADUC:

Настройка политик доступа RD Gateway

  1. Для управления политиками и правилами доступа на RDGW используется консоль RD Gateway Manager (Run -> tsgateway.msc). Настройка политик и правил доступа может осуществляться локально на сервере RDGW, либо на центральном сервере NPS (Network Policy Server).
  1. Разверните Policies -> правой кнопкой нажмите на Connection Authorization Policies и выберите Configure Central RD CAP.

  2. На вкладке RD CAP Store выберите Central server running NPS.

  3. В поле ниже введите IP-адрес или имя центрального сервера NPS и нажмите Add.

  1. Разверните Policies -> правой кнопкой нажмите на Connection Authorization Policies и выберите Configure Central RD CAP

  2. На вкладке RD CAP Store выберите Local server running NPS

  1. Далее настройте два типа политик:
  1. Разверните Policies -> правой кнопкой нажмите на Connection Authorization Policies и выберите Create New Policy -> Wizard

  1. Укажите имя политики rdgwExtUsers

  2. Выберите тип аутентификации по паролю и укажите группу пользователей rdgwExtUsers

  3. В окне Enable or Disable Device Redirection укажите, какие устройства разрешено прокидывать в RDP сессию (буфер обмена, принтера, локальные диски и т.д.)

  4. Далее настройте таймауты для RDP сеансов

  5. Подтвердите создание политики

  1. Разверните Policies -> правой кнопкой нажмите на Resource Authorization Policies и выбрать Create New Policy -> Wizard

  2. Укажите имя политики rdgwExternalAdmins

  3. Укажите группу пользователей rdgwExternalAdmins

  4. На вкладке Network Resources укажите группу rds-farm

  5. Укажите разрешенные для подключения порты. По умолчанию используется только стандартный RDP порт 3389. Возможно открыть дополнительные порты.

  6. Подтвердите создание политики.

Настройка SSL сертификата для Remote Desktop Gateway

Для защиты подключения к шлюзу RDS на нем нужно установить сертификат. Оптимально использовать коммерческий сертификат, выданный внешним центром сертификации. Возможно использовать бесплатного SSL сертификат Let's Encrypt. Также можно использовать самоподписанный SSL сертификат Windows, но внешние клиенты должны обязательно доверять такому сертификату (сертификат необходимо распространить на клиентов).

Для подключения из интернета в поле Subject Name (CN) или Subject Alternative Name (SAN) сертификата должно обязательно содержаться DNS имя сервера RDGW, которое будет использоваться для подключения внешними клиентами (доступное из интернета).

  1. Откройте свойства сервера RDGW в консоли RD Gateway и перейдите на вкладку SSL Certificate.

  1. При использовании самоподписанного сертификата выберите пункт Create a self-signed certificate -> Create and Import Certificate.

  1. Укажите имя сертификата (DNS будет использоваться клиентами для подключения к RDGW) и каталог, в который нужно сохранить сертификат (сертификат нужно распространить на клиентов).

В Windows Server 2019 для подключения к RD Gateway используются следующие порты:

Необходимо пробросить эти порты на RDGW хост на сетевом оборудовании.

  1. Откройте консоль RDGW Manager и убедитесь, что в ней нет ошибок и все пункты зеленые.

Настройка RDP клиента для подключения шлюзу RD Gateway

Если используетcя самоподписанный сертификат на RDGW, поместите его в доверенные корневые сертификаты (Trusted Root Certification Authorities) на клиенте.

  1. Запустите RDP клиент (Run -> mstsc.exe)

  2. На вкладке General укажите имя хоста или компьютера, к которому нужно подключиться по RDP

  1. Затем перейдите на вкладку Advanced и щелкните на кнопку Settings в разделе Connect from anywhere

  1. Выберите опцию Use these RD Gateway server settings, укажите внешнее DNS имя, по которому доступен RDGW сервер (это же имя должно быть указано в сертификате).Если используется нестандартный порт для RDGW, его нужно указать после имени сервера через двоеточие. Например: bip-udc02.bip.loc:4443.

  1. Чтобы при подключении клиент не запрашивал пароль два раза, включите опцию Use my RD Gateway credentials for the remote computer

  2. Нажмите кнопку Connect и введите пароль для подключения к RDGW серверу в окне RD Gateway Server Credentials

  3. Запустите консоль RD Gateway Manager, перейдите в раздел Monitoring и убедитесь, что в списке отображается подключение клиента.

Этап 3. Настройка аутентификации через RADIUS сервер

Настройка таймаутов RADIUS на RD Gateway NPS

  1. В меню Server Manager выберите Tools -> Network Policy Server.

  2. В консоли NPS (Local) разверните RADIUS Clients and Servers -> правой кнопкой нажмите на Remote RADIUS Server Groups -> New.

  3. Введите желаемое имя новой группы серверов (например, blitz group) и нажмите Add

  1. В открывшемся окне на вкладке Address в поле Server введите IP-адрес Radius-сервера

  1. На закладке Authentication/Accounting введите Shared secret в соответствующее поле и продублируйте в поле Confirm shared secret. Убедитесь, что все 3 галки на вкладке проставлены

  1. На вкладке Load Balancing выставите следующие значения:

  1. Нажмите OK -> OK.

Подготовка NPS к приему аутентификации от сервера MFA

  1. В консоли NPS (Local) разверните RADIUS Clients and Servers и нажмите правой кнопкой на RADIUS Clients -> New

  2. На закладке Settings установите флажок Enable this RADIUS

  3. В поле Friendly name введите любое имя (например, Blitz или IP-адрес сервера MFA)

  4. В поле Address введите IP-адрес или DNS сервера MFA

  5. Введите Shared Secret в поля в нижней части окна (тот же Shared Secret, что был указан при настройке таймаутов RADIUS)

Настройка политик запросов на подключение

  1. В консоли NPS (Local) разверните Policies и нажмите на Connection Request Policies

  2. В правом окне нажмите правой кнопкой на политике TS GATEWAY AUTHORIZATION POLICY и нажмите Duplicate Policy

  1. Кликните дважды по политике Copy of TS GATEWAY AUTHORIZATION POLICY

  2. На вкладке Overview в поле Policy name введите имя новой политики (например, blitz-policy)

  3. Установите флажок Policy enabled

  4. В пункте Type of network access server выберите Remote Desktop Gateway

  1. На вкладке Conditions нажмите Add

  2. В открывшемся окне выберите пункт Client Friendly Name и нажмите Add

  1. В открывшемся окне введите Friendly Name, который указывали ранее при создании записи RADIUS Clients в предыдущих пунктах и нажмите OK

  2. На вкладке Settings нажмите на Authentication и проставьте пункт Authenticate requests on this server

  1. На той же закладке выберите пункт Attribute, далее выберите тип атрибута User-Name и нажмите Add

  2. В открывшемся окне введите ^BIP\\ в поле Find. Оставьте поле Replace with пустым и нажмите OK -> OK

  3. Нажмите правой кнопкой по новой политике. Далее нажмите Move Up. Новая политика должна стоять выше, чем старая политика TS GATEWAY AUTHORIZATION POLICY

WordPress

WordPress (https://wordpress.com) - это система управления содержимым сайта.

Подключение WordPress к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:

Важно:

В инструкции для примера указано, что WordPress расположен на домене https://wp.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне WordPress

Выполните следующие действия:

  1. Для интеграции WordPress с Blitz Identity Provider войдите в WordPress под учетной записью администратора. Установите плагин OpenID Connect Generic и перейдите в его настройки.
  2. Далее заполните следующие поля:

  1. Нажмите Сохранить изменения.

Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:

  1. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.

  2. Далее нажмите кнопку Параметры у предложения WordPress и отредактируйте параметры приложения:

Далее в параметрах укажите данные, как в OpenID Connect Generic и другие обязательные параметры:

  1. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в WordPress: https://wp.company.com

Yandex Cloud

Yandex Cloud (https://yandex.cloud) — это веб-платформа организации облачных вычислительных мощностей.

Подключение Yandex Cloud к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:

Важно:

В инструкции для примера указано, что Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.

Этап 1. Настройки на стороне Yandex Cloud

  1. Создайте федерацию удостоверений. Для этого Перейдите в сервис https://org.yandex.cloud/ и выберите на панели Федерации. Нажмите Создать федерацию:

  1. Нажмите Создать федерацию.

  2. Далее передайте сертификат Blitz IDP в федерацию. Для этого перейдите по ссылке https://login.company.com/blitz/saml/profile/Metadata/SAML, откройте XML документ с метаданными и найдите раздел <ds:X509Certificate>. Например:

  1. Скопируйте сертификат.

  2. Для добавления сертификата в Yandex Cloud нажмите на имя созданной федерации и Добавить сертификат:

-----BEGIN CERTIFICATE-----
  <значение сертификата>
  -----END CERTIFICATE-----

  1. Нажмите кнопку Добавить.

Этап 2. Настройки на стороне Blitz Identity Provider

В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:

  1. Нажмите Добавить новый SAML-атрибут.
  2. Укажите название атрибута и его источник в хранилище. В данном случае источник email. Выберите его из выпадающего списка.
  3. После заполнения свойств атрибута нажмите Добавить.

  1. Далее добавьте кодировщик для атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.

  1. Для атрибута добавьте кодировщики SAML2String и SAML2StringNameID. Присвойте каждому кодировщику название urn:blitz:email.
  2. Задайте настройки кодировщика по аналогии с приведенным ниже примером:

  1. Нажмите Сохранить после каждого создания кодировщика.
  2. Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения.
  3. Создайте новое приложение, задав его базовые настройки:

  1. Нажмите Сохранить.
  2. Далее нажмите кнопку Параметры у предложения YandexCloud и отредактируйте параметры приложения:

  1. В разделе Атрибуты пользователя настройте передачу в Yandex Cloud атрибута transientId, а также созданного на первом этапе SAML-атрибута.

  1. Нажмите Сохранить.
  2. Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте следующий код, заменив ссылку в entityID и Location, которая находится в Yandex Cloud в поле ACS URL.

<?xml version="1.0" encoding="utf-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
                     xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
                     entityID="https://console.cloud.yandex.ru/federations/идентификатор_федерации">
    <md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

        <md:AssertionConsumerService index="1" isDefault="true"
                                     Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
                                     Location="https://console.cloud.yandex.ru/federations/идентификатор_федерации"/>
    </md:SPSSODescriptor>
</md:EntityDescriptor>
  1. Нажмите Сохранить.
Совет:

После прохождения всех шагов рекомендуем проверить корректность входа в Yandex Cloud: https://console.yandex.cloud/federations/идентификатор_федерации.

Подключение к серверу по SSH с аутентификацией через Blitz IDP

Подключение к серверу по SSH с аутентификацией через Blitz IDP выполняется в несколько этапов:

Для подключения к серверу по SSH с аутентификацией через Blitz IDP выполните следующие действия:

  1. Выполните настройки RADIUS-сервера в Blitz IDP согласно документации.
  2. Установите модуль pam_radius на машине, на которой настраивается ssh-доступ. Общая инструкция по установке и настройке: PAM RADIUS Installation and Configuration Guide.
  3. Выполните настройки SSH-клиента:
UsePAM yes
ChallengeResponseAuthentication yes
auth required pam_sepermit.so
auth sufficient pam_radius_auth.so
#auth       substack     password-auth
auth include password-auth
  1. Определите файл, в котором будет выполнятся настройка подключения к RADIUS-серверу:
Важно:

При установке из исходных файлов создайте и используйте файл /etc/raddb/server. При установке из пакета ОС используйте файл /etc/pam_radius.conf.

server[:port]             shared_secret      timeout (s)

Где:

Например:

172.25.0.81 F6406C95-2597-46DC-8576-4066F6E8B311 60
Совет:

После прохождения всех шагов рекомендуем проверить корректность подключения к серверу по SSH с аутентификацией через Blitz IDP.