How Can I Configure external-controller, Dashboard, and secret More Safely?

external-controller is a runtime control API that can read policy groups, connections, and logs. If it is exposed to a network, set a secret and restrict who can access it.

  • Security, Privacy, and Permissions
  • Security notice
Short answer

external-controller is a runtime control API that can read policy groups, connections, and logs. If it is available over a network, set a secret and restrict access. Bind it to 127.0.0.1 for local-only use. LAN access also requires a strong secret and firewall allowlist; a public entry point additionally requires HTTPS and separate authentication.

Reduce the listening scope first

Inspect the external-controller listening address and port, then use a private window to test whether the Dashboard can read connections and policies without a secret.

  • Is the listening address 127.0.0.1, 0.0.0.0, or a LAN IP?
  • Is the secret empty or too short?
  • Is the Dashboard exposed publicly over plain text?
  • Does the reverse proxy provide separate authentication?

Create a minimum secure configuration

  1. Prefer listening on 127.0.0.1 for local use
  2. Set a strong secret when LAN access is required(See External Controller)
  3. Add access control and HTTPS before the reverse proxy
  4. Do not expose a real secret in screenshots or configuration examples