Добавить в корзинуПозвонить
Найти в Дзене

Установка VAULT HashiCorp

05.05.2025
Официальный сайт проекта https://developer.hashicorp.com/vault
Писал статью Игольников Игорь. HashiCorp Vault — это инструмент для безопасного хранения и управления секретами (паролями, API-ключами, сертификатами и другими конфиденциальными данными). Он предоставляет централизованное хранилище с строгим контролем доступа, шифрованием и аудитом всех операций. ИнструментПлюсыМинусыHashiCorp VaultГибкость, динамические секреты, PKIСложность настройки в productionAWS Secrets ManagerИнтеграция с AWS, простотаПривязка к AWS, дороговизнаAzure Key VaultЛучше для Azure, поддержка сертификатовОграниченная поддержка других облаковKubernetes SecretsВстроен в K8s, простотаБазовое шифрование, нет аудита. Vault – мощный инструмент для управления секретами в распределенных системах. Подходит для: Мы будем внедрять этот пакет на Debian 12, и нас ожидают определённые сложности. apt update
apt upgrade
apt install -y curl unzip
apt install lsb-release
# Если вы работаете из России то wget нужно
Оглавление
Vault | HashiCorp Developer
Vault | HashiCorp Developer

05.05.2025
Официальный сайт проекта
https://developer.hashicorp.com/vault
Писал статью Игольников Игорь.

HashiCorp Vault — это инструмент для безопасного хранения и управления секретами (паролями, API-ключами, сертификатами и другими конфиденциальными данными). Он предоставляет централизованное хранилище с строгим контролем доступа, шифрованием и аудитом всех операций.

🔐 Основные возможности Vault

1. Хранение секретов

  • Динамические секреты – автоматическая генерация временных учетных данных (например, для БД или облачных сервисов).
  • Статические секреты – ручное добавление паролей, ключей и т. д.
  • Шифрование "из коробки" (AES-256, RSA и др.).

2. Поддержка множества бэкендов

  • Key-Value (KV) – простое хранилище в виде ключ-значение.
  • AWS, Azure, GCP – динамические IAM-роли для облачных провайдеров.
  • Базы данных (PostgreSQL, MySQL, MongoDB) – автоматическая ротация паролей.
  • PKI (инфраструктура сертификатов) – выпуск и отзыв TLS-сертификатов.
  • SSH, Active Directory, Kubernetes – интеграция с системами аутентификации.

3. Контроль доступа (Policies)

  • RBAC (Role-Based Access Control) – гибкие политики на основе ролей.
  • ACL (Access Control Lists) – тонкая настройка прав.
  • Аутентификация через LDAP, JWT, OIDC, GitHub и др.

4. Аудит и логирование

  • Все операции (чтение/запись/удаление) записываются в лог.
  • Поддержка внешних систем мониторинга (Splunk, ELK, Datadog).

5. Режимы работы

  • Dev-режим – для тестирования (без сохранения данных).
  • Production-режим – с репликацией, HA (High Availability) и TLS.

🔒 Безопасность

  • Шифрование "в движении" (TLS) и "на отдыхе" (AES-256).
  • Auto-unseal (например, с помощью AWS KMS) – чтобы избежать ручного ввода ключей.
  • Revocation – мгновенный отзыв секретов.

📊 Vault vs. Аналоги

ИнструментПлюсыМинусыHashiCorp VaultГибкость, динамические секреты, PKIСложность настройки в productionAWS Secrets ManagerИнтеграция с AWS, простотаПривязка к AWS, дороговизнаAzure Key VaultЛучше для Azure, поддержка сертификатовОграниченная поддержка других облаковKubernetes SecretsВстроен в K8s, простотаБазовое шифрование, нет аудита.

🏁 Вывод

Vault – мощный инструмент для управления секретами в распределенных системах. Подходит для:

  • DevOps/SRE-инженеров,
  • облачных инфраструктур,
  • компаний с требованиями compliance (GDPR, HIPAA, PCI DSS).

Мы будем внедрять этот пакет на Debian 12, и нас ожидают определённые сложности.

🔹Подготовка к установки.

apt update
apt upgrade
apt install -y curl unzip
apt install lsb-release
# Если вы работаете из России то wget нужно будет запускать
из под прокси "иначе будем получать ответ 404"
wget -O -
https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg]
https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
"в России нужно черз http proxy server"
для APT
sudo apt update && sudo apt install vault

#Необходимо добавить /etc/vault.d/vault.hcl, если у вас мало памяти
api_addr = "http://127.0.0.1:8200"
cluster_addr = "https://127.0.0.1:8201"
disable_mlock = true

🔹Инициализация сервиса.

nano ~/.bashrc
export VAULT_ADDR="http://127.0.0.1:8200"
source ~/.bashrc

#Добавим параметр tls_disable = 1, чтобы не было ошибки связанной с "https" так как у нас нет сертификата.
nano /etc/vault.d/vault.hcl
# HTTPS listener
listener "tcp" {
address = "0.0.0.0:8200"
tls_cert_file = "/opt/vault/tls/tls.crt"
tls_key_file = "/opt/vault/tls/tls.key"
tls_disable = 1
}

vault operator init
#Нам генерируют связку ключей
Unseal Key 1: Z7ORhyXwjHg5/luzyq85K3AGAcYRwQSqTUA2tDKnfg0q
Unseal Key 2: pDB3B6an2+Gi4Z95viSnJ9dnt1J2hlDOtmKRzw8bf+6G
Unseal Key 3: c92Kj0fTmubjmmMPkSVeLpU9j/3Mz5tR+UoDxCgfXkKd
Unseal Key 4: 9EYUrGTOIxLHfKY4eV1UC+Gqvt+5IBRGaLa5u1ZVAiB8
Unseal Key 5: N8XyLOeZdItcY2LyDdbKB0bLCEveZ0Aik5QewGvpA8PQ
#И главный root kay
Initial Root Token: hvs.l3FrBShxLygLVdabIz9QCS3J

Идем на сайт http://192.168.1.1:8200/
При инициализации он выдал нам 5 ключей. Из них нам потребуется 3.
Затем система попросит ввести ключ пользователя root.
После этого мы сможем создать первого пользователя и входить в систему уже с логином и паролем.
На этом базовая и простая настройка Vault завершена.