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

4.4 KiB
Raw Permalink Blame History

安全配置指南

本文档描述了播客生成器应用的安全配置和最佳实践。

认证系统安全

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配置

// 生产环境CORS配置
app.add_middleware(
    CORSMiddleware,
    allow_origins=["https://yourdomain.com"],
    allow_credentials=True,
    allow_methods=["GET", "POST", "PUT", "DELETE"],
    allow_headers=["*"],
)

环境配置

生产环境安全

  1. 环境变量

    # 必须更改的默认值
    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. 事件恢复

    • 修复安全漏洞
    • 恢复正常服务
    • 更新安全策略
    • 总结经验教训

联系信息

如果发现安全漏洞,请通过以下方式联系我们:

我们承诺在24小时内响应安全报告并在合理时间内修复确认的漏洞。