报告漏洞
请私下报告安全问题,不要公开提交:打开存储库的 Security 选项卡,点击 Report a vulnerability,并注明受影响的版本和复现方法。我们会在几个工作日内确认报告,在新版本中修复已确认的问题,并在版本说明中致谢报告者(除非对方另有要求)。
安全修复针对最新版本发布。机器可读的联系方式:security.txt。
BackupZit 如何保护您的数据
备份
AES-256-GCM 加密,密钥由恢复密钥保护(Argon2id),恢复时每个数据块都通过 SHA-256 哈希校验。使用 S3 Object Lock 或加固存储库实现不可变存储;勒索软件检测和自动恢复测试。
控制台
HttpOnly 和 SameSite=Strict 会话 Cookie,CSRF 和点击劫持防护,严格的 Content-Security-Policy,登录尝试频率限制,双因素登录,角色,可选的四眼审批,以及可发送到 syslog 服务器或 SIEM 的哈希链审计日志。
代理端
代理端以出站方式连接控制台——受保护的机器上不开放端口——并在注册时固定控制台的证书。每个代理端都有自己的密钥;控制台上的密钥均加密存储。
只在您的网络中
没有云服务,没有遥测,无需在我们这里注册账户。更新检查从 GitHub 获取已签名的版本;没有互联网的控制台可通过上传版本文件更新。
版本如何受到保护
- 每个版本都使用 BackupZit 的 Ed25519 发布密钥签名;控制台和代理端在安装更新前会校验签名和校验和。
- 安装脚本会校验其下载版本的签名和校验和。
- 软件包从带标签的提交构建;映像附带源代码书面提供说明(
SOURCE-CODE.txt)。 - 控制台更新会先备份数据库,如果新版本无法启动则自动回滚。
BackupZit 如何测试
每次变更时(GitHub Actions)
| 检查 | 发现的问题 |
|---|---|
| CI | go vet 和针对内嵌 PostgreSQL 以及 SFTP、S3、vSphere 模拟器的完整测试套件;Windows 构建 |
| CodeQL | 注入、路径遍历、不安全重定向及其他数据流错误(Go、JavaScript、工作流) |
| govulncheck | Go 以及代码实际调用的依赖中的已知漏洞 |
| staticcheck | 缺陷和无用代码 |
| Dependabot | 存在漏洞或过时的 Go 模块和 Actions |
| Secret scanning | 误提交的凭据(带推送保护) |
| OpenSSF Scorecard | 存储库的供应链实践 |
发布前(在测试实验室中)
| 检查 | 发现的问题 |
|---|---|
| gosec | 不安全的 Go 写法:命令执行、文件权限、弱加密 |
| Semgrep | 注入、XSS、不安全的 Cookie、开放重定向(Go、JavaScript、密钥、OWASP Top 10 规则) |
| Trivy | 存在漏洞的依赖、密钥和错误配置 |
| Gitleaks | 整个 git 历史中的密钥 |
| OWASP ZAP | 以管理员身份登录后的完整扫描:XSS、SQL 注入、CSRF、路径遍历、响应头问题 |
| OpenVAS 和 nmap | 网络层漏洞、开放端口和虚拟设备的 TLS 设置 |
| 端到端 QA | 在真实系统上将每种支持的备份源备份到每种存储类型并恢复;角色、LDAP/SSO、API |
发现的问题会在发布前修复;已接受的风险记录在版本说明中。
本网站
backupzit.com 是一个静态网站:没有 Cookie、没有分析、没有跟踪、没有第三方脚本或字体,并使用不允许任何脚本的 Content-Security-Policy。请参阅隐私政策。