mgmt/backup/20251012_100706/security/README.md

92 lines
2.7 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.

# 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密钥
```bash
# 解封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
```
### 安全注意事项
1. **密钥保护**: 所有Vault密钥文件权限设置为600仅所有者可读写
2. **备份策略**: 定期备份密钥文件到安全位置
3. **访问控制**: 限制对security目录的访问权限
4. **版本控制**: 不要将密钥文件提交到Git仓库
## 使用说明
### 1. 配置文件管理
- 将需要上传的敏感配置文件放在 `secrets/` 目录下
- 文件名格式:`{节点名}-{配置类型}.{扩展名}`
- 例如:`ch4-nomad.hcl`、`ash3c-consul.json`
### 2. 批量部署脚本
使用 `scripts/deploy-security-configs.sh` 脚本批量部署:
```bash
# 部署所有配置
./scripts/deploy-security-configs.sh
# 部署特定节点
./scripts/deploy-security-configs.sh ch4
# 部署特定类型
./scripts/deploy-security-configs.sh all nomad
```
### 3. 配置模板
- `templates/` 目录存放配置模板
- 支持变量替换
- 使用 Jinja2 语法
## 安全注意事项
1. **本地备份**:所有配置文件在上传前都会在本地保存备份
2. **权限控制**确保配置文件权限正确600 或 644
3. **敏感信息**:不要在配置文件中硬编码密码或密钥
4. **版本控制**:使用 Git 跟踪配置变更,但排除密钥文件
## 部署流程
1. 将配置文件放入 `secrets/` 目录
2. 检查配置文件格式和内容
3. 运行批量部署脚本
4. 验证部署结果
5. 清理临时文件
## 故障恢复
如果部署失败:
1. 检查 `logs/` 目录下的错误日志
2. 使用备份文件恢复
3. 重新运行部署脚本
## 联系方式
如有问题,请联系系统管理员。