Установка
Продукт поставляется одним статическим бинарём: ни рантайма, ни библиотек, ни доступа в интернет при установке не требуется. Это же позволяет ставить его в закрытый контур копированием файла.
Из пакета
Заголовок раздела «Из пакета»# Astra Linux, ALTdpkg -i sspr_<версия>_amd64.deb
# РЕД ОСrpm -i sspr-<версия>.x86_64.rpmПакет заводит служебную учётную запись sspr (без домашнего каталога и без оболочки),
создаёт /etc/sspr, /var/lib/sspr (включая пустой license.key с владельцем
службы), /var/log/sspr и кладёт unit-файл. Служба
не включается автоматически: до заполнения конфигурации запускать нечего, а неудачный
старт в журнале выглядит как поломка установки.
Заполните /etc/sspr/config.yaml в любом текстовом редакторе (например, nano или vi),
затем включите службу:
systemctl enable --now ssprsystemctl status ssprОбновление пакета не затирает /etc/sspr/config.yaml — он помечен как файл настроек.
Из архива
Заголовок раздела «Из архива»Для узлов, где пакетный менеджер не используется:
tar -xzf sspr-<версия>-linux-amd64.tar.gzcd sspr-<версия>sudo ./install.shСкрипт делает то же самое и учитывает переменные PREFIX, CONF_DIR, DATA_DIR,
LOG_DIR, SERVICE_USER, если раскладка отличается от принятой.
Что нужно от инфраструктуры
Заголовок раздела «Что нужно от инфраструктуры»| Компонент | Зачем | Обязателен |
|---|---|---|
| Терминатор TLS перед порталом | продукт собственной криптографии не реализует | да |
| LDAPS до контроллера домена | домен не меняет пароль по незащищённому каналу | да |
| Служебная учётная запись в каталоге | только для восстановления забытого пароля и разблокировки | нет |
| СМС-шлюз | второй фактор для тех, у кого нет приложения | нет |
| Система сбора событий | копия журнала аудита | нет |
Портал слушает непривилегированный порт, права на :443 ему не выдаются: TLS в любом
случае терминируется впереди стоящим сервером.
Минимальная конфигурация без привилегий в каталоге
Заголовок раздела «Минимальная конфигурация без привилегий в каталоге»Разворачивание внутри периметра, где нужна только смена известного пароля. В этом режиме продукт физически не может сменить пароль постороннему — служебной учётной записи с правом сброса у него нет:
tenants: - id: corp allow_reset: false # ветка «забыл пароль» отключена factor_on_change: true directory: type: ad ad: url: "ldaps://dc1.corp.example.ru:636" base_dn: "DC=corp,DC=example,DC=ru" upn_suffix: "corp.example.ru" bind_dn: "" # привилегированная учётная запись не нужнаПроверка после установки
Заголовок раздела «Проверка после установки»sspr -versionsystemctl status ssprcurl -s http://127.0.0.1:9090/metrics | head -3 # метрики на отдельном адресеsspr totp list # кто подключил приложение (чтение, при работающей службе)Журнал эксплуатации идёт в journald (journalctl -u sspr), журнал аудита — в
/var/log/sspr/audit.jsonl со сцеплением записей хэшами.
Журнал аудита ротирует сам продукт (audit.rotate_mb, по умолчанию 64 МиБ; закрытые
файлы — audit-<время>-<номер>.jsonl рядом). Не добавляйте его в logrotate: внешняя ротация
не знает про цепочку хэшей и рвёт её. Сколько закрытых файлов хранить, задаёт
audit.keep_files (по умолчанию все); удаление по этой политике тоже записывается в
цепочку. Регламентная проверка целостности по всем файлам:
sspr audit verify # код 0 — цела; 2 — нарушение или изъятые файлыОграничения окружения
Заголовок раздела «Ограничения окружения»Unit-файл запускает службу с урезанными правами: ProtectSystem=strict, запись разрешена
только в /var/log/sspr и /var/lib/sspr, системные вызовы ограничены профилем
@system-service, повышение привилегий запрещено. Если в вашей инсталляции каталоги
другие, поправьте ReadWritePaths — иначе служба не сможет писать журнал.
Совместимость
Заголовок раздела «Совместимость»Продукт собран без внешних зависимостей, поэтому один и тот же файл работает на Astra Linux, РЕД ОС и ALT.