Настройка автоматического распечатывания через второй StarVault
1. Описание стенда
-
Стенд №1: отказоустойчивый кластер StarVault
HAProxy адрес: http://rg-starvault.uran.rg StarVault node1 адрес: https://rg-starvault-1.uran.rg:8200 StarVault node2 адрес: https://rg-starvault-2.uran.rg:8200 StarVault node3 адрес: https://rg-starvault-3.uran.rg:8200 -
Стенд №2: 1 нода StarVault, служит только для unseal
Отдельный starvault: https://rg-sv.uran.rg:8200
2. Настройка целевого StarVault (для auto-unseal)
2.1. Авторизация и создание транзитного метода
-
Авторизуйтесь с помощью команды:
starvault login <root_token_rg-sv> -
Включите механизм секретов transit.
starvault secrets enable transit
2.3. Создание политики доступа для основного кластера
|
Политики доступа всегда должны быть минимально необходимыми для обеспечения максимальной защиты. |
-
Название политики:
autounseal.
starvault policy write autounseal - <<EOF
path "transit/encrypt/autounseal-key" {
capabilities = [ "update" ]
}
path "transit/decrypt/autounseal-key" {
capabilities = [ "update" ]
}
EOF
3. Настройка основного кластера StarVault
3.1. Создание конфигурационного файла для auto-unseal
На каждом узле основного кластера необходимо (rg-starvault-1, rg-starvault-2, rg-starvault-3) создайте/дополните конфигурационный файл StarVault (например, /etc/starvault.d/starvault.hcl):
seal "transit" { (1)
address = "https://rg-sv.uran.rg:8200"
token = "s.VJkygn5FgiGOAQirglme5je5" # токен, полученный из unseal StarVault
key_name = "autounseal-key"
mount_path = "transit/"
tls_skip_verify = true
}
| 1 | Параметры, применяемые в блоке конфигурации seal отображены в данном разделе. |
Перезапуск служб StarVault:
systemctl restart starvault
Проверка статуса запуска сервиса StarVault:
systemctl restart starvault
Проверка статуса StarVault:
starvault status
4. Описание вариантов при аварии unseal StarVault
В случае выхода из строя узла, с unseal StarVault могут возникнуть критические последствия.
|
Список критических последствий:
|
Рекомендуется в случае выхода узла из строя выполнить следующие шаги:
-
Выполните резервное копирование с возможностью восстановления.
-
Вернитесь к Shamir seal (считается экстренным).
4.1. Резервное копирование ключей transit StarVault
-
На
rg-sv.uran.rgнеобходимо выполнить команду:export STARVAULT_ADDR='https://rg-sv.uran.rg:8200' starvault login -
Выполните резервное копирование transit ключа.
starvault read -format=json transit/backup/autounseal-key > autounseal-key-backup.json -
Выполните резервное копирование корневого токена и ключей transit StarVault.
starvault operator init > transit-starvault-keys-backup.txt
4.2. Резервное копирование конфигурации
-
Выполните резервное копирование конфигурации с помощью команды:
sudo tar -czf starvault-config-backup.tar.gz /etc/starvault.d/ /opt/starvault/ -
Выполните резервное копирование данных Raft с помощью команды:
sudo tar -czf starvault-data-backup.tar.gz /var/lib/starvault/
4.3. Настройка резервного transit StarVault
Выполните настройку репликации между transit StarVault:
starvault write sys/replication/performance/primary/enable primary_cluster_addr="https://rg-sv.uran.rg:8201"
4.4. План восстановления на случай потери UNSEAL узла
4.4.1. Восстановление transit StarVault из резервной копии
Для восстановления transit StarVault из резервной копии, необходимо выполнить следующие шаги:
-
Разверните новую VM.
-
Восстановите конфигурации и данные из резервной копии.
-
Импортируйте transit ключ.
starvault write transit/restore/autounseal-key backup=@autounseal-key-backup.json