Files
Ubuntu_docs/HashiCorp_Vault_install.md
2025-02-25 07:39:22 +05:00

4.7 KiB
Raw Blame History

Установка HashiCorp Vault на Ubuntu

Vault — это инструмент от HashiCorp для безопасного хранения секретов и управления ими.

1. Установка Vault

Открываю нужный сервер

wsl

1.1. Добавление репозитория HashiCorp

  1. Установите необходимые пакеты:
   sudo apt update && sudo apt install -y gnupg software-properties-common curl
  1. Добавьте официальный GPG-ключ HashiCorp:
  curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
  1. Добавьте репозиторий HashiCorp в систему:
   sudo mcedit /etc/apt/sources.list.d/hashicorp.list

Заменяем на:

   deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main
  1. Обновите списки пакетов:
   sudo apt update
  1. Установите Vault:
   sudo apt install -y vault
  1. Проверьте, что Vault установлен правильно:
   vault --version

2. Запуск Vault

2.1. Запуск в Dev-режиме (только для тестирования)

  vault server -dev
  • По умолчанию Vault запустится на http://127.0.0.1:8200/
  • В терминале появится root-токен, который нужно сохранить.

2.2. Настройка Vault в режиме сервера

  1. Создайте конфигурационный файл:
   sudo mkdir -p /etc/vault &&
   sudo mcedit /etc/vault/config.hcl
  1. Добавьте следующий конфиг:
storage "file" {
    path = "/opt/vault/data"
}

listener "tcp" {
    address     = "0.0.0.0:8200"
    tls_disable = 1
}

disable_mlock = true
ui = true
  1. Создайте папку для хранения данных:
  sudo mkdir -p /opt/vault/data &&
  sudo chown vault:vault /opt/vault/data
  1. Создайте systemd-сервис для Vault:
  sudo mcedit /etc/systemd/system/vault.service
  1. Вставьте следующее содержимое:
[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
  1. Перезапустите systemd и включите Vault:
   sudo systemctl daemon-reload &&
   sudo systemctl enable vault &&
   sudo systemctl start vault
  1. Проверьте статус:
  sudo systemctl status vault

3. Инициализация и разлочка Vault

  1. Экспортируйте переменную окружения:
   export VAULT_ADDR='http://127.0.0.1:8200'
  1. Инициализируйте хранилище (сохраните ключи!):
  vault operator init

Выдало:

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.
  1. Разблокируйте Vault, используя один из ключей (потом ещё 3 раза):
  vault operator unseal
  1. Повторите vault operator unseal три раза с разными ключами.

  2. Авторизуйтесь с root-токеном:

  vault login hvs.5nuYVp8rWJwFgQ7f16XNoDC7

Теперь HashiCorp Vault установлен и готов к использованию! 🚀