Vault 是什么
8200 是 HashiCorp Vault 的 HTTP API 与 Web UI 端口:应用在这里读取密钥与证书、申请动态数据库凭据、签发短期令牌。Vault 自身运行在封印(seal)机制后面——启动后必须用分片的解封密钥或云上 KMS 自动解封才能提供服务,因此 8200 暴露本身不等于密钥直接泄漏,但配置疏漏(例如关掉 TLS)会让令牌在链路上裸奔。集群间通信使用 8201。
基本信息
| 服务 | HashiCorp Vault(HTTP API / UI) |
|---|---|
| 协议 | TCP/HTTPS(8200);集群间 8201 |
| 状态端点 | /v1/sys/health 按封印与角色返回不同状态码 |
| 认证方式 | 令牌、AppRole、Kubernetes、云厂商身份等 |
| 安全等级 | 仅受信网段,必须启用 TLS 与审计 |
典型使用场景
- 密钥托管:集中保存应用密钥与第三方 API 凭据,不再散落在配置文件中
- 动态凭据:按需签发短期数据库账号,用完自动回收
- 证书签发:作为内部 PKI 为服务签发证书
- 排障:确认节点是否解封、是否为活动节点、能否读取指定路径
- 安全审计:核对审计设备是否启用与令牌有效期策略
状态检查与初始化观察
状态检查与初始化观察
export VAULT_ADDR=https://vault.example.com:8200
vault status
curl -s https://127.0.0.1:8200/v1/sys/health # 关注返回的状态码
vault audit list # 确认审计设备已启用
vault token lookup # 核对当前令牌权限health 状态码速查
| 状态码 | 含义 | 处置 |
|---|---|---|
| 200 | 已解封且为活动节点 | 正常 |
| 429 | 待命节点 | 属正常冗余状态 |
| 503 | 节点处于封印状态 | 需解封或检查自动解封 |
| 501 | 尚未初始化 | 初始化后分发解封密钥 |
Vault 节点间通信的 8201 也不应暴露;审计设备务必开启,它是追踪“谁在什么时候读了哪个密钥”的唯一手段,事后再补是补不回来的。
解封密钥的保管方式是这套系统的安全边界:分片交给不同人员或托管到 KMS,避免与 Vault 本体放在同一台机器上;使用云上自动解封时,要同时评估云账号本身被攻破后的影响。
加固建议
- 全程启用 TLS,客户端校验服务端证书
- 按应用划分命名空间与策略,令牌设置合理有效期
- 启用审计并集中转发审计日志
- 限制 8200 与 8201 的来源网段,UI 不对外开放