HashiCorp Vault на VPS: хранение секретов — иллюстрация к статье Storm Cloud Blog, категория Безопасность
HashiCorp Vault на VPS: хранение секретов — иллюстрация к статье Storm Cloud Blog, категория Безопасность
Безопасность·2 мин··

HashiCorp Vault на VPS: хранение секретов

Vault self-hosted на VPS: API keys, DB passwords, rotation. Централизованные секреты для приложений и CI/CD.

Краткий ответ: Vault хранит секреты централизованно: приложение запрашивает DB password по token, не из .env в git. Self-hosted на VPS — для команд без облачного Secrets Manager.

.env на диске — риск. Restic бэкапит файлы, но секреты не должны лежать в plaintext.


Vault vs .env vs Docker secrets

Vault .env file Docker secrets
Rotation Да Вручную Сложно
Audit log Да Нет Нет
Сложность Высокая Низкая Средняя
Single VPS Overkill? OK OK

Для solo dev на одном VPS — .env + Tailscale достаточно. Vault — 3+ сервиса, команда.


Dev mode (только тест)

docker run -d --name vault -p 8200:8200 \
  -e VAULT_DEV_ROOT_TOKEN_ID=dev-token \
  hashicorp/vault

Production — Raft storage, TLS, unseal keys.


Запись секрета

export VAULT_ADDR='https://vault.example.com'
vault kv put secret/myapp db_password=xxx api_key=yyy
vault kv get secret/myapp

Приложение — AppRole auth, periodic token.


Интеграция CI/CD

GitLab Runner и GitHub Actions получают секреты из Vault в runtime — не в repository secrets.


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


Итог

Vault — enterprise-grade secrets. На одном VPS редко нужен; при росте инфраструктуры — must-have.

VPS 2 GB+ — StormNet Cloud. Базовая безопасность — защита VPS.

Частые вопросы

Нужен ли Vault на одном VPS?

Редко. Для solo-проекта достаточно .env с правами 600. Vault окупается при нескольких сервисах и ротации секретов.

Vault или облачный Secrets Manager?

Self-hosted Vault — контроль и без vendor lock-in. Облачный — проще ops, но платно и данные у провайдера.