HashiCorp Vault — industry-standard secret manager. Stores: API keys, DB passwords, TLS certs, SSH keys. Features: dynamic secrets (creates credentials on-demand), leasing/revocation, audit log, K8s integration. Deploy: docker/K8s (3-node HA для prod), init, unseal (5 keys, 3 для unseal — Shamir's sharing). Production: enable auth (LDAP/OIDC/K8s), policies, audit.
Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.
docker run -d -p 8200:8200 -e VAULT_DEV_ROOT_TOKEN_ID=dev hashicorp/vaultexport VAULT_ADDR=http://localhost:8200 VAULT_TOKEN=devvault secrets enable -path=secret kv-v2vault kv put secret/myapp db_password=s3cr3tvault kv get secret/myapp| Сценарий | Конфиг |
|---|---|
| Write/read secret | vault kv put secret/myapp api_key=sk-abc123
vault kv get -field=api_key secret/myapp |
| K8s integration | # ServiceAccount in K8s
vault auth enable kubernetes
vault write auth/kubernetes/config \
kubernetes_host=https://kubernetes.default.svc
vault write auth/kubernetes/role/myapp \
bound_service_account_names=myapp \
bound_service_account_namespaces=default \
policies=myapp-policy |
| Dynamic DB credentials | vault secrets enable database
vault write database/config/postgres \
plugin_name=postgresql-database-plugin \
connection_url='postgresql://vault@pg:5432/{{name}}' \
allowed_roles=readonly
# Rotate: vault read database/creds/readonly → returns new user/pass, auto-expires |
| Policy file | # myapp-policy.hcl
path "secret/data/myapp/*" {
capabilities = ["read"]
}
path "database/creds/readonly" {
capabilities = ["read"]
} |
| Vault Agent injector (K8s sidecar) | # Pod annotations
vault.hashicorp.com/agent-inject: 'true'
vault.hashicorp.com/role: 'myapp'
vault.hashicorp.com/agent-inject-secret-db: 'secret/data/myapp' |
vault operator raft snapshot save backup.snapИнструмент проверяет HTTP-заголовки безопасности, конфигурацию SSL/TLS, утечки серверной информации и защиту от распространённых атак (XSS, clickjacking, MIMEsniffing). Оценка от A до F показывает общий уровень защиты.
Проверка Content-Security-Policy, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy и других.
Версия TLS, срок сертификата, цепочка доверия, поддержка HSTS.
Поиск раскрытых серверных версий, debug-режимов, открытых конфигов и директорий.
Детальный отчёт с объяснением каждой проблемы и конкретными шагами для исправления.
аудит HTTP-заголовков
проверка конфигурации
CSP и HSTS настройка
соответствие стандартам
Strict-Transport-Security.Server: Apache/2.4.52 помогает атакующим подобрать эксплойт. Скройте версию.DENY или SAMEORIGIN.nosniff браузер может интерпретировать файлы неправильно (MIME sniffing).Content-Security-Policy-Report-Only, мониторьте нарушения, затем включите.Server, X-Powered-By, X-AspNet-Version из ответов.История security-проверок и мониторинг HTTP-заголовков безопасности.
Зарегистрироваться (FREE)AWS SM: managed, tight AWS integration, $0.40/secret/month. Vault: multi-cloud, dynamic creds, advanced features (transit encryption), но self-host complexity.
Vault стал BSL (Business Source License) в 2023, как Terraform. Open-source fork — OpenBao (Linux Foundation).
Dynamic secrets: auto-rotate при каждом запросе. Static: TTL + VersionedKV + manual rotation via API.
Vault Agent (sidecar renders secrets в file), Vault SDK (Python/Go/Java), Kubernetes Secret Injector.