Перейти к основному содержимому
Версия: Indeed Access Manager 8.2

Indeed AM Telegram Provider

Indeed AM Telegram Provider предназначен для аутентификации пользователей с применением следующих технологий:

  • одноразовые пароли;
  • push-уведомления с запросом подтвердить или отклонить вход.

Одноразовые пароли и push-уведомления пользователи получают через бота в мессенджере Telegram.

Telegram Provider может быть использован для аутентификации в следующих модулях:

Примечание

Для работы компонента требуется доступ к серверам Telegram для сервисной службы и для провайдера.

Идентификатор провайдера

{CA4645CC-5896-485E-A6CA-011FCC20DF1D}

Файлы для установки

Файлы для Indeed Telegram OTP Provider расположены в папке indeed AM <Номер версии>\Indeed AM Providers\Indeed AM Telegram OTP Provider.

  • <Номер версии>\IndeedAM.AuthProviders.TelegramOTP-<номер версии>.x64.ru-ru.msi — пакет для установки Indeed AM Telegram Provider x64 версии;
  • <Номер версии>\IndeedAM.AuthProviders.TelegramOTP-<номер версии>.x86.ru-ru.msi — пакет для установки Indeed AM Telegram Provider x86 версии;
  • IndeedId.Telegram.Service-<номер версии>.x86.ru-ru.msi — пакет для установки службы для работы с ботом;
  • Misc\Reg — файл настройки сервиса отправки через реестр.

Файлы шаблонов политик расположены: indeed AM <номер версии>\Misc\ADMX Templates.

Установка

Установка сервисной службы

  1. Выполните установку службы AM Telegram Service через запуск соответствующего пакета.
  2. После завершения установки может потребоваться перезагрузка системы. Если программа установки предлагает выполнить перезагрузку, подтвердите данное действие.
  3. Удаление/Восстановление продукта осуществляется стандартным для поддерживаемых ОС способом, через меню Панель управления.

Установка провайдера

Выполните установку провайдера Telegram через запуск соответствующего пакета.

Важно

Если в инфраструктуре используется несколько серверов Indeed AM, то установку провайдера необходимо выполнить на всех серверах инфраструктуры. 

После завершения установки может потребоваться перезагрузка системы. Если программа установки предлагает выполнить перезагрузку, подтвердите данное действие.

Удаление/Восстановление продукта осуществляется стандартным для поддерживаемых ОС способом, через меню Панель управления.

Настройка атрибута с номером телефона

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

Для смены атрибута по умолчанию добавьте следующие параметры в конфигурационный файл сервера C:\inetpub\wwwroot\am\core\Web.config

  • тег userMapRules в теге adUserCatalogProvider;
  • тег adObjectMapRule в теге userMapRules с следующими параметрами:
    • attribute="Phone" — указывает на изменяемый параметр;
    • adAttribute="mobile" — указывает, из какого атрибута Active Directory брать значение;
  • тег objectTypeSettings;
  • тег objectSetting с параметрами category="person" class="user".
Пример
<adUserCatalogProvider id="userId" serverName="ind.loc" containerPath="DC=ind,DC=loc" userName="userAdmin" password="Q1q2E3e4">
<userMapRules>
<adObjectMapRule attribute="Phone" adAttribute="mobile"/>
<objectTypeSettings>
<objectSetting category="person" class="user"></objectSetting>
</objectTypeSettings>
</userMapRules>
</adUserCatalogProvider>

Создание бота

  1. Откройте приложение Telegram, найдите специального бота @botfather и откройте диалог с ботом.

  2. Нажмите Start и введите команду /newbot.

  3. Укажите имя создаваемого бота, данное название будет отображаться в окне диалога с ботом. Введите любое имя, например IndeedOTP.

  4. Укажите имя пользователя для аккаунта с ботом с bot в конце, данное имя пользователя используется для ссылок на него. Введите любое имя, например IndeedOTP_bot.

  5. В случае успешной регистрации отобразится токен для доступа к API. Данный токен потребуется для настройки службы AM Telegram Service и сервиса отправки сообщений.

