Порядок
- Подготовить ОС Astra Linux SE и включить замкнутую программную среду.
- Установить КриптоПро CSP 5.0 R3 КС3.
- Проверить целостность дистрибутива.
- Распаковать адаптер, настроить параметры, зарегистрировать службу.
- Проверить
genguidsи готовность сервиса.
1. Замкнутая программная среда (ЗПС)
В /etc/digsig/digsig_initramfs.conf:
DIGSIG_ELF_MODE=1 DIGSIG_XATTR_MODE=1
mkdir -p /etc/digsig/xattr_keys/ cp public_key.gpg /etc/digsig/xattr_keys/ sudo update-initramfs -u -k all
Перезагрузить ОС. Файл public_key.gpg входит в комплект поставки; исполняемые файлы адаптера подписаны в расширенных атрибутах.
2. КриптоПро CSP
Перед установкой проверить целостность дистрибутива утилитой cpverify, полученной доверенным способом. Устанавливается минимальный вариант с настройками по умолчанию. Нужные пакеты: lsb-cprocsp-base, -rdr, -kc2, -capilite, -ca-certs, -pkcs11, cprocsp-cptools-gtk, cprocsp-curl, cprocsp-pki-cades, cprocsp-rdr-gui-gtk, cprocsp-pki-plugin.
3. Распаковка
tar --xattrs -xvf /каталог_с_архивом/<архив> -C /opt
Ключ --xattrs обязателен: подписи для ЗПС хранятся в расширенных атрибутах файлов.
4. Служба systemd
Переменные EXTIDP и CLIENTS обязательны: они задают пути к extidp.json и clients.json (Конфигурация). Для развёртывания на двух узлах за балансировщиком дополнительно задаётся NODE_ID (Резервирование и балансировка).
/etc/systemd/system/esia-idp.service:
[Unit] Description=Avanpost ESIA IdP Adapter After=network.target [Service] WorkingDirectory=/opt/esia-idp ExecStart=/opt/esia-idp/esia-idp Restart=always RestartSec=10 SyslogIdentifier=esia-idp User=esia-idp Environment="DEBUG=false" Environment="BASE_URL=https://esia-adapter.corp:4010" Environment="EXTIDP=/opt/esia-idp/config/extidp.json" Environment="CLIENTS=/opt/esia-idp/config/clients.json" Environment="KEY=/opt/esia-idp/config/key.pem" Environment="CPROCSP_BIN_DIR=/opt/cprocsp/bin/amd64" [Install] WantedBy=multi-user.target
sudo systemctl daemon-reload sudo systemctl enable esia-idp sudo systemctl start esia-idp
5. Проверка
ldd ./genguids ./genguids 1
Ожидается UUID и код возврата 0 (1 — ошибка аргумента, 2 — ошибка инициализации КриптоПро, 3 — ошибка генерации случайных чисел). Затем проверить /health/ready (см. Эксплуатация) и пройти аутентификацию в тестовом OIDC-приложении через ЕСИА.