PUBLIC BETA NexaPanel 0.2.0-beta.7 — public beta. One-command install, SHA-256-verified artifacts. Install
Security

Built to be audited, not just trusted

Security is the core design constraint, not a checkbox. Here's how the architecture limits blast radius.

Least-privilege agent

The panel runs unprivileged. A root agent performs privileged actions only via a local socket, with a closed allowlist, HMAC signing, and a peer-UID gate — no arbitrary command execution.

Hardened network

UFW deny-by-default with only 22/80/443 open. PostgreSQL and MariaDB bind to loopback. The agent socket is not TCP-exposed.

Enforced admin 2FA

Admin accounts use password + TOTP; password-only login is rejected. App-level login rate-limiting is in place.

Verified updates

Update artifacts are checksum-verified against a trusted manifest before anything is applied — never a force reinstall.

Backups & rollback

Nightly checksummed local backups and a documented, reversible upgrade path with retained rollback assets.

Scoped RBAC

A least-privilege app_tester role restricted to the Applications Center — no admin, server, DNS, backups, or updates.

No web terminal

The panel ships no terminal or shell endpoint — there is no in-browser shell to expose, misconfigure, or hijack.

Enforcement off by default

License enforcement is off by default; licensing checks never disable your server. The partner licensing API is backend-to-backend only — no browser CORS surface.

Isolated demo

The public demo runs on a dedicated host in demo mode: fake seeded data, automatic resets, no shell, no real licenses or tokens.

Hardening summary

Security posture at a glance

ControlState
Firewall (UFW)Active, deny-by-default — only 22 / 80 / 443
Panel bindLoopback (127.0.0.1) behind nginx
DatabasesPostgreSQL + MariaDB, loopback only
Root agentLocal Unix socket only — not TCP-exposed; HMAC + peer-UID
Terminal / shellNone — no web terminal or shell endpoint exists
Admin auth2FA (TOTP) enforced; login rate-limiting
TransportLet's Encrypt TLS, HTTP→HTTPS, security headers, HSTS
Intrusionfail2ban (sshd jail)
ReleasesContent-addressed artifacts, SHA-256 verified (--verify-artifacts)
UpdatesUpdate Center gated: check → prepare → activate → apply, with backup + reversible apply
LicensingEnforcement off by default; partner API backend-only (token-guarded, no CORS)
BackupsNightly local, checksummed; off-box encrypted backup for upgrades
What we don't claim. NexaPanel is in public beta. We do not claim third-party certifications (SOC 2, ISO 27001, PCI), uptime SLAs, or completed external audits. The architecture is documented so you can evaluate it yourself.
Responsible disclosure. Found a security issue? Email hello@nexapanel.io. Please don't test against other tenants or run destructive operations on the public demo.

Review the architecture yourself

The security model is documented — evaluate it directly, then verify the installer artifacts before running them.