PRIVATE ALPHA NexaPanel 0.1.0-alpha.7 — private alpha. Not for production-critical workloads. Learn more
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.

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
Admin auth2FA (TOTP) enforced; login rate-limiting
TransportLet's Encrypt TLS, HTTP→HTTPS, security headers, HSTS
Intrusionfail2ban (sshd jail)
UpdatesManifest-driven, SHA-256 verified, reversible apply
BackupsNightly local, checksummed; off-box encrypted backup for upgrades
Responsible disclosure. Found a security issue? Email hello@nexapanel.io. Please do not test against other tenants or attempt destructive operations during alpha.

Review the architecture yourself

Alpha access includes documentation of the security model so you can evaluate it directly.