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

Конфигурация

Конфигурация — файл /etc/sspr/config.yaml в формате YAML. Пример со всеми разделами ставится вместе с пакетом: /usr/share/doc/sspr/config.example.yaml. Изменения применяются после перезапуска службы: systemctl restart sspr.

Оформление, напоминания, словарь, защита от перебора и настройки восстановления задаются в интерфейсе администратора и применяются сразу; в конфигурации для них остаются только каталоги хранения.

Длительности записываются с единицей: 30s, 15m, 1h. Пустое значение по умолчанию означает, что параметр не задан.

ПараметрТипПо умолчаниюОписание
listenстрока127.0.0.1:8080Адрес и порт, на которых портал принимает запросы от терминатора TLS.
trusted_proxiesсписок—Сети терминатора TLS или балансировщика перед порталом. Только от этих адресов принимается заголовок X-Forwarded-For с адресом сотрудника. Пусто — адресом клиента считается адрес прямого подключения.

Внешние страницы, которые видят сотрудники.

ПараметрТипПо умолчаниюОписание
web.brand_nameстрокаActive DirectoryНазвание каталога в текстах портала, например «Ромашка» в «учётная запись Ромашка».
web.support_urlстрока—Ссылка на ИТ-поддержку в подвале портала и в уведомлениях. Пусто — ссылки нет.
web.public_urlстрока—Адрес портала, как его видит сотрудник, например https://pass.corp.ru. Используется в ссылках из напоминаний и для ключей безопасности (FIDO2).
web.secure_cookiesда/нетtrueCookie только по HTTPS. Выключать только на тестовом стенде без TLS.
web.password.min_lengthчисло12Минимальная длина нового пароля.
web.password.require_upperда/нетtrueТребовать заглавную букву.
web.password.require_lowerда/нетtrueТребовать строчную букву.
web.password.require_digitда/нетtrueТребовать цифру.
web.password.require_specialда/нетtrueТребовать специальный символ.
web.password.deny_contains_loginда/нетtrueЗапрещать пароль, содержащий логин.
web.theme.nameстрокаduskТема портала: strict («Строгий»), vista («Пейзаж»), dusk («Сумерки») или focus («Фокус»). Тема, выбранная в интерфейсе администратора, важнее этого значения.
web.theme.accentстрока—Акцентный цвет: имя пресета (grafit, petrol, sumerki, hvoya, kobalt, ultramarin, indigo, morskoy, stal, sliva) или свой цвет в формате #rrggbb. Пусто — цвет темы.
web.theme.dirстрока/var/lib/sspr/themeКаталог для оформления, заданного в интерфейсе администратора: тема, цвет, логотип, фото.

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

ПараметрТипПо умолчаниюОписание
admin.listenстрока—Адрес интерфейса администратора, например 127.0.0.1:8081. Пусто — интерфейс выключен.
admin.group_dnстрока—Группа каталога, участники которой — администраторы портала. Вложенные группы учитываются. Нужна group_dn или users.
admin.usersсписок—Логины администраторов. Дополняет group_dn, если группа задана.
admin.session_ttlдлительность15mСколько длится сеанс администратора без действий.
ПараметрТипПо умолчаниюОписание
observability.metrics_listenстрока127.0.0.1:9090Адрес метрик в формате Prometheus (GET /metrics). Не публикуйте его наружу.
observability.log_levelстрокаinfoПодробность журнала работы: debug, info, warn или error.
observability.log_formatстрокаjsonФормат журнала работы: json или text.
ПараметрТипПо умолчаниюОписание
license.key_fileстрока—Файл лицензионного ключа. Ключ, установленный в интерфейсе администратора, записывается сюда, поэтому файл должен быть доступен службе на запись. Пусто — ознакомительный режим.
license.public_keyстрока—Открытый ключ издателя лицензий. Пусто — встроенный в продукт; менять не требуется.
ПараметрТипПо умолчаниюОписание
audit.fileстрока/var/log/sspr/audit.jsonlФайл журнала аудита. Записи сцеплены хэшами, целостность проверяет команда sspr audit verify. Не подключайте к файлу внешний logrotate: ротацию ведёт продукт.
audit.syslogстрока—Копия журнала во внешнюю систему сбора (SIEM) по RFC 5424: tcp://siem:514, udp://siem:514 или siem:514 (TCP). Недоступность приёмника не мешает работе портала.
audit.rotate_mbчисло64Размер файла журнала в МБ, после которого начинается новый файл. -1 — без ротации.
audit.keep_filesчисло0Сколько закрытых файлов журнала хранить. 0 — все.

