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

Indeed AM SMS Proxy

Indeed AM SMS Proxy (SMS Proxy) — это веб-приложение, которое работает на базе IIS. SMS Proxy напрямую подключается к SMPP-шлюзу и отправляет SMS, при этом Indeed AM Server не производит разрыв сессии с SMPP-шлюзом, и запросы отправляются в рамках одного подключения, а не в отдельных для каждого запроса.

Системные требования

  • Windows Server 2012 R2 и выше;
  • Internet Information Services 7.5 и выше со следующими модулями:
    • Веб-сервер (Web server);
    • Сжатие статического содержимого (Static Content Compression);
    • Ошибки HTTP (HTTP Errors);
    • Перенаправление HTTP (HTTP Redirection);
    • Проверка подлинности Windows (Windows Authentication);
    • Публикация WebDAV (WebDAV Publishing);
    • ASP.NET;
    • ASP;
    • Расширения ISAPI (ISAPI Extensions);
    • Фильтры ISAPI (ISAPI Filters);
    • Консоль управления службами IIS (IIS Management Console);
    • Сценарии и средства управления IIS (IIS Management Scripts and Tools);
    • Служба управления (Management Service).

Предварительная настройка

  1. Установите роль IIS на сервере, на котором вы планируете устанавливать SMS Proxy, одним из следующих способов:
    • откройте Диспетчер серверов, выберите Локальный сервер и во вкладке Управление нажмите Добавить роли и компоненты;
    • запустите скрипт \Misc\IISScripts\Indeed.Main.IIS.Install.MSServer.ps1.
  2. Установите .NET 6 через запуск dotnet-hosting-6.0.10-win.exe из папки Indeed AM <номер версии>/Indeed AM Idp дистрибутива.

Установка

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

Подготовка сертификата для SMS Proxy

В процессе установки модуля Indeed AM SMS Proxy по умолчанию включается требование SSL-сертификата, что, в свою очередь, требует настройки HTTPS.

Для запроса сертификата от доменного центра сертификации Windows на сервере Indeed AM SMS Proxy:

  1. Откройте диспетчер сертификатов certlm.msc.

  2. В каталоге Личное нажмите правой кнопкой мыши на Сертификаты и выберите Все задачи→Запросить новый сертификат.

  3. В окне Регистрация сертификатов нажмите Далее→Далее, выберите созданный ранее шаблон сертификата веб-сервера и нажмите Требуется больше данных для подачи заявки на этот сертификат.

  4. В появившемся окне Свойства сертификата добавьте следующие значения и нажмите OK:

    • Имя субъекта: в поле Тип укажите значение Общее имя, а в поле Значение — полное имя компьютера (Srv01.indeed.local) или сокращенное Srv01.
    • Дополнительное имя: в поле Тип укажите значение Служба DNS, а в поле Значение — полное имя компьютера (Srv01.indeed.local).
  5. Запустите Диспетчер служб IIS.

  6. Перейдите на страницу Srv01(INDEED\Admin-indeed)→Сайты→Default Web Site и в разделе Действия нажмите Привязки.

  7. Выберите строчку с https 443 и нажмите Изменить. В открывшемся окне Изменение привязки сайта в выпадающем списке SSL-сертификат выберите ваш сертификат и нажмите OK.

  8. Выберите строчку с http 80 и нажмите Удалить.

Информация

Теперь в браузере можно открыть стартовую страницу IIS по адресу: https://Srv01.indeed.local/

Редактирование конфигурационного файла

  1. Откройте конфигурационный файл app-settings.Production.json из папки C:\inetpub\wwwroot\am\proxies\sms.

  2. В секции Smpp заполните следующие параметры:

    • SystemId и Password — укажите данные аутентификации для подключения к серверу SMPP;
    • Host — укажите адрес подключения к серверу SMPP;
    • Port — укажите заданный порт для подключения к серверу SMPP;
    • SystemType — опциональный параметр входа в систему со стороны сервера SMPP, например, S1;
    • EsmeAddressTon — возможные значения: Unknown, International, National, NetworkSpecific, SubscriberNumber, Alphanumeric, Abbreviated;
    • EsmeAddressNpi — возможные значения: Unknown, ISDN, Data, Telex, LandMobile, National, Private, ERMES, IP;
    • LoggingPermissions — укажите параметр, отвечающий за отображение в логах информации об отправителе и получателе. Можно указатать значения через запятую. Возможные параметры:
      • Source— отправитель сообщения,
      • Destination— получатель сообщения,
      • None (значение по умолчанию) — скрываются значения всех логируемых полей,
      • All — показываются значения всех логируемых полей.
  3. Поле Publication включает опциональный параметр DefaultSource, содержащий имя отправителя в запросах, например, Indeed-AM.

  4. В поле Authentication": {"Certificate":} укажите отпечаток сертификата, по которому провайдер (SMS или Storage SMS) может быть аутентифицирован в SMS Proxy для отправки сообщений. По умолчанию используется конфигурация для аутентификации без сертификата "Certificate": {"Enabled": false, "Thumbprint": "" }.

    Примечание

    Рекомендуется сначала настроить систему без установки двустороннего TLS-соединения, то есть без использования сертификатов. При настройке политики SMS прокси оставьте значения отпечатков сертификатов пустыми.

  5. Чтобы применить изменения в файле app-settings.Production.json, перезапустите сервер IndeedAM.Core.proxies.sms.

