CertificateValidator.json (Настройки сертификатов для U2F)

Примечание. Описание основных настроек U2F содержатся в разделах «Секция U2fSettings», с. 149 и «Секция TFLSettings», с. 150.

Рис. 94 – Пример содержимого файла CertificateValidator.json

Табл. 31 – Настройки проверки аттестационных сертификатов U2F-устройств

Имя настройки

Описание

VerificationFlags

Выбор флагов детальной настройки проверки сертификатов (для ясности ниже приведен графический интерфейс настройки проверки сертификата из предыдущей версии продукта –  JAS 3.7.1, см. Рис. 95, с. 139).

Каждый флаг соответствует одному элементу набора атрибутов System.Security.Cryptography.X509Certificates.X509VerificationFlags платформы .NET компании Microsoft, см. Табл. 32, с. 139 (подробное описание атрибутов содержится  в документации Microsoft, см. веб-ресурс [1], с. 156).

Примечание. Для выполнения проверки аттестационного сертификата U2F-устройства корневые и дочерние сертификаты должны быть предварительно загружены в хранилище сертификатов

При необходимости выбора нескольких флагов, их можно указать через знак конвейера «|».

Доступные значения:

·   AllFlags – установить все флаги

·   NoFlag – сбросить все флаги

·   IgnoreNotTimeValid           — Игнорировать истекшее время при проверке

·   IgnoreCtlNotTimeValid      — Игнорировать списки CTL с истекшим временем

·   IgnoreNotTimeNested       — Игнорировать временную вложенность сертификатов

·   IgnoreInvalidBasicConstraints           — Игнорировать базовые ограничения проверки

·   AllowUnknownCertificateAuthority  — Игнорировать неизвестные центры сертификации

·   IgnoreWrongUsage            — Игнорировать недопустимый тип использования сертификата

·   IgnoreInvalidName            — Игнорировать недопустимое имя при проверке

·   IgnoreInvalidPolicy             — Игнорировать недопустимые политики при проверке

·   IgnoreEndRevocationUnknown         — Игнорировать, что отзыв конечного сертификата неизвестен

·   IgnoreCtlSignerRevocationUnknown                — Игнорировать, что отзыв подписчика сертификата неизвестен

·   IgnoreCertificateAuthorityRevocationUnknown              — Игнорировать неизвестные отзывы центров сертификации

·   IgnoreRootRevocationUnknown       — Игнорировать неизвестный отзыв корневого сертификата

RevocationMode

Проверка отзыва сертификатов.

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

Параметр предлагает 3 варианта настройки:

·   NoCheck – Не проверять

·   Online – проверять сертификат в интерактивном режиме

·   Offline – проверять сертификат на основе загруженных списков отзывов сертификатов

RevocationFlag

Проверять на отзыв.

Параметр определяет необходимость и способ проверки на отзыв цепочки сертификатов.

Предлагается 3 варианта настройки:

·   EndCertificateOnly – (Конечный сертификат) – выполняется проверка на отзыв только аттестационного сертификата U2F-устройства;

·   EntireChain – (Всю цепочку) – выполняется проверка на отзыв цепочки сертификатов;

·   ExcludeRoot – (Всю цепочку, кроме корневого)  – выполняется проверка на отзыв всех сертификатов в цепочке, кроме корневого

RegistrationCertificateValidationMode

Проверка сертификатов при регистрации

Настройка проверки аттестационных сертификатов U2F-устройства в процессе регистрации U2F-аутентификатора.

Допустимые значения:

·   Off(Отключена) – проверка аттестационного сертификата не выполняется

·   DateOnlyПроверять только срок действия сертификата

·   ExtendedVerification(Расширенные параметры проверки) – производится проверка сертификата в соответствии с полями окна расширенной проверки (см. Рис. 95, с. 139).

VerifyOnCertificates

Флаг, устанавливающий необходимость проверять аттестационный сертификат с использованием списка загруженных доверенных сертификата альянса FIDO

Допустимые значения: true/false

Примечания:

1.        Проверка с использованием списка доверенных FIDO-сертификатов заключается в проверке наличия аттестационного сертификата U2F-устройства в этом списке.

2.        Доверенные FIDO-сертификаты должны быть предварительно загружены в БД JMS. Управление доверенными FIDO-сертификатами осуществляется путем обращения к соответствующему API посредством протокола http согласно разделу  «Приложение 4. Команды управления доверенными сертификатами альянса FIDO», с. 152.

