Files
wecom_it_smart_desk/docs/08-安全审计/安全-安全管理/secret-管理.md
T

81 lines
1.9 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.
# 智能IT支持服务台 - Secret 管理方案
**版本**: 1.0
**更新日期**: 2026-06-14
**状态**: 规划中
---
## 一、背景
当前 `.env` 文件中存储了敏感信息:
- WECOM_SECRET(企微应用密钥)
- WECOM_ENCODING_AES_KEY(消息加密密钥)
- DIFY_API_KEYDify API 密钥)
- POSTGRES_PASSWORD(数据库密码)
- REDIS_PASSWORDRedis 密码)
**风险**
- `.env` 文件在 Git 仓库中(虽然被 .gitignore 排除,但部署时需手动复制)
- 服务器上 `.env` 文件可能被未授权访问
- 密钥轮换需要手动修改文件和重启服务
---
## 二、长期方案
### 方案对比
| 方案 | 复杂度 | 安全性 | 适用场景 |
|------|--------|--------|----------|
| **Server Keyring** | 低 | 中 | Linux 服务器(当前使用) |
| **Docker Secrets** | 中 | 高 | K8s/ Swarm |
| **HashiCorp Vault** | 高 | 高 | 企业级 |
### 推荐:Server Keyring
#### 方案1Server KeyringLinux,当前使用)
> ⚠️ NAS 部署方案已下线,当前使用公司内网服务器部署
```bash
# 使用 keyring 工具
keyring set wecom-it-desk WECOM_SECRET
keyring get wecom-it-desk WECOM_SECRET
```
#### 方案2Docker Secrets(备选)
```bash
# 使用 keyring 工具
keyring set wecom-it-desk WECOM_SECRET
keyring get wecom-it-desk WECOM_SECRET
```
---
## 三、短期止血
| 操作 | 说明 |
|------|------|
| 限制 .env 文件权限 | `chmod 600 .env` |
| 不在 URL 中暴露 token | 已完成(P0-#4 |
| 定期轮换密钥 | 建议每季度 |
| 审计日志 | 规划中 |
---
## 四、实施计划
| 阶段 | 内容 | 优先级 |
|------|------|--------|
| MVP | 当前方案 + 限制文件权限 | P0 |
| V1 | 迁移到 Server Keyring | P2 |
| V2 | 迁移到 HashiCorp Vault | P3 |
---
## 五、相关文档
- `.env.example` - 环境变量模板(含 TODO 注释)
- `docs/安全审计报告.md` - 安全审计记录