mgmt/docs/vault-security-policy.md

139 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Vault安全策略和密钥管理指南
## 1. 概述
本文档定义了Vault密钥的安全管理策略确保基础设施的安全性和可靠性。
## 2. 密钥类型
### 2.1 初始化密钥
- **解封密钥**用于解封Vault实例
- **根令牌**具有Vault中所有权限的初始令牌
### 2.2 操作密钥
- **用户令牌**:分配给用户和服务的访问令牌
- **策略令牌**:基于特定策略的受限令牌
## 3. 安全存储策略
### 3.1 解封密钥存储
**禁止**
- 将所有密钥存储在同一位置
- 在代码或配置文件中明文存储密钥
- 通过不安全的通信渠道传输密钥
**推荐**
1. **物理分发**
- 将5个解封密钥分别交给5个不同的可信管理员
- 每个管理员仅知道自己的密钥
- 需要3个密钥即可解封VaultShamir's Secret Sharing
2. **加密存储**
- 使用GPG或其他加密工具加密密钥文件
- 将加密后的文件存储在安全位置
- 加密密钥由不同管理员保管
3. **硬件安全模块**
- 企业环境推荐使用HSM存储密钥
- 提供硬件级别的安全保护
### 3.2 根令牌存储
- 根令牌应立即用于创建具有最小权限的管理令牌
- 创建后应立即撤销根令牌
- 新的管理令牌应根据职责分离原则分发
## 4. 密钥生命周期管理
### 4.1 创建
- 初始化时生成密钥
- 立即按照安全策略分发和存储
- 记录密钥创建时间和负责人
### 4.2 使用
- 仅在必要时使用解封密钥
- 定期轮换用户和服务令牌
- 监控密钥使用情况
### 4.3 更新
- 定期重新初始化Vault以生成新密钥谨慎操作
- 当管理员变更时更新密钥分发
- 发生安全事件时立即重新生成密钥
### 4.4 销毁
- 安全删除不再需要的密钥副本
- 使用安全删除工具确保数据不可恢复
- 记录密钥销毁时间和负责人
## 5. 应急响应
### 5.1 密钥泄露
1. 立即生成新的解封密钥
2. 重新初始化Vault集群
3. 更新所有依赖Vault的服务配置
4. 调查泄露原因并修复安全漏洞
### 5.2 管理员不可用
1. 确保有足够的密钥持有者可用至少3人
2. 建立备用密钥持有者列表
3. 定期验证密钥持有者的可用性
## 6. 审计和合规
### 6.1 审计要求
- 记录所有密钥相关操作
- 定期审查密钥管理策略执行情况
- 生成密钥使用报告
### 6.2 合规性
- 遵循组织安全政策
- 满足行业标准要求如SOC 2, ISO 27001等
- 定期进行安全评估
## 7. 实施步骤
### 7.1 初始化Vault
```bash
# 使用提供的脚本初始化Vault
/root/mgmt/deployment/scripts/init_vault_cluster.sh
```
### 7.2 安全分发密钥
1. 将生成的密钥文件复制到安全位置
2. 将密钥文件加密并分发给不同管理员
3. 验证每个管理员都能正确解封Vault
### 7.3 创建管理令牌
```bash
# 使用根令牌创建管理令牌
export VAULT_ADDR='http://<节点IP>:8200'
export VAULT_TOKEN=<root_token>
vault token create -policy=admin -period=24h
```
### 7.4 撤销根令牌
```bash
# 撤销根令牌以提高安全性
vault token revoke <root_token>
```
## 8. 最佳实践
### 8.1 访问控制
- 实施最小权限原则
- 使用策略限制令牌权限
- 定期审查和更新策略
### 8.2 监控和告警
- 监控Vault解封和密封事件
- 设置密钥使用异常告警
- 定期生成安全报告
### 8.3 备份和恢复
- 定期备份Vault数据
- 测试恢复流程
- 确保备份数据的安全性
## 9. 相关文档
- [Vault官方安全指南](https://www.vaultproject.io/docs/internals/security)
- [HashiCorp安全模型](https://www.hashicorp.com/security)
- 组织内部安全政策