Настройка службы

  1. Откройте конфигурационный файл службы AM.Telegram.Service.exe.config, папка C:\Program Files (x86)\Indeed-Id\Indeed-Id Telegram Service.

    Совет

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

  2. В атрибутах value для соответствующих атрибутов key укажите необходимые значения:

    • culture — язык локализации, поддерживается русский и английский. Значение по умолчанию — ru-RU;

    • EAWebAPIURL — URL-адрес сервера Indeed AM;

    • username — имя сервисного пользователя, обладающего правами администратора Indeed, от имени которого будет осуществляться регистрация аутентификаторов;

    • password — пароль сервисного пользователя;

    • lognames — формат логирования имен пользователей. Значение по умолчанию — Name

      Поддерживаемые форматы:

      • Id — идентификатор пользователя в системе Indeed AM в формате rootUserCatalogProviderId_Guid;

      • Name — значение атрибута name из Active Directory;

      • CanonicalName — имя пользователя в формате Canonical-Name (myserver.demo.local/users/UserName);

      • PrincipalName — значение атрибута userPrincipalName из Active Directory;

      • SamCompatibleName — имя пользователя в формате domainName\UserName

      • DistinguishedName — значение атрибута distinguishedName из Active Directory;

      • Sid — значение атрибута objectSid из Active Directory;

      • Email — значение атрибута mail из Active Directory или значение, указанное в конфигурационном файле сервера;

      • Phone — значение атрибута telephoneNumber из Active Directory или значение, указанное в конфигурационном файле сервера.

        Пример
        <add key="lognames" value="PrincipalName,Sid" />
    • botId — токен, полученный при создании бота в Telegram.

      Пример
      <appSettings>
      <add key="culture" value="ru-RU" />
      <add key="EAWebAPIURL" value="https://server.indeed.local/am/core/" />
      <add key="username" value="telegram@indeed.local" />
      <add key="password" value="Q1q2E3e4" />
      <add key="lognames" value="Name" />
      <add key="botId" value="1156320278:AAG24_EODMotm_feYYQOfbPddK_2Z_JDiKQ" />
      </appSettings>
  3. Задайте URL для подключения к лог серверу. Измените тег logServer.

    • URL — url для подключения к log серверу в формате http(s)://полноеdnsимя_сервера/ls/api;

    • CertificateThumbprint — если закрытый ключ в реестре, а сертификат в хранилище компьютера;

    • CertificateFilePath — если ключевая пара в pfx;

    • CertificateFilePassword — пароль от pfx.

      Пример
      <logServer Url="https://logserver.indeed.local/ls/api/" CertificateThumbprint="" CertificateFilePath="" CertificateFilePassword="" />
  4. Запустите службу AM Telegram Service.

    Важно!

    Если вы используете несколько серверов Indeed AM, одновременно вы можете запустить только одну службу на одном из серверов.

Регистрация аутентификатора

Примечание

При регистрации провайдера пользователь получить запрос номера телефона из аккаунта Telegram. Необходимо, чтобы номер телефона пользователя в AD полностью соответствовал и был одного формата. Поддерживаемые форматы: +7xxxxxxxxxx или 8xxxxxxxxxx.

  1. Откройте чат с созданным ботом и нажмите Start.

  2. Введите команду /register. После ввода команды предоставьте боту номер телефона аккаунта Telegram.

  3. При успешной регистрации аутентификатора отобразится сообщение Вы были успешно зарегистрированы.

Настройка сервиса отправки и шаблона сообщения

Чтобы настроить сервис отправки и шаблон сообщения, выполните следующее:

  1. В Management Console в разделе Конфигурация→Аутентификаторы из списка выберите аутентификатор Telegram.
  2. В секции Настройки бота выполните следующие настройки:
    • В поле Идентификатор бота укажите токен, полученный при создании бота в Telegram;
    • В поле Шаблон для сообщения настройте вид сообщения. Сообщение может содержать одноразовый код для входа в приложение, название приложения, имя пользователя, дата и время входа, IP-адрес компьютера, с которого выполняется вход.

Настройка прокси

Чтобы настроить работу Telegram Provider через прокси, выполните следующие действия:

  1. В Management Console в разделе Конфигурация→Аутентификаторы из списка выберите аутентификатор Telegram.
  2. В секции Настройки бота выполните следующие настройки:
    • В настройке Использовать прокси выберите Да. По умолчанию выбрано Нет;
    • В поле Адрес прокси укажите адрес прокси-сервера.

Настройка одноразового пароля

Настройки применяются к серверам Indeed AM и позволяет задать длину и вхождение групп символов при генерации одноразового пароля.

Чтобы настроить генерацию одноразового пароля, выполните следующее:

  1. В Management Console в разделе Конфигурация→Аутентификаторы из списка выберите аутентификатор Telegram.
  2. В секции Настройки генерации одноразового пароля выполните следующие настройки:
    • В поле Длина одноразового пароля укажите, сколько символов будет содержать одноразовый пароль;
    • В настройке Цифры укажите, будет ли одноразовый пароль содержать цифры;
    • В настройке Строчные латинские буквы укажите, будет ли одноразовый пароль содержать строчные латинские буквы;
    • В настройке Прописные латинские буквы укажите, будет ли одноразовый пароль содержать прописные латинские буквы;
    • В настройке Специальные символы укажите, будет ли одноразовый пароль содержать специальные символы.

Защита от спама

Осуществляется оценка процента успешных входов относительно всех отправленных сообщений за указанный интервал времени (оценка осуществляется только если количество отправленных сообщений превышает Окно оценки).

При обнаружении атаки блокируется дальнейшая отправка сообщений, при попытке входа возникает ошибка Potential spam attack detected.

Отправка возобновится спустя некоторое время, когда будет превышен необходимый порог успешных входов за указанный интервал времени. Максимальное время блокировки равно временному интервалу оценки. 

Чтобы настроить защиту от спама, выполните следующее:

  1. В Management Console в разделе Конфигурация→Аутентификаторы из списка выберите аутентификатор Telegram.
  2. В секции Настройки защиты от спама выполните следующие настройки:
    • включите или отключите защиту от спама;
    • в поле Окно оценки попыток аутентификации укажите, в течение какого времени будет выполняться расчет процента успешных попыток входа;
    • в поле Пороговое окно попыток аутентификации укажите, сколько попыток входа должно производиться за время, указанное в окне оценки попыток аутентификации;
    • в поле Процент успешных попыток аутентификации укажите минимальный процент успешных входов относительно всех отправленных сообщений.
Информация

События лог-сервера:

  • 2090: Обнаружена потенциальная спам-атака. Отправка сообщений приостановлена.

  • 1118: Отправка сообщений пользователям возобновлена.