3.        Настройки параметров VerificationFlags, RevocationMode и RevocationFlag (описаны выше) не распространяются на проверку с помощью списка доверенных FIDO-сертификатов

VerifyDateOnAuthentication

Проверка сертификатов при аутентификации

Настройка проверки аттестационных сертификатов U2F-устройства в процессе аутентификации с использование U2F-аутентификатора.

Допустимые значения:

·   false – (Отключена) – проверка аттестационного сертификата не выполняется

·   true – Проверять только срок действия сертификата

Рис. 95 – Интерфейс настройки проверки сертификата в предыдущей версии продукта JMS (графический интерфейс серверного агента JAS v3.7.1)

Табл. 32 – Настройки исключений проверок сертификата

Атрибут X509VerificationFlags платформы .NET

Флаг исключения проверки сертификата

IgnoreNotTimeValid

Игнорировать истекшее время при проверке

IgnoreCtlNotTimeValid

Игнорировать списки CTL с истекшим временем

IgnoreNotTimeNested

Игнорировать временную вложенность сертификатов

IgnoreInvalidBasicConstraints

Игнорировать базовые ограничения проверки

AllowUnknownCertificateAuthority

Игнорировать неизвестные центры сертификации

IgnoreWrongUsage

Игнорировать недопустимый тип использования сертификата

IgnoreInvalidName

Игнорировать недопустимое имя при проверке

IgnoreInvalidPolicy

Игнорировать недопустимые политики при проверке

IgnoreEndRevocationUnknown

Игнорировать, что отзыв конечного сертификата неизвестен

IgnoreCtlSignerRevocationUnknown

Игнорировать, что отзыв подписчика сертификата неизвестен

IgnoreCertificateAuthorityRevocationUnknown

Игнорировать неизвестные отзывы центров сертификации

IgnoreRootRevocationUnknown

Игнорировать неизвестный отзыв корневого сертификата

JournalingManager.json

Рис. 96 – Пример содержимого файла JournalingManager.json

Табл. 33 – Настройки журналирования JAS

Имя настройки

Описание

SQLAuthEventLogLevel

Настройки записи событий аутентификации в журнал JMS (значения: None – отключено, ErrorOnly – только ошибки, All – полное логирование)

SQLFailAuthOnError

Аутентифицировать/не аутентифицировать при ошибке записи в журнал JMS  (значения: true/false)

SyslogAuthEventLogLevel

Настройки записи событий аутентификации в журнал Syslog  (значения: None – отключено, ErrorOnly – только ошибки, All – полное логирование)

SyslogFailAuthOnError

Аутентифицировать/не аутентифицировать при ошибке записи в журнал Syslog (значения: true/false)

NotificationManager.json

Так как настройки Offline- и HTTP-транспорта заметно различаются между собой, реализована отдельная команда для выгрузки шаблонов конфигурации профилей транспорта. Данные шаблоны являются частью файла NotificationManager.json.

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

Параметры offline-транспорта:

Рис. 97 – Пример содержимого профиля offline-транспорта

Табл. 34 – Настройка Offline-транспорта сообщений

Имя настройки

Описание

Type

Тип доставки сообщения. Значение: "Offline"

NotificationsDir

Имя папки директории для сохранения сообщений для Offline-профиля.

Значение по умолчанию: "/var/log/aladdin/jas-engine/sms"

Name

Название профиля.

Значение по умолчанию: "Профиль Offline транспорта"

SenderId

Отправитель.

Следует указать имя отправителя. (Предназначено для отражения в сообщении пользователю). По умолчанию указано пустое значение.

ContentFormat

Формат сообщения.

Формат строки сообщения, предназначенного для дальнейшей отправки пользователю. Содержит зарезервированные переменные, которые будут заменены при отправке данного сообщения:

·   {otp} – сгенерированный одноразовый пароль;

·   {systemid} – идентификатор внешней системы;

·   {username} – имя пользователя;

·   {externaltext} – строка, передаваемая внешней системой.

Формат сообщения по умолчанию:

OTP={otp}, SystemId={systemid}, UserName={username}, AdditionalInfo={externaltext}

(Для ясности ниже приведен графический интерфейс предыдущей версии продукта –  JAS 3.7.1, см. Рис. 98, ниже)