Письмо или СМС сотруднику о смене пароля, восстановлении доступа и снятии блокировки. Если действие выполнил не он, сотрудник узнает об этом сразу. В текстах доступны подстановки {name}, {login}, {event}, {time}, {ip}, {support}.

ПараметрТипПо умолчаниюОписание
notice.enabledда/нетtrueОтправлять уведомления.
notice.emailда/нетtrueУведомлять письмом на адрес из каталога. Требует smtp.
notice.smsда/нетfalseУведомлять СМС. Каждое уведомление — платное сообщение через шлюз заказчика.
notice.subjectстрока—Тема письма. Пусто — встроенный текст.
notice.bodyстрока—Текст письма. Пусто — встроенный текст.
notice.sms_textстрока—Текст СМС. Пусто — встроенный текст.

Почтовый сервер заказчика для кодов подтверждения, напоминаний и уведомлений. Оформление писем задаётся в интерфейсе администратора на странице «Почта».

ПараметрТипПо умолчаниюОписание
smtp.hostстрока—Адрес почтового сервера в виде host:port. Пусто — почта выключена, код на почту и почтовые напоминания недоступны.
smtp.fromстрока—Адрес отправителя.
smtp.usernameстрока—Имя для входа на почтовый сервер. Пусто — без авторизации.
smtp.passwordстрока—Пароль для входа на почтовый сервер.
smtp.starttlsда/нетfalseШифровать соединение (STARTTLS). Выключать только для внутреннего релея без TLS.
smtp.insecure_skip_verifyда/нетfalseНе проверять сертификат почтового сервера. Только для тестового стенда.

Что, кому и когда напоминать, задаётся в интерфейсе администратора на странице «Напоминания».

ПараметрТипПо умолчаниюОписание
remind.dirстрока/var/lib/sspr/remindКаталог для настроек напоминаний.
ПараметрТипПо умолчаниюОписание
mail.dirстрока/var/lib/sspr/mailКаталог для оформления писем, заданного в интерфейсе администратора.
ПараметрТипПо умолчаниюОписание
dict.dirстрока/var/lib/sspr/dictКаталог для словаря запрещённых в пароле слов, который ведётся на странице «Пароли».
ПараметрТипПо умолчаниюОписание
recovery.dirстрока/var/lib/sspr/recoveryКаталог для настроек восстановления, заданных на странице «Восстановление».

Включение, вид проверки и порог задаются в интерфейсе администратора на странице «Защита от ботов».

ПараметрТипПо умолчаниюОписание
captcha.dirстрока/var/lib/sspr/captchaКаталог для настроек защиты от перебора.
captcha.ttlдлительность10mСколько действует выданная проверка.
ПараметрТипПо умолчаниюОписание
session.idle_timeoutдлительность10mСколько сотрудник может бездействовать посреди сценария, прежде чем начать заново.
session.absolute_timeoutдлительность30mНаибольшая длительность одного сценария смены или восстановления пароля.
session.max_per_userчисло3Сколько сценариев одного сотрудника могут идти одновременно.
ПараметрТипПо умолчаниюОписание
limits.max_failuresчисло5Сколько неудачных попыток с одного адреса или для одного логина допускается за window.
limits.windowдлительность15mОкно, в котором считаются неудачные попытки и выдачи кодов.
limits.lock_forдлительность15mНа сколько приостанавливаются попытки после превышения max_failures.
limits.issue_per_ipчисло10Сколько кодов можно запросить с одного адреса за window.
limits.issue_per_userчисло5Сколько кодов можно запросить для одного логина за window.
limits.sms_per_dayчисло2000Суточный лимит СМС на инсталляцию. При исчерпании СМС недоступны до следующих суток, остальные способы подтверждения работают.

Список арендаторов. Сейчас поддерживается один арендатор на инсталляцию: в списке должна быть ровно одна запись.

