RMMZit

Security

A backup system is the last line of defense, so it must not become the weakest point. Here is how RMMZit is built, tested and released — and how to tell us about a problem.

Report a vulnerability

Please report security problems privately, not in a public issue: open the Security tab of the repository and click Report a vulnerability, with the affected version and how to reproduce it. We confirm reports within a few working days, fix confirmed problems in a new release and credit the reporter in the release notes unless they prefer otherwise.

Security fixes are released for the newest version. Machine-readable contact: security.txt.

How RMMZit protects your computers

Console

The console and the agent endpoint are separate ports; the console accepts only your allowed networks, checked before TLS. Two-factor sign-in for every account, argon2id passwords, short sessions, progressive blocking of failed sign-ins, CSRF protection, a strict Content-Security-Policy and a hash-chained audit log.

Agents

Agents connect outbound only — managed computers need no open ports — pin the server certificate when they enroll, and run only commands signed by the server and checked by the agent.

Remote access

Remote desktop, terminal and files only for users with access to that customer; every session and action is recorded in the audit log, and an optional notice on the remote screen tells the user that someone is connected.

Your network only

No cloud service, no telemetry, no account with us. Root actions of the console (updates, network, time zone) go through a separate helper with a fixed set of validated requests; diagnostics remove passwords, tokens and keys.

How releases are protected

How RMMZit is tested

On every change (GitHub Actions)

CheckWhat it finds
CIgo vet, the full test suite against an embedded PostgreSQL, staticcheck, gosec, govulncheck and Gitleaks; Linux and Windows builds
CodeQLInjection, path traversal, unsafe redirects and other data-flow bugs (Go, JavaScript, workflows)
govulncheckKnown vulnerabilities in Go and in the dependencies the code actually calls
staticcheckBugs and dead code
DependabotVulnerable or outdated Go modules and actions
Secret scanningCredentials committed by mistake (with push protection)
OpenSSF ScorecardSupply-chain practices of the repository

Before releases (in a test lab)

CheckWhat it finds
gosecInsecure Go patterns: command execution, file permissions, weak cryptography
SemgrepInjection, XSS, insecure cookies, open redirects (Go, JavaScript, secrets, OWASP Top 10 rules)
TrivyVulnerable dependencies, secrets and misconfigurations
GitleaksSecrets in the whole git history
OWASP ZAPFull scan signed in as an administrator: XSS, SQL injection, CSRF, path traversal, header problems
OpenVAS and nmapNetwork-level vulnerabilities, open ports and TLS settings of the appliance
End-to-end QAEnrollment, monitoring, alerts, remote desktop, terminal, files, scripts, updates, roles, LDAP and SSO on real Windows and Linux machines

Findings are fixed before the release; accepted risks are documented in the release notes.

This website

rmmzit.com is a static site: only a language cookie, no analytics, no trackers, no third-party scripts or fonts, and a Content-Security-Policy that allows no scripts at all. See the privacy policy.