Перейти к основному содержимому

Indeed AM SMS Proxy

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

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

Файлы для установки SMS Proxy расположены в папке Indeed AM <Номер версии>\Indeed AM SMS Proxy:

  • <Номер версии>\IndeedAM.Proxies.SMS-<номер версии>.x64.ru-ru.msi — пакет для установки Indeed AM SMS Proxy x64 версии;
  • <Номер версии>\IndeedAM.Proxies.SMS-<номер версии>.x86.ru-ru.msi — пакет для установки Indeed AM SMS Proxy x86 версии.

Предварительные требования

  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 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.