Security

Is a server monitoring agent safe? What does "no inbound ports" mean?

The security questions to ask any server monitoring agent: inbound ports, privileges, what it reads, how updates are verified, what remote actions do.

In short

A monitoring agent is safe on production when it opens no inbound ports (it only makes outbound HTTPS calls, so nothing can connect to it), is read-only by default, never reads application secrets, signs its telemetry, verifies signatures on its own updates, and makes any remote-action capability an explicit per-server opt-in with an audit trail. The Opservo agent meets all six.

What does "no inbound ports" actually mean?

The agent never listens on a socket. It initiates every connection outbound to the API over HTTPS, sends a heartbeat every 60 seconds, and pulls any work (such as an uptime probe assignment or an opted-in command) from the response. There is nothing for a scanner to find and nothing to firewall. This is the same model as a package updater, not an SSH daemon.

What does the agent read, and what does it refuse to read?

  • •Reads: /proc and /sys, systemd, the Docker socket, PM2, nginx and Apache config for virtual hosts, listening ports, journald and well-known application logs, MySQL, Redis and PostgreSQL status via local sockets
  • •Never reads .env files or application secrets; database access uses local status commands, not app credentials
  • •Masks usernames and IP addresses in SSH login events before they leave the server
  • •Ships normalized log entries; the API stores only clustered patterns and counts, never raw lines
  • •Buffers up to 24 hours locally in SQLite if the API is unreachable, then catches up

How is telemetry and the agent itself protected?

Every heartbeat is HMAC-SHA256 signed with a per-server secret assigned at registration; the API rejects unsigned or forged payloads. Auto-updates are Ed25519-signed with a key that is never on the API server, so a compromised API cannot push a trojanized agent. The agent is a single static Go binary under 10 MB with no runtime dependencies.

What can remote actions do, and who decides?

By default nothing: the executor is compiled in but disabled. An operator enables it per server with OPSERVO_ENABLE_ACTIONS=true; a fleet-wide update never turns it on. When enabled, commands are Ed25519-signed by the API, verified by the agent before running, executed with a timeout and output cap, and recorded permanently in an audit table. Dispatch from the dashboard requires an owner or admin role and step-up confirmation. Uptime probes run from a server are a separate opt-in.

What questions should you ask any vendor?

  • •Does the agent listen on any port? Which?
  • •What user does it run as, and what capabilities does it hold?
  • •Which files does it read? Does it ever open .env or config files with secrets?
  • •Are payloads signed? Are updates signed with a key held off the update server?
  • •Can the vendor run commands on my server? Is that on by default? Is it audited?
  • •What leaves the server in raw form: logs, usernames, IPs?

Last updated 2026-09-23.

FAQ

Related questions

Does the Opservo agent run as root?+

Yes, as a systemd service, because reading every process, the Docker socket and system logs requires it. It holds no inbound port and runs no command unless remote actions are enabled on that server. A scoped sudoers entry, not a blanket NOPASSWD, is recommended for privileged fixes.

Can Opservo see my database contents?+

No. Database insights use status and statistics commands (for example SHOW GLOBAL STATUS, INFO, pg_stat_statements) and strip literals from query patterns before anything leaves the server.

What if I never want remote actions?+

Leave them off. The product is fully functional read-only: score, findings, explanations, forecasts, uptime, incidents and alerts all work; the fix is shown as a command for you to run yourself.

Is the agent open source?+

No, but its trust model is documented on the security page, the installer verifies the signed manifest, and the security posture rules it enforces are published in the Opservo Health Standard.