报告漏洞
请私下报告安全问题,不要公开提交:打开存储库的 Security 选项卡,点击 Report a vulnerability,并注明受影响的版本和复现方法。我们会在几个工作日内确认报告,在新版本中修复已确认的问题,并在版本说明中致谢报告者(除非对方另有要求)。
安全修复针对最新版本发布。机器可读的联系方式:security.txt。
RMMZit 如何保护您的计算机
控制台
控制台和代理连接点使用不同端口;控制台只接受您允许的网络,在 TLS 之前检查。每个账户都启用两步登录,argon2id 密码,短会话,登录失败后逐步延长锁定,CSRF 防护,严格的 Content-Security-Policy,以及以哈希链接的审计日志。
代理
代理只主动向外连接——被管理的计算机无需开放端口——,在注册时固定服务器证书,只执行由服务器签名并经代理验证的命令。
远程访问
远程桌面、终端和文件仅对有权访问该客户的用户开放;每个会话和操作都记入审计日志,远程屏幕上的可选通知会告诉用户有人已连接。
只在您的网络中
没有云服务,没有遥测,无需在我们这里注册账户。控制台发起的 root 操作(更新、网络、时区)通过一个独立的助手进程,只接受一组固定的、经过校验的请求;诊断信息会去除密码、令牌和密钥。
版本如何受到保护
- 每个版本都使用 RMMZit 的 Ed25519 发布密钥签名;控制台和代理端在安装更新前会校验签名和校验和。
- 安装脚本会校验其下载版本的签名和校验和。
- 软件包从带标签的提交构建;映像附带源代码书面提供说明(
SOURCE-CODE.txt)。 - 控制台更新会先备份数据库,如果新版本无法启动则自动回滚。
RMMZit 如何测试
每次变更时(GitHub Actions)
| 检查 | 发现的问题 |
|---|---|
| CI | go vet、使用内置 PostgreSQL 的完整测试套件、staticcheck、gosec、govulncheck 和 Gitleaks;Linux 和 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 | 在真实的 Windows 和 Linux 计算机上测试注册、监控、告警、远程桌面、终端、文件、脚本、更新、角色、LDAP 和 SSO |
发现的问题会在发布前修复;已接受的风险记录在版本说明中。
本网站
rmmzit.com 是一个静态网站:只有一个语言 Cookie、没有分析、没有跟踪、没有第三方脚本或字体,并使用不允许任何脚本的 Content-Security-Policy。请参阅隐私政策。