+
This commit is contained in:
@ -43,8 +43,8 @@ vault server -dev
|
|||||||
```
|
```
|
||||||
После запуска он покажет **root-токен** (сохраните его!):
|
После запуска он покажет **root-токен** (сохраните его!):
|
||||||
```plaintext
|
```plaintext
|
||||||
Unseal Key: 9OSMJSPNCs9IT/H5OzLz17jW/vogeCAWQbXy2K7LRPQ=
|
Unseal Key: x1jUXpLJREI6M1+Qm6m/h3NLEhaEmBageqw0v+dSSKo=
|
||||||
Root Token: hvs.JDIyKgDMagA0WyIhLFQ4mAjZ
|
Root Token: hvs.V7Rc8uJ8YJ0AASKZfep6oYNe
|
||||||
```
|
```
|
||||||
|
|
||||||
Теперь Vault работает по адресу:
|
Теперь Vault работает по адресу:
|
||||||
|
|||||||
181
HashiCorp_Vault_install.md
Normal file
181
HashiCorp_Vault_install.md
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
# Установка HashiCorp Vault на Ubuntu
|
||||||
|
|
||||||
|
Vault — это инструмент от HashiCorp для безопасного хранения секретов и управления ими.
|
||||||
|
|
||||||
|
## 1. Установка Vault
|
||||||
|
|
||||||
|
Открываю нужный сервер
|
||||||
|
```sh
|
||||||
|
wsl
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### 1.1. Добавление репозитория HashiCorp
|
||||||
|
|
||||||
|
1. Установите необходимые пакеты:
|
||||||
|
```sh
|
||||||
|
sudo apt update && sudo apt install -y gnupg software-properties-common curl
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Добавьте официальный GPG-ключ HashiCorp:
|
||||||
|
```sh
|
||||||
|
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Добавьте репозиторий HashiCorp в систему:
|
||||||
|
```sh
|
||||||
|
sudo mcedit /etc/apt/sources.list.d/hashicorp.list
|
||||||
|
```
|
||||||
|
|
||||||
|
Заменяем на:
|
||||||
|
```text
|
||||||
|
deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
4. Обновите списки пакетов:
|
||||||
|
```sh
|
||||||
|
sudo apt update
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Установите Vault:
|
||||||
|
```ыр
|
||||||
|
sudo apt install -y vault
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Проверьте, что Vault установлен правильно:
|
||||||
|
```sh
|
||||||
|
vault --version
|
||||||
|
```
|
||||||
|
|
||||||
|
## 2. Запуск Vault
|
||||||
|
|
||||||
|
### 2.1. Запуск в Dev-режиме (только для тестирования)
|
||||||
|
|
||||||
|
```sh
|
||||||
|
vault server -dev
|
||||||
|
```
|
||||||
|
|
||||||
|
- По умолчанию Vault запустится на `http://127.0.0.1:8200/`
|
||||||
|
- В терминале появится root-токен, который нужно сохранить.
|
||||||
|
|
||||||
|
### 2.2. Настройка Vault в режиме сервера
|
||||||
|
|
||||||
|
1. Создайте конфигурационный файл:
|
||||||
|
```sh
|
||||||
|
sudo mkdir -p /etc/vault &&
|
||||||
|
sudo mcedit /etc/vault/config.hcl
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Добавьте следующий конфиг:
|
||||||
|
```text
|
||||||
|
storage "file" {
|
||||||
|
path = "/opt/vault/data"
|
||||||
|
}
|
||||||
|
|
||||||
|
listener "tcp" {
|
||||||
|
address = "0.0.0.0:8200"
|
||||||
|
tls_disable = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
disable_mlock = true
|
||||||
|
ui = true
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Создайте папку для хранения данных:
|
||||||
|
```sh
|
||||||
|
sudo mkdir -p /opt/vault/data &&
|
||||||
|
sudo chown vault:vault /opt/vault/data
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Создайте systemd-сервис для Vault:
|
||||||
|
```sh
|
||||||
|
sudo mcedit /etc/systemd/system/vault.service
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Вставьте следующее содержимое:
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
Description=HashiCorp Vault
|
||||||
|
After=network-online.target
|
||||||
|
Requires=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=vault
|
||||||
|
Group=vault
|
||||||
|
ExecStart=/usr/bin/vault server -config=/etc/vault/config.hcl
|
||||||
|
ExecReload=/bin/kill --signal HUP $MAINPID
|
||||||
|
KillSignal=SIGTERM
|
||||||
|
Restart=on-failure
|
||||||
|
LimitMEMLOCK=infinity
|
||||||
|
ProtectSystem=full
|
||||||
|
CapabilityBoundingSet=CAP_IPC_LOCK CAP_SETGID CAP_SETUID CAP_SYSLOG CAP_CHOWN
|
||||||
|
NoNewPrivileges=yes
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Перезапустите systemd и включите Vault:
|
||||||
|
```sh
|
||||||
|
sudo systemctl daemon-reload &&
|
||||||
|
sudo systemctl enable vault &&
|
||||||
|
sudo systemctl start vault
|
||||||
|
```
|
||||||
|
|
||||||
|
7. Проверьте статус:
|
||||||
|
```sh
|
||||||
|
sudo systemctl status vault
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Инициализация и разлочка Vault
|
||||||
|
|
||||||
|
1. Экспортируйте переменную окружения:
|
||||||
|
```sh
|
||||||
|
export VAULT_ADDR='http://127.0.0.1:8200'
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Инициализируйте хранилище (сохраните ключи!):
|
||||||
|
```sh
|
||||||
|
vault operator init
|
||||||
|
```
|
||||||
|
|
||||||
|
Выдало:
|
||||||
|
```text
|
||||||
|
Unseal Key 1: dOVID4QUfFtSHF+dvdB8iwVrWidJ7BXavH15oA+m5a0Q
|
||||||
|
Unseal Key 2: eoEhrDr6W1zZhBc30TX0tDAhfc6zo73poOw4cq7KmFRZ
|
||||||
|
Unseal Key 3: N1XxH08BZEf3Sl9w+qMm36eirXjhh8EKTW7MyXoO475b
|
||||||
|
Unseal Key 4: QboxCTXGqC2yJQRg7qcjQvoJBElT9A4o4x+mUr9/j5ti
|
||||||
|
Unseal Key 5: lhRJsXwg9QIgs7J02DMOtCBmOOuZUJBSazT+oggo7Rhh
|
||||||
|
|
||||||
|
Initial Root Token: hvs.5nuYVp8rWJwFgQ7f16XNoDC7
|
||||||
|
|
||||||
|
Vault initialized with 5 key shares and a key threshold of 3. Please securely
|
||||||
|
distribute the key shares printed above. When the Vault is re-sealed,
|
||||||
|
restarted, or stopped, you must supply at least 3 of these keys to unseal it
|
||||||
|
before it can start servicing requests.
|
||||||
|
|
||||||
|
Vault does not store the generated root key. Without at least 3 keys to
|
||||||
|
reconstruct the root key, Vault will remain permanently sealed!
|
||||||
|
|
||||||
|
It is possible to generate new unseal keys, provided you have a quorum of
|
||||||
|
existing unseal keys shares. See "vault operator rekey" for more information.
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Разблокируйте Vault, используя один из ключей (потом ещё 3 раза):
|
||||||
|
```sh
|
||||||
|
vault operator unseal
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Повторите `vault operator unseal` три раза с разными ключами.
|
||||||
|
|
||||||
|
5. Авторизуйтесь с root-токеном:
|
||||||
|
```sh
|
||||||
|
vault login hvs.5nuYVp8rWJwFgQ7f16XNoDC7
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Теперь HashiCorp Vault установлен и готов к использованию! 🚀
|
||||||
Reference in New Issue
Block a user