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 версии.
Предварительные требования
- Установите роль IIS на сервере, на котором вы планируете устанавливать SMS Proxy, одним из следующих способов:
- откройте Диспетчер серверов, выберите Локальный сервер и во вкладке Управление нажмите Добавить роли и компоненты;
- запустите скрипт \Misc\IISScripts\Indeed.Main.IIS.Install.MSServer.ps1.
- Установите .NET 6 через запуск dotnet-hosting-6.0.10-win.exe из папки Indeed AM <номер версии>/Indeed AM Idp дистрибутива.
Установка
- Выполните установку Indeed AM SMS Proxy через запуск соответствующего пакета.
- После завершения установки может потребоваться перезагрузка системы. Если программа установки предлагает выполнить перезагрузку, подтвердите данное действие.
- Удаление/Восстановление продукта осуществляется стандартным для поддерживаемых ОС способом через меню Панель управления.
Подготовка сертификата для SMS Proxy
В процессе установки модуля Indeed AM SMS Proxy по умолчанию включается требование SSL-сертификата, что, в свою очередь, требует настройки HTTPS.
Для запроса сертификата от доменного центра сертификации Windows на сервере Indeed AM SMS Proxy:
Откройте диспетчер сертификатов certlm.msc.
В каталоге Личное нажмите правой кнопкой мыши на Сертификаты и выберите Все задачи→Запросить новый сертификат.
В окне Регистрация сертификатов нажмите Далее→Далее, выберите созданный ранее шаблон сертификата веб-сервера и нажмите Требуется больше данных для подачи заявки на этот сертификат.
В появившемся окне Свойства сертификата добавьте следующие значения и нажмите OK:
- Имя субъекта: в поле Тип укажите значение Общее имя, а в поле Значение — полное имя компьютера (Srv01.indeed.local) или сокращенное Srv01.
- Дополнительное имя: в поле Тип укажите значение Служба DNS, а в поле Значение — полное имя компьютера (Srv01.indeed.local).
Запустите Диспетчер служб IIS.
Перейдите на страницу Srv01(INDEED\Admin-indeed)→Сайты→Default Web Site и в разделе Действия нажмите Привязки.
Выберите строчку с https 443 и нажмите Изменить. В открывшемся окне Изменение привязки сайта в выпадающем списке SSL-сертификат выберите ваш сертификат и нажмите OK.
Выберите строчку с http 80 и нажмите Удалить.
Теперь в браузере можно открыть стартовую страницу IIS по адресу: https://Srv01.indeed.local/
Редактирование конфигурационного файла
Откройте конфигурационный файл app-settings.Production.json из папки C:\inetpub\wwwroot\am\proxies\sms.
В секции
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
— показываются значения всех логируемых полей.
Поле
Publication
включает опциональный параметрDefaultSource
, содержащий имя отправителя в запросах, например, Indeed-AM.В поле
Authentication": {"Certificate":}
укажите отпечаток сертификата, по которому провайдер (SMS или Storage SMS) может быть аутентифицирован в SMS Proxy для отправки сообщений. По умолчанию используется конфигурация для аутентификации без сертификата"Certificate": {"Enabled": false, "Thumbprint": "" }
.ПримечаниеРекомендуется сначала настроить систему без установки двустороннего TLS-соединения, то есть без использования сертификатов. При настройке политики SMS прокси оставьте значения отпечатков сертификатов пустыми.
Чтобы применить изменения в файле 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.
- Через GPO
- В реестре
Политика Выбор типа подключения для провайдера применяется к серверам Indeed AM и предназначена для выбора Sender провайдера SMS OTP.
- Откройте политику Выбор типа подключения для провайдера. Политика расположена по следующему пути: Административные шаблоны→Indeed-ID→Id Providers→SMS OTP.
- Установите значение политики Включено.
- В параметрах выберите опцию SMS Прокси для SMS Proxy.
- Откройте редактор реестра на сервере Indeed AM.
- Откройте раздел HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Indeed-ID\BSPs\SMSOTP.
- Создайте параметр SmsSenderType с типом DWORD со значением 5.
Настройки SMS прокси
- Через GPO
- В реестре
Политика применяется к серверам 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).
- Откройте редактор реестра на сервере Indeed AM.
- Откройте раздел HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Indeed-ID\BSPs\SMSOTP\SMSProxy.
- Создайте следующие параметры:
- ServerUrl — адрес подключения к SMS Proxy. Например: https://am1.indeed.local/am/proxies/sms.
- From (REG_SZ) — имя отправителя, которое будет отображаться при получении сообщения.
- messageOTP (REG_SZ) — произвольный текст сообщения, предшествующий одноразовому паролю.
- ClientCertificateThumbprint (REG_SZ) — сертификат провайдера, указанный в настройках конфигурационного файла SMS Proxy app-settings.Production.json (поле
Authentication": {"Certificate": {"Thumbprint": "" } }
). - ServerCertificateThumbprint (REG-SZ) — сертификат SMS Proxy для работы по протоколу HTTPS (настраивается в IIS).
Двустороннее TLS-соединение
Чтобы установить двустороннее TLS-соединение между серверами Indeed Core Server и Indeed AM SMS Proxy, выполните следующие действия:
Для сервера SMS Proxy (сервер) сгенерируйте сертификат серверной аутентификации (по шаблону Веб-сервер).
Для Core Server (клиент) сгенерируйте сертификат клиентской аутентификации (например, по шаблону Компьютер в доменном центре сертификации Windows).
Для этого на машине с Core Server:
а. Откройте диспетчер сертификатов certlm.msc.
б. В каталоге Личное нажмите правой кнопкой мыши на Сертификаты и выберите Все задачи→Запросить новый сертификат.
в. В окне Регистрация сертификатов нажмите Далее→Далее, выберите созданный ранее шаблон сертификата Компьютер.
Экспортируйте в файл сертификат клиента и установите его на сервере SMS Proxy в Сертификаты компьютера→Личные.
В конфигурационном файле 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
. Определяет необходимость проверки времени действия сертификата
- Добавьте отпечаток сертификата в политику Настройки SMS прокси на Core Sever.