Рис. 98 – Интерфейс настройки Offline-профиля в предыдущей версии продукта JMS (графический интерфейс серверного агента JAS v3.7.

Параметры http-транспорта:

Рис. 99 – Пример содержимого профиля http-транспорта

Табл. 35 – Настройка http-транспорта сообщений

Имя настройки

Описание

SecurityType

Тип аутентификации по HTTP-соединению

Допустимые значения:

·   None – анонимная (по умолчанию)

·   Basic

QueryParamsFormat

Формат параметров URL-запроса.

Строка, задающая формат передаваемых параметров к SMS-шлюзу. Для HTTP-запроса типа GET это формат фрагмента URI-строки, для запроса типа POST – это содержимое тела запроса. Строка содержит зарезервированные переменные, которые будут заменены при отправке сообщения:

·   {username} – имя пользователя;

·   {password} – пароль пользователя;

·   {encoding} – кодировка;

·   {sender} – идентификатор отправителя;

·   {message} – отправляемое сообщение;

·   {phonelist} – список телефонных номеров (разделены запятыми), на которые будет отправлено сообщение;

·   {phone} – телефонный номер, на который будет отправлено сообщение;

Пример формата параметров запроса: login={username}&psw={password}&charset={encoding}&phones={phonelist}&mes={message}&sender={sender}

MethodType

Метод http запроса.

Имя метода, используемого в HTTP-запросе, который отправляется на SMS-шлюз. Доступные значения:

·   GET

·   POST

ContentType

Тип содержимого (тип содержимого в теле HTTP-запроса).

Доступные значения:

·   text/plain

·   text/html

·   text/xml

·   application/xml

·   application/json

·   application/x-www-form-urlencoded

Этот параметр доступен только при запросах типа POST (см. поле Тип запроса).

AcceptType

Заголовок Accept.

Доступные значения:

·   */*

·   text/plain

·   text/html

·   text/xml

·   application/xml

·   application/json

·   application/x-www-form-urlencoded

ResponseSuccessString

Строка положительного ответа.

Строка, вхождение которой в ответ от SMS-шлюза означает, что передача сообщения завершилась успешно

ResponseSuccessHttpCode

Http код положительного ответа (например, 200)

UseMD5Password

Хэш MD5

Признак использования хэша MD5 от пароля при передаче

Допустимые значения:

·   true

·   false

UseAuthorizationHeader

Отправлять логин/пароль в заголовке Authorization.

Допустимые значения:

·   true

·   false

Timeout

Таймаут соединения

ReadWriteTimeout

Таймаут ожидания ответа

Type

Тип доставки сообщения. Значение: Http

Address

Адрес сервиса отправки сообщений.

Адрес (URL-строка) для отправки HTTP-запросов на рассылку SMS-сообщения

Username

Логин (в сервисе отправки сообщений).

Имя пользователя учетной записи коммерческого SMS-шлюза

Password

Пароль (в сервисе отправки сообщений)

MessageEncoding

Кодировка отправляемого сообщения.

Допустимые значения:

·   windows-1251

·   utf-8

·   koi8-r

Name

Название профиля транспорта.

Значение по умолчанию: Профиль HTTP транспорта

SenderId

Отправитель.

Идентификатор отправителя – имя, которое будет указано в качестве отправителя сообщения. В общем случае это имя регистрируется у операторов связи (должно соответствовать имени отправителя в настройках учетной записи пользователя коммерческого SMS-шлюза)

ContentFormat

Формат сообщения.

Формат строки сообщения, отправляемого через SMS-шлюз. Содержит зарезервированные переменные, которые будут заменены при отправке данного сообщения:

·   {otp} – сгенерированный одноразовый пароль;

·   {systemid} – идентификатор внешней системы;

·   {username} – имя пользователя;

·   {externaltext} – строка, передаваемая внешней системой.

Для редактирования формата нажмите  .

Формат сообщения по умолчанию:

OTP={otp}, SystemId={systemid}, UserName={username}, AdditionalInfo={externaltext}

(Для ясности ниже приведен графический интерфейс предыдущей версии продукта –  JAS 3.7.1, см. Рис. 100, с.145)

Рис. 100 – Интерфейс настройки Messaging-транспорта (в частности HTTP) в предыдущей версии продукта JMS (графический интерфейс серверного агента JAS v3.7.1)

Пример рабочего конфигурационного файла транспорта HTTP:

{
 
  "ActiveProfileName": "Профиль Http-транспорта",
 
  "Profiles": [
 
    {
 
      "$type": "Aladdin.JAS.Common.SmsProviderProfile.HttpSmsProviderProfile, Aladdin.JAS.Common",
 
      "SecurityType": "None",
 
      "QueryParamsFormat": "phones={phonelist}&message={message}&login={username}&password={password}&customparameters={customparameters}",
 
      "MethodType": "GET",
 
      "ContentType": "application/json",
 
      "AcceptType": "application/json",
 
      "ResponseSuccessString": "",
 
      "ResponseSuccessHttpCode": 200,
 
      "UseMD5Password": false,
 
      "UseAuthorizationHeader": false,
 
      "Timeout": 60000,
 
      "ReadWriteTimeout": 120000,
 
      "Type": "Http",
 
      "Address": "http://192.168.10.13:8099/TestHttpSmsService/sendsms",
 
      "Username": "jas-sms",
 
      "Password": "71b5ec29-9998-4d40-97c1-582c68a6b228",
 
      "MessageEncoding": "utf-8",
 
      "Name": "Профиль Http-транспорта",
 
      "SenderId": "Sender",
 
      "ContentFormat": "OTP={otp}, SystemId={systemid}, UserName={username}, AdditionalInfo={externaltext}"
 
    },
 
  ],
 
  "MessageQueueSize": 10000,
 
  "StopTimeout": 1000,
 
  "Enabled": true,
 
  "RetryCount": 3
 
}

SyslogManager.json

SyslogManager.json – настройка подключения к Syslog

Рис. 101 – Пример содержимого файла SyslogManager.json

Табл. 36 – Настройки Syslog

Имя настройки

Описание

Server

Адрес сервера Syslog

IP-адрес или полное доменное имя (FQDN) Syslog-сервера.

Port

Порт сервера Syslog (в зависимости от настроек сервера Syslog, по умолчанию 514)

RfcVersion

Версия RFC.

Выберите спецификацию Syslog для работы с сервером.

Допустимые значения:

·   RFC 5424 (по умолчанию)

·   RFC 3164

UseEncryption

Использовать защищенное соединение.

Установите флаг, если для связи с Syslog-сервером необходимо использовать защищенное (SSL/TLS) соединение.

Допустимые значения:

·   true

·   false

Настройка актуальна только при использовании протокола TCP.

Protocol

Протокол отправки сообщений syslog

Выберите протокол транспортного уровня для работы с Syslog.

Допустимые значения:

·   TCP (по умолчанию)

·   UDP

AppName

Наименование приложения

Текстовый идентификатор приложения (используется в выходных данных Syslog для идентификации приложения)

Значение по умолчанию: JAS

MessageTransfer

Метод фрейминга для syslog сообщений.

Метод определения границ сообщения в случае, если одновременно посылается несколько сообщений

Допустимые значения:

·   OctetCounting (по умолчанию) – в начале каждого Syslog-сообщения устанавливается его длина для определения границ сообщения;

·   NonTransparentFraming – сообщения могут разделяться следующими символами: ASCII LF, ASCII NUL или последовательностью символов CR и LF

Примечание. Для ясности ниже приведен графический интерфейс настройки Syslog предыдущей версии продукта – JAS 3.7.1, Рис. 102).

Рис. 102 – Интерфейс настройки Syslog в предыдущей версии продукта JMS (графический интерфейс серверного агента JAS v3.7.1)

BusinessLogic.json

BusinessLogic.json – настройка поведения бизнес-логики.

Рис. 103 – Пример содержимого файла BusinessLogic.json

Секция OtpTokenConfigPreferenses

                Табл. 37 – Настройки аутентификации

Имя настройки

Описание

MaxAuthFailCount

Максимальное количество неудачных попыток аутентификации (для OTP-токенов).

Количество попыток аутентификации пользователя при вводе им неверного одноразового пароля, после которых все OTP-токены данного пользователя будут заблокированы.

Примечания:

1.        Значение параметра является централизованным для JMS и действует на все OTP-токены независимо от момента их выпуска.

2.        Для каждого OTP-токена пользователя ведется отдельный счетчик оставшихся попыток аутентификации, значение которых одновременно уменьшается на единицу при каждой попытке аутентификации данным пользователем с неверным одноразовым паролем. В случае если у одного из OTP-токенов, принадлежащих пользователю, обнуляется число попыток аутентификации, то блокируются (т.е. приобретают статус Отключен c причиной блокировки Попытка перебора) все остальные OTP-токены, принадлежащие данному пользователю. Для разблокировки OTP-токенов следует выполнить операцию включения отдельно для каждого из токенов пользователя (см. раздел «Включение и отключение OTP-токена» в руководстве по функциям управления JMS, [3]).

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

Значение по умолчанию – 100.

PushMaxAuthFailCount

Максимальное количество неудачных попыток аутентификации (для Push-токенов), число попыток до блокировки токена.

Правила ограничения аналогичны правилам для параметра MaxAuthFailCount (выше).

Примечание. Под "неудачными попытками аутентификации" в случае Push-токенов понимается потенциальная злонамеренная эмуляция Push-приложения с попытками перебора OTP-секрета.

Значение по умолчанию – 100.

MessagingMaxAuthFailCount

Максимальное количество неудачных попыток аутентификации (для Messaging-токенов), число попыток до блокировки токена.

Правила ограничения аналогичны правилам для параметра MaxAuthFailCount (выше), за исключением условия блокировки всех Messaging-токенов пользователя: блокировка выполняется только для того токена, по которому было превышено число попыток аутентификации.

Значение по умолчанию – 100.

Примечание. Для ясности ниже приведен графический интерфейс настройки Syslog предыдущей версии продукта – JAS 3.7.1, Рис. 104).

Рис. 104 – Интерфейс настройки аутентификации в предыдущей версии продукта JMS (графический интерфейс серверного агента JAS v3.7.1)

Секция U2fSettings

Табл. 38 – Настройки U2F

Имя настройки

Описание

U2fContextExpiredCheckPeriod

Таймаут аутентификации по контексту в миллисекундах.

Примечание. Создание контекста (операционной среды сеанса аутентификации) является промежуточным шагом при аутентификации по U2F. При стандартных условиях эксплуатации параметр не требует изменения значения по умолчанию.

Значение по умолчанию: 60000

RegistrationTimeoutMsec

Максимальное время регистрации (мс).

Максимальное время (в миллисекундах), в течение которого начатая процедура регистрации может быть завершена успешно. Если в течение данного времени начатая процедура регистрации не завершилась, то она считается устаревшей и заканчивается с ошибкой (регистрация не выполняется). Сообщение об ошибке записывается в журналы BusinessLogic.log, Engine.log.

Значение по умолчанию: 60000

AutenticationTimeoutMsec

Максимальное время аутентификации (мс).

Максимальное время (в миллисекундах), в течение которого начатая процедура аутентификации может быть завершена успешно. Если в течение данного времени начатая процедура аутентификации не завершилась, то она считается устаревшей и заканчивается с ошибкой (аутентификация не выполняется). Сообщение об ошибке записывается в журналы BusinessLogic.log, Engine.log.

Значение по умолчанию: 60000

MaxConcurrentAutentications

Максимальное количество одновременных аутентификаций по токену.

(Максимальное количество одновременных аутентификаций по одному U2F-аутентификатору.)

Значение по умолчанию: 100

Примечание. Для ясности ниже приведен графический интерфейс настройки Syslog предыдущей версии продукта – JAS 3.7.1, Рис. 105).

Рис. 105 – Интерфейс настройки U2F в предыдущей версии продукта JMS (графический интерфейс серверного агента JAS v3.7.1)

Секция TFLSettings

В данной секции настройки определяют "правила валидации" FacetId при аутентификации по U2F с использованием серверов TFL (Trusted Facet List). Подробнее см. соответствующую спецификацию U2F, https://fidoalliance.org/specs/fido-u2f-v1.0-ps-20141009/fido-appid-and-facets-ps-20141009.html, а также web-ресурс со спецификациями FIDO [2].

Табл. 39 – Настройки секции TFLSettings

Имя настройки

Описание

PublicSuffixesUrl

Url-адрес для загрузки публичных суффиксов доменных имен.

EnableFacetValidation

Флаг включения проверки фасетов.

Допустимые значения:

·   true-проверка включена (значение по умолчанию),

·   false – проверка отключена

EnableContentTypeValidation

Флаг включения проверки соответствия MIME-типа ответного сообщения от сервера TFL.

Допустимые значения:

·   true-проверка включена (значение по умолчанию),

·   false – проверка отключена

PublicSuffixesDownloadTimeoutMsec

Таймаут ожидания загрузки публичных суффиксов (мс)

Значение по умолчанию: 1500

RegistrationTimeoutMsec

Таймаут ожидания ответа на HTTP-запрос (мс)

Значение по умолчанию: 1000

EnablePublicSuffixesDownload

Включить загрузку публичных суффиксов доменных имен по URL.

Допустимые значения:

·   true – включить загрузку,

·   false – отключить загрузку (значение по умолчанию)