2.7 KiB
		
	
	
	
	
	
			
		
		
	
	
			2.7 KiB
		
	
	
	
	
	
Security 目录说明
目录结构
security/
├── secrets/          # 敏感配置文件
│   ├── vault-unseal-keys.txt    # Vault解封密钥
│   ├── vault-root-token.txt     # Vault根令牌
│   ├── vault-cluster-info.txt   # Vault集群信息
│   └── *.hcl                   # 其他配置文件
├── scripts/          # 批量部署脚本
├── templates/        # 配置模板
└── README.md         # 本文件
Vault密钥管理
密钥文件说明
- vault-unseal-keys.txt: 包含5个Vault解封密钥,需要至少3个才能解封Vault
- vault-root-token.txt: Vault根令牌,拥有完全管理权限
- vault-cluster-info.txt: Vault集群的基本信息和配置
使用Vault密钥
# 解封Vault(需要3个密钥)
vault operator unseal -address=http://warden.tailnet-68f9.ts.net:8200 <key1>
vault operator unseal -address=http://warden.tailnet-68f9.ts.net:8200 <key2>
vault operator unseal -address=http://warden.tailnet-68f9.ts.net:8200 <key3>
# 使用根令牌认证
export VAULT_TOKEN=hvs.TftK5zfANuPWOc7EQEvjipCE
vault auth -address=http://warden.tailnet-68f9.ts.net:8200
安全注意事项
- 密钥保护: 所有Vault密钥文件权限设置为600,仅所有者可读写
- 备份策略: 定期备份密钥文件到安全位置
- 访问控制: 限制对security目录的访问权限
- 版本控制: 不要将密钥文件提交到Git仓库
使用说明
1. 配置文件管理
- 将需要上传的敏感配置文件放在 secrets/目录下
- 文件名格式:{节点名}-{配置类型}.{扩展名}
- 例如:ch4-nomad.hcl、ash3c-consul.json
2. 批量部署脚本
使用 scripts/deploy-security-configs.sh 脚本批量部署:
# 部署所有配置
./scripts/deploy-security-configs.sh
# 部署特定节点
./scripts/deploy-security-configs.sh ch4
# 部署特定类型
./scripts/deploy-security-configs.sh all nomad
3. 配置模板
- templates/目录存放配置模板
- 支持变量替换
- 使用 Jinja2 语法
安全注意事项
- 本地备份:所有配置文件在上传前都会在本地保存备份
- 权限控制:确保配置文件权限正确(600 或 644)
- 敏感信息:不要在配置文件中硬编码密码或密钥
- 版本控制:使用 Git 跟踪配置变更,但排除密钥文件
部署流程
- 将配置文件放入 secrets/目录
- 检查配置文件格式和内容
- 运行批量部署脚本
- 验证部署结果
- 清理临时文件
故障恢复
如果部署失败:
- 检查 logs/目录下的错误日志
- 使用备份文件恢复
- 重新运行部署脚本
联系方式
如有问题,请联系系统管理员。