安全策略与合规说明
目标
确保文档转换服务在上传、转换与下载环节安全可控,保护系统与用户数据。
访问控制
- CORS 白名单:通过
WHITE_LIST控制允许访问的主机名。错误时返回403 NotAllowed。 - 接口开放:基础健康检查
/与转换接口/convert系列。建议在网关层做认证与授权。
输入安全
- 文件大小限制:
MAX_FILE_SIZE(MB),避免资源滥用。 - 格式与 MIME 校验:仅允许白名单格式(Word/Excel/PPT/ODF 等)与匹配的 MIME。
- 路径与 URL 校验:
- 禁止目录穿越(仅允许服务内受控路径)。
- 下载网络文件时验证
http/https且来源可信,避免 SSRF。 - 对
filename、url等参数进行 URL 解码并二次校验。
数据安全
- 文件哈希缓存:避免重复转换,减少资源消耗。
- 目录隔离:
uploads与converted目录分离,可按日期分层。 - 日志信息:避免在日志中记录敏感数据(如数据库密码)。
传输安全
- 优先启用 HTTPS,尤其是生产环境与 Webhook 回调。
- 反向代理(如 Nginx)层添加安全头(
X-Content-Type-Options、X-Frame-Options)。
速率与并发
- 建议在网关或代理层添加限流策略(按 IP/用户)。
- 大文件转换建议加入队列与并发控制,降低峰值风险。
Webhook 安全
- 使用 HTTPS 回调地址。
- 增加签名校验(如 HMAC-SHA256),在请求头携带
X-Signature。 - 接收端进行重放保护(基于
taskId幂等)。
依赖安全
- 定期更新 NPM 依赖,修复已知漏洞。
- 使用只读权限挂载字体与资源目录。
日志与审计
- 使用
LOG_DIR聚合日志,并对关键事件(未捕获异常、拒绝)进行记录。 - 合规:遵循数据最小化与可审计原则,满足企业安全要求。