Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
мануал_security_server_автологин_на_softtoken [2023/04/27 08:15] infra создано |
мануал_security_server_автологин_на_softtoken [2023/08/18 05:44] (текущий) infra |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ! | + | |
| + | <note warning>Целевой аудиторией данного руководства являются системные администраторы Сервера безопасности Тундук ответственные за установку и сопровождение программного обеспечения X-Road. Документ предназначен для читателей с умеренными знаниями администрирования Linux серверов и компьютерных сетей.</note> | ||
| + | |||
| + | |||
| + | <note tip>Все команды выполняются от пользователя root.</note> | ||
| + | |||
| + | ====== В этом документе описывается утилита autologin, которая автоматически вводит PIN-код от SoftToken после запуска xroad-signer. ====== | ||
| + | |||
| + | <note important>Автологин допуступен на любой версии xroad, но, рекомендуется обновиться до версии последней релизной версии.</note> | ||
| + | |||
| + | =====Как настроить===== | ||
| + | |||
| + | 1.Устанавливаем пакет | ||
| + | |||
| + | <code>$ apt install xroad-autologin</code> | ||
| + | |||
| + | 2.Если допустимо хранение ПИН-кода на сервере в виде открытого текста, создайте файл /etc/xroad/autologin, содержащий ПИН-код. | ||
| + | |||
| + | <note tip>Файл должен быть доступен для чтения пользователю xroad</note> | ||
| + | |||
| + | <note tip>Если /etc/xroad/autologin не существует и вы не внедрили custom-fetch-pin.sh, служба не запустится.</note> | ||
| + | |||
| + | ===== Если вы не хотите хранить PIN-код в виде открытого текста, реализуйте bash-скрипт /usr/share/xroad/autologin/custom-fetch-pin.sh ===== | ||
| + | |||
| + | |||
| + | <note tip>Скрипт должен вывести PIN-код на стандартный вывод.</note> | ||
| + | |||
| + | <note tip>Скрипт должен быть доступен для чтения и выполнения пользователем xroad.</note> | ||
| + | |||
| + | <note tip>Скрипт должен выйти с кодом выхода.</note> | ||
| + | |||
| + | 0, если он смог успешно получить PIN-код | ||
| + | |||
| + | 127, если он не смог получить PIN-код, но это не фактическая ошибка, которая должна привести к сбою службы (реализация по умолчанию использует это, если /etc/xroad/autologin не существует) | ||
| + | |||
| + | другие коды выхода в ситуациях ошибок, которые должны привести к сбою службы | ||
| + | |||
| + | <code> | ||
| + | #!/bin/bash | ||
| + | PIN_CODE=$(curl https://some-address) | ||
| + | echo "${PIN_CODE}" | ||
| + | exit 0 | ||
| + | </code> | ||
| + | |||
| + | =====Детали реализации===== | ||
| + | |||
| + | 1.Создает новый сервис xroad-autologin | ||
| + | |||
| + | 2.Служба запускается после запуска xroad-signer | ||
| + | |||
| + | 3.В RHEL/Ubuntu 20.04 сервис вызывает скрипт-оболочку /usr/share/xroad/autologin/xroad-autologin-retry.sh, который, в свою очередь, вызывает autologin.expect | ||
| + | <note tip>Сценарий оболочки обрабатывает повторные попытки в случае ошибки</note> | ||
| + | |||
| + | 4.Сервис пытается ввести ПИН-код с помощью консоли подписчика скриптов | ||
| + | <note tip>Если PIN-код был правильным или неправильным, он выходит</note> | ||
| + | <note tip>Если произошла ошибка (например, из-за того, что xroad-signer еще не полностью запущен), он продолжает повторять попытки бесконечно.</note> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Автор Даниил Горбенко | ||