Пример конфигурационного файла
{
"Smpp": {
"SystemId": "smppclient1",
"Password": "password",
"Host": "am1.indeed.local",
"Port": "2776",
"EsmeAddressTon": "International",
"EsmeAddressNpi": "ISDN",
"ReconnectionDelay": "00:02:00",
"LoggingPermissions": "Source"
},
"Publication": {
"DefaultSource": "Indeed-Id"
},
"Documentation": {
"Enabled": false
},
"Debug": {
"ExceptionResponsesEnabled": false
},
"Authentication": {
"Certificate": {
"Enabled": false,
"Thumbprint": "",
"ForwardingHeader": "Proxy-Client-Certificate"
}
},
"ReverseProxyIntegration": {
"BasePath": "/am/proxies/sms"
},
"Localization": {
"DefaultCulture": "ru-RU"
}
}

Выбор типа подключения

Информация

Перед настройкой групповой политики добавьте шаблоны политик Indeed AM в список административных шаблонов. Файлы шаблонов политик входят в состав дистрибутива SMS Proxy и расположены в каталоге Misc.

Политика Выбор типа подключения для провайдера применяется к серверам Indeed AM и предназначена для выбора Sender провайдера SMS OTP.

  1. Откройте политику Выбор типа подключения для провайдера. Политика расположена по следующему пути: Административные шаблоны→Indeed-ID→Id Providers→SMS OTP.
  2. Установите значение политики Включено.
  3. В параметрах выберите опцию SMS Прокси для SMS Proxy.

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

Политика применяется к серверам Indeed AM и определяет настройки для сервиса отправки SMS.

Включите политику Настройки SMS прокси и укажите необходимые параметры:

  • URL — адрес подключения к SMS Proxy. Например: https://am1.indeed.local/am/proxies/sms.
  • Отправитель — имя отправителя, которое будет отображаться при получении SMS.
  • Дополнительный текст перед отправкой OTP — произвольный текст сообщения, предшествующий одноразовому паролю.
  • Отпечаток сертификата клиента (необязательный параметр) — сертификат провайдера, указанный в настройках конфигурационного файла SMS Proxy app-settings.Production.json (поле Authentication": {"Certificate": {"Thumbprint": "" } }). Этот сертификат будет добавлен в список сертификатов клиента при запросе к SMS Proxy.
  • Отпечаток сертификата сервера — сертификат SMS Proxy для работы по протоколу HTTPS (настраивается в IIS).

Двустороннее TLS-соединение

Чтобы установить двустороннее TLS-соединение между серверами Indeed Core Server и Indeed AM SMS Proxy, выполните следующие действия:

  1. Для сервера SMS Proxy (сервер) сгенерируйте сертификат серверной аутентификации (по шаблону Веб-сервер).

  2. Для Core Server (клиент) сгенерируйте сертификат клиентской аутентификации (например, по шаблону Компьютер в доменном центре сертификации Windows).

    Для этого на машине с Core Server:

    а. Откройте диспетчер сертификатов certlm.msc.

    б. В каталоге Личное нажмите правой кнопкой мыши на Сертификаты и выберите Все задачи→Запросить новый сертификат.

    в. В окне Регистрация сертификатов нажмите Далее→Далее, выберите созданный ранее шаблон сертификата Компьютер.

  3. Экспортируйте в файл сертификат клиента и установите его на сервере SMS Proxy в Сертификаты компьютера→Личные.

  4. В конфигурационном файле SMS Proxy укажите следующие параметры.

    "Authentication": {
    "Certificate": {
    "Enabled": true,
    "Thumbprint": "отпечаток_сертификата_клиента"
    }
    }

    В таблице приведены возможные параметры для поля "Authentication": {"Certificate":}.

    ПараметрОписание
    Authentication:Certificate:EnabledПо умолчанию true. Включает использование двустороннего TLS-соединения
    Authentication:Certificate:ForwardingEnabledПо умолчанию true. Включает поддержку пересылки сертификата клиента от прокси сервера в HTTP-заголовке Authentication:Certificate:ForwardingHeader
    Authentication:Certificate:ForwardingHeaderОжидается закодированный Base64 сертификат. При интеграции с IIS вне процесса, сертификат передается в MS-ASPNETCORE-CLIENTCERT, который будет автоматически использован. Пример: Proxy-Client-Certificate
    Authentication:Certificate:ThumbprintПример: 380854EA27F2BAED041A941CAC73337E27D0BA6A
    Authentication:Certificate:RevocationModeПо умолчанию NoCheck. Возможные значения: NoCheck, Online, Offline
    Authentication:Certificate:ValidateCertificateUseПо умолчанию true. Определяет необходимость проверки EKU.
    Authentication:Certificate:ValidateValidityPeriodПо умолчанию true. Определяет необходимость проверки времени действия сертификата
  1. Добавьте отпечаток сертификата в политику Настройки SMS прокси на Core Sever.