Skip to content

Security: doramart/student-task

Security

SECURITY.md

安全指南

🔒 安全报告

如果您发现了安全漏洞,请不要在公共 issue 中报告。请通过以下方式联系我们:

我们会尽快响应安全报告,并在修复后公开披露。

🛡️ 安全最佳实践

环境变量管理

  1. 本地开发

    • 使用 .env 文件存储敏感配置
    • 确保 .env 文件已添加到 .gitignore
    • 不要在代码中硬编码敏感信息
  2. 生产环境

    • 使用系统环境变量或容器环境变量
    • 考虑使用密钥管理服务(如 AWS Secrets Manager、Azure Key Vault)
    • 定期轮换密钥和令牌

密码和密钥

  1. JWT 密钥

    • 生产环境必须使用强密钥(建议 32 字符以上)
    • 使用随机生成器生成密钥
    • 定期轮换 JWT 密钥
  2. 数据库认证

    • 使用专用数据库用户
    • 限制数据库用户权限
    • 使用强密码
  3. API Token

    • 使用安全的随机生成器生成 token
    • 实施 token 过期机制
    • 监控异常访问

网络安全

  1. HTTPS

    • 生产环境必须使用 HTTPS
    • 配置 SSL/TLS 证书
    • 启用 HTTP 严格传输安全 (HSTS)
  2. CORS 配置

    • 配置具体的允许域名,避免使用 *
    • 限制允许的 HTTP 方法
    • 验证 Origin 头
  3. API 安全

    • 实施请求频率限制
    • 输入验证和清理
    • 使用 CSRF 保护(如需要)

数据保护

  1. 敏感数据处理

    • 不在日志中记录敏感信息
    • 对敏感数据进行加密存储
    • 实施数据访问权限控制
  2. 用户认证

    • 实施强密码策略
    • 考虑多因素认证
    • 安全地存储密码哈希

⚠️ 已知注意事项

  1. 开发环境配置

    • 开发环境使用的默认密钥仅供开发使用
    • 不要在生产环境使用开发环境的配置
  2. 依赖更新

    • 定期更新依赖包以修复安全漏洞
    • 使用 npm auditpnpm audit 检查漏洞

🔍 安全检查清单

在部署前请确认:

  • 所有环境变量已正确配置
  • 使用了强密钥和密码
  • CORS 配置限制了具体域名
  • 启用了 HTTPS
  • 数据库访问权限正确配置
  • 依赖包已更新到最新安全版本
  • 日志中不包含敏感信息

📚 安全资源

📞 联系方式

如有安全相关问题,请联系:


我们重视项目和用户的安全,感谢您帮助我们保持项目的安全性。

There aren’t any published security advisories