ПараметрТипПо умолчаниюОписание
tenants[].idстрокаобязательныйИдентификатор арендатора. Латиница, не меняется после запуска.
tenants[].nameстрока—Название арендатора в интерфейсе администратора.
tenants[].directory.typeстрокаобязательныйТип каталога. Сейчас поддерживается ad (Active Directory).
tenants[].directory.ad.urlстрокаобязательныйАдрес контроллера домена: ldaps://dc1.corp.ru:636 или ldap://dc1.corp.ru вместе с start_tls. Active Directory меняет пароли только по защищённому соединению.
tenants[].directory.ad.start_tlsда/нетfalseВключать шифрование на соединении ldap://.
tenants[].directory.ad.insecure_skip_verifyда/нетfalseНе проверять сертификат контроллера домена. Только для тестового стенда.
tenants[].directory.ad.base_dnстрокаобязательныйКорень поиска учётных записей, например DC=corp,DC=ru.
tenants[].directory.ad.upn_suffixстрока—Суффикс UPN для входа по короткому логину, например corp.ru.
tenants[].directory.ad.scope_filterстрока—LDAP-фильтр, сужающий круг сотрудников, которые могут пользоваться порталом; по нему же считается число учётных записей для лицензии.
tenants[].directory.ad.bind_dnстрока—Служебная учётная запись для восстановления и разблокировки. Нужна только при allow_reset: true. Права администратора домена не нужны.
tenants[].directory.ad.bind_passwordстрока—Пароль служебной учётной записи.
tenants[].directory.ad.phone_attributeстрокаmobileАтрибут каталога с номером телефона для СМС, например mobile или telephoneNumber.
tenants[].factors.totp.enabledда/нетfalseПриложение-аутентификатор (TOTP).
tenants[].factors.totp.store_fileстрока—Файл с подключёнными приложениями сотрудников.
tenants[].factors.sms.enabledда/нетfalseКод подтверждения в СМС через шлюз заказчика.
tenants[].factors.sms.gateway.presetстрока—Известный провайдер: smsc, smsru, smsaero, sms4b, redsms, zagruzka. Пусто — свой шлюз, описанный полями method, url, body. Подробно — «Настройка → СМС-шлюз».
tenants[].factors.sms.gateway.loginстрока—Логин аккаунта у провайдера (для пресета).
tenants[].factors.sms.gateway.secretстрока—Пароль или ключ API у провайдера (для пресета).
tenants[].factors.sms.gateway.senderстрока—Имя отправителя, согласованное с оператором. Пусто — по умолчанию у провайдера.
tenants[].factors.sms.gateway.methodстрока—HTTP-метод запроса к своему шлюзу, обычно POST.
tenants[].factors.sms.gateway.urlстрока—Адрес своего шлюза. У пресета — замена адреса провайдера, например на резервный узел.
tenants[].factors.sms.gateway.bodyстрока—Тело запроса к своему шлюзу с подстановками {phone} и {text}. Они экранируются под формат тела: в JSON — как строки, в форме — как значения параметров.
tenants[].factors.sms.gateway.headersсловарь—Заголовки запроса, например Content-Type и Authorization.
tenants[].factors.sms.gateway.ok_substringстрока—Подстрока, которая должна быть в ответе при успешной отправке.
tenants[].factors.sms.gateway.error_substringстрока—Подстрока, означающая отказ. Проверяется раньше ok_substring.
tenants[].factors.sms.templateстрока—Текст СМС, %s — место кода.
tenants[].factors.email.enabledда/нетfalseКод подтверждения на рабочую почту из каталога. Требует smtp.
tenants[].factors.email.subjectстрока—Тема письма с кодом. Пусто — встроенная.
tenants[].factors.email.bodyстрока—Текст письма с кодом, %s — место кода. Пусто — встроенный.
tenants[].factors.email.allow_for_resetда/нетfalseРазрешить код на почту при восстановлении забытого пароля. По умолчанию выключено: почта обычно открывается тем же паролем, который восстанавливают.
tenants[].factors.fido.enabledда/нетfalseКлючи безопасности FIDO2 (Рутокен, JaCarta, YubiKey, биометрия устройства).
tenants[].factors.fido.store_fileстрока—Файл с зарегистрированными ключами.
tenants[].factors.fido.rp_idстрока—Домен портала для ключей безопасности. Пусто — хост из web.public_url.
tenants[].factors.fido.originsсписок—Адреса страниц портала, с которых принимаются ключи. Пусто — web.public_url.
tenants[].factor_on_changeда/нетfalseТребовать второй фактор и при смене известного пароля. Для портала, доступного из интернета, включайте обязательно.
tenants[].allow_resetда/нетfalseРазрешить восстановление забытого пароля и разблокировку. Требует служебной учётной записи в каталоге (bind_dn). false — портал только меняет известный пароль и работает без служебной учётной записи.