Files
Podcast-Generator/server/SECURITY.md
hex2077 d3bd3fdff2 refactor: 更新音频文件路径和UI样式调整
fix: 修正TTS提供商配置中的null值问题
chore: 清理无用文件和更新输入文本内容
2025-08-20 14:18:18 +08:00

218 lines
4.4 KiB
Markdown
Raw Permalink 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.
# 安全配置指南
本文档描述了播客生成器应用的安全配置和最佳实践。
## 认证系统安全
### JWT令牌管理
1. **密钥安全**
- 使用强随机密钥至少32字符
- 定期轮换JWT密钥
- 在生产环境中使用环境变量存储密钥
2. **令牌过期策略**
- 访问令牌30分钟过期
- 刷新令牌7天过期
- 实现令牌黑名单机制
3. **令牌存储**
- 使用HttpOnly Cookie存储刷新令牌
- 访问令牌存储在内存中
- 启用Secure和SameSite属性
### OAuth安全
1. **Google OAuth**
- 验证state参数防止CSRF攻击
- 使用HTTPS重定向URI
- 限制授权范围
2. **微信OAuth**
- 验证二维码场景ID
- 设置合理的二维码过期时间
- 验证回调来源
## 数据保护
### 用户数据安全
1. **数据加密**
- 敏感数据使用AES-256加密
- 密码使用bcrypt哈希
- 传输层使用TLS 1.3
2. **数据最小化**
- 只收集必要的用户信息
- 定期清理过期数据
- 实现数据匿名化
### 会话管理
1. **会话安全**
- 实现会话超时机制
- 检测异常登录行为
- 支持强制登出功能
2. **并发控制**
- 限制同一用户的并发会话数
- 检测重复登录
- 实现设备管理功能
## API安全
### 请求验证
1. **输入验证**
- 验证所有用户输入
- 使用白名单过滤
- 防止SQL注入和XSS攻击
2. **速率限制**
- 实现API调用频率限制
- 防止暴力破解攻击
- 监控异常请求模式
### CORS配置
```javascript
// 生产环境CORS配置
app.add_middleware(
CORSMiddleware,
allow_origins=["https://yourdomain.com"],
allow_credentials=True,
allow_methods=["GET", "POST", "PUT", "DELETE"],
allow_headers=["*"],
)
```
## 环境配置
### 生产环境安全
1. **环境变量**
```bash
# 必须更改的默认值
JWT_SECRET_KEY=your-production-jwt-secret-key
PODCAST_API_SECRET_KEY=your-production-api-secret-key
# 数据库安全
DATABASE_URL=postgresql://user:password@localhost/dbname
# Redis安全
REDIS_URL=redis://user:password@localhost:6379
```
2. **服务器配置**
- 禁用调试模式
- 配置防火墙规则
- 启用日志监控
- 定期安全更新
### 开发环境安全
1. **本地开发**
- 使用不同的密钥
- 启用详细日志
- 使用测试数据
2. **代码安全**
- 不提交敏感信息到版本控制
- 使用.gitignore排除配置文件
- 定期安全代码审查
## 监控和日志
### 安全监控
1. **日志记录**
- 记录所有认证事件
- 监控失败的登录尝试
- 记录权限变更
2. **异常检测**
- 监控异常API调用
- 检测可疑用户行为
- 实时安全告警
### 审计跟踪
1. **用户操作审计**
- 记录用户关键操作
- 保留审计日志
- 支持合规性要求
2. **系统事件记录**
- 记录系统配置变更
- 监控资源使用情况
- 跟踪性能指标
## 安全检查清单
### 部署前检查
- [ ] 更改所有默认密钥和密码
- [ ] 配置HTTPS和SSL证书
- [ ] 启用防火墙和安全组
- [ ] 配置备份和恢复策略
- [ ] 测试所有安全功能
- [ ] 进行渗透测试
- [ ] 配置监控和告警
- [ ] 准备安全事件响应计划
### 定期安全维护
- [ ] 更新依赖包和安全补丁
- [ ] 轮换密钥和证书
- [ ] 审查用户权限
- [ ] 检查日志和监控
- [ ] 备份验证和恢复测试
- [ ] 安全培训和意识提升
## 安全事件响应
### 事件分类
1. **高危事件**
- 数据泄露
- 未授权访问
- 系统入侵
2. **中危事件**
- 异常登录
- API滥用
- 权限提升
3. **低危事件**
- 密码重置
- 账户锁定
- 配置变更
### 响应流程
1. **事件检测**
- 自动监控告警
- 用户报告
- 定期安全扫描
2. **事件响应**
- 立即隔离受影响系统
- 评估影响范围
- 通知相关人员
- 收集证据和日志
3. **事件恢复**
- 修复安全漏洞
- 恢复正常服务
- 更新安全策略
- 总结经验教训
## 联系信息
如果发现安全漏洞,请通过以下方式联系我们:
- 邮箱security@yourcompany.com
- 加密通信使用PGP密钥
- 紧急联系:+86-xxx-xxxx-xxxx
我们承诺在24小时内响应安全报告并在合理时间内修复确认的漏洞。