mgmt/docs/vault-security-policy.md

3.6 KiB
Raw Permalink Blame History

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

# 使用提供的脚本初始化Vault
/root/mgmt/deployment/scripts/init_vault_cluster.sh

7.2 安全分发密钥

  1. 将生成的密钥文件复制到安全位置
  2. 将密钥文件加密并分发给不同管理员
  3. 验证每个管理员都能正确解封Vault

7.3 创建管理令牌

# 使用根令牌创建管理令牌
export VAULT_ADDR='http://<节点IP>:8200'
export VAULT_TOKEN=<root_token>
vault token create -policy=admin -period=24h

7.4 撤销根令牌

# 撤销根令牌以提高安全性
vault token revoke <root_token>

8. 最佳实践

8.1 访问控制

  • 实施最小权限原则
  • 使用策略限制令牌权限
  • 定期审查和更新策略

8.2 监控和告警

  • 监控Vault解封和密封事件
  • 设置密钥使用异常告警
  • 定期生成安全报告

8.3 备份和恢复

  • 定期备份Vault数据
  • 测试恢复流程
  • 确保备份数据的安全性

9. 相关文档