安全策略与合规说明
目标
确保文档转换服务在上传、转换及下载环节安全可控,从而保护系统与用户数据。
输入安全
- 文件大小限制:
MAX_FILE_SIZE(MB),避免资源滥用。 - 路径与 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聚合日志,并记录关键事件(如未捕获异常、拒绝访问等)。 - 合规:遵循数据最小化与可审计原则,满足企业安全要求。