Bỏ qua để đến nội dung
Security model The three auth layers, agent tokens, credential sealing, and the audit log.

Security model

Nội dung này hiện chưa có sẵn bằng ngôn ngữ của bạn.

MZPanel is designed so the customer VPS opens no inbound ports and the control plane never stores more secrets than it needs.

LayerFrom → toMechanism
AUser → dashboardSession cookie (httpOnly, SameSite=Strict, Secure)
BDashboard → APIThe same session cookie (same-origin / credentialed CORS)
CAgent → API (WS)Long-lived agent token, rotated when the license changes

The agent’s first contact uses a one-time install token (1-hour TTL); it swaps that for the long-lived agent token during registration.

  • The install token is single-use and short-lived — safe to paste into a one-liner.
  • The long-lived agent token is rotated when your license changes.
  • Tokens authenticate the WebSocket; there is no inbound port to attack on the VPS.

When you store credentials for an external destination (e.g. an offsite backup target), MZPanel acts as a blind broker: it keeps only ciphertext. The plaintext is sealed client-side and the control plane cannot read it. See docs/17-credential-sealing.md.

Every action on the control plane is recorded: who did it, when, the command, its exit code, and the log output. This is far more than shell history — it’s the system of record for everything done across your fleet.

See also: docs/09-security-model.md.