docs/netdata-agent/configure-netdata-for-cybersecurity-platforms.md
This guide is intended to help you place Netdata behind enterprise security controls such as reverse proxies, firewalls, VPN gateways, or secure-access platforms. The UI differs by product, but the Netdata-side configuration and network design remain the same.
Before you configure your security platform, choose the Netdata access model that fits your environment:
| Access model | Best for | Netdata configuration |
|---|---|---|
| Cloud-only access | Environments that do not allow inbound access to the Agent | Disable the local dashboard with mode = none |
| Access through a security platform or reverse proxy | Environments that publish Netdata through HTTPS, SSO, VPN, or application gateways | Keep Netdata on a private interface and allow only the gateway path |
| Access on a private management network | Environments with a dedicated admin network | Bind Netdata only to the management interface and restrict allowed clients |
If you are not sure which model to use, start with the smallest exposed surface:
For firewall and proxy allowlisting, your Netdata Agents need the following network access:
| Direction | Port | Protocol | Purpose |
|---|---|---|---|
| Inbound | 19999/TCP | TCP | Local dashboard access and streaming from Child Agents |
| Outbound | 19999/TCP | TCP | Streaming to a Parent Agent (Child Agents only) |
| Outbound | 443/TCP | WSS/HTTPS | Agent-Cloud Link (ACLK), anonymous telemetry, and automatic updates |
:::note
Port 19999 is the default, configurable via [web] port in netdata.conf, and is multiplexed: the same port handles both dashboard HTTP requests and the Netdata streaming protocol (a custom binary protocol over TCP). The server auto-detects which protocol the client is using based on the initial handshake. From a firewall perspective, both are simply TCP on port 19999.
You can disable inbound access on port 19999 by setting mode = none in netdata.conf when using Cloud-only access. This also disables inbound streaming. See Configure Cloud-only access for details.
:::
Allow the following domains through your firewall or proxy. All outbound connections use port 443.
| Domain | Purpose | Active by default | How to disable |
|---|---|---|---|
app.netdata.cloud | Netdata Cloud application (ACLK) | Off — only when a node is connected to a Space | Do not connect the Agent to Netdata Cloud |
api.netdata.cloud | Netdata Cloud API (ACLK) | Off — only when a node is connected to a Space | Do not connect the Agent to Netdata Cloud |
mqtt.netdata.cloud | Agent-Cloud Link MQTT broker | Off — only when a node is connected to a Space | Do not connect the Agent to Netdata Cloud |
us-east1-netdata-analytics-bi.cloudfunctions.net | Anonymous telemetry (Agent daemon) | On | --disable-telemetry flag or opt-out file |
repository.netdata.cloud | Package downloads and automatic updates | On for online installs | --no-updates at install, or disable netdata-updater.sh |
get.netdata.cloud | Installer script (kickstart.sh) download | Install time only | Pre-download the script for an offline install |
:::note
When users open the local Agent dashboard (http://NODE:19999), the dashboard JavaScript sends anonymous page-view events to PostHog cloud. This traffic is browser-initiated — it is governed by browser-level proxy and content-filtering policies, not by host firewall rules. Use the same opt-out controls to disable it. See Anonymous telemetry events.
:::
:::important
Prefer domain-based allowlisting over IP-based rules. IP addresses can change without notice and vary based on your geographic location due to CDN-edge servers.
:::
For the complete behavioral reference — including triggers, default states, and step-by-step disable instructions for each path — see Outbound Network Communication.
For broader firewall design principles and recommended network architecture, see Network rules your cybersecurity platform should enforce below.
Use this pattern when your security platform mainly controls outbound traffic and users access dashboards via Netdata Cloud instead of connecting directly to port 19999.
Edit netdata.conf with the edit-config script.
Disable the local dashboard:
[web]
mode = none
Restart the Agent. For platform-specific steps, see Edit Configuration Files.
Verify that dashboards remain available from Netdata Cloud.
For step-by-step operational details, see:
The Agent web server stops accepting inbound requests. This reduces exposure, but it also disables inbound streaming. Do not use this setting on Parent Agents that receive data from Child Agents.
Use this pattern when a platform such as Sophos, an authenticating reverse proxy, or a secure-access gateway publishes Netdata to users over HTTPS.
Bind Netdata to a private interface instead of exposing it on every address:
[web]
bind to = 10.0.0.15:19999 localhost:19999
Replace 10.0.0.15 with the private interface your security platform can reach.
If you want direct Netdata authorization through Netdata Cloud, enable bearer token protection:
[web]
bind to = 10.0.0.15:19999 localhost:19999
bearer token protection = yes
This keeps the dashboard available only on the private interface while requiring Cloud authentication for data access.
Restart the Agent. For platform-specific steps, see Edit Configuration Files.
Publish the Agent through your security platform using the private Netdata address as the upstream target.
Use an internal upstream such as:
http://10.0.0.15:19999
The platform should terminate HTTPS, apply your organization's authentication and policy controls, and forward requests only to this private Netdata endpoint.
Restrict network access so only the security platform path can reach Netdata on port 19999.
In practice, this usually means:
19999For implementation details and hardening examples, see:
If the external platform already authenticates users, you can rely on it and keep Netdata on a private address. If you want Netdata Cloud roles and permissions to apply when users open the Agent directly through the published URL, enable bearer token protection.
Use bearer token protection when:
Use external-platform authentication only when:
Use this pattern when administrators already use a private LAN, VPN, or bastion network and you do not want to publish Netdata through a broader application gateway.
Bind Netdata to the management interface:
[web]
bind to = 10.1.1.1:19999 localhost:19999
Restrict who can connect:
[web]
bind to = 10.1.1.1:19999 localhost:19999
allow connections from = localhost 10.*
Restart the Agent. For platform-specific steps, see Edit Configuration Files.
Verify that the dashboard is reachable only from the management network.
For detailed operational steps, see:
No matter which product you use, your platform design should follow these rules:
19999 directly to the public internetIf you deploy Netdata Parents, apply the same principle to the Parent dashboard. Child Agents should stream to Parents over trusted paths instead of being individually exposed.
Platforms such as Sophos are typically used to enforce one or more of these controls:
The exact product workflow differs, but the architecture usually looks like this:
http://10.0.0.15:19999.This approach keeps Netdata aligned with enterprise security controls without requiring public exposure of the Agent.
:::note
This is a vendor-specific example. Use it as a pattern and adapt it to your platform's equivalent exclusion workflow and policy controls.
:::
If you run the Netdata Agent on Windows and Sophos Central blocks or interferes with the Netdata executable, add a global exclusion for the Netdata binary.
In our testing, Sophos did not flag the Netdata binary as malicious. Sophos may still block Netdata because the Agent monitors network traffic and CPU activity on the host, which can trigger behavior-based protections.
:::note
Sophos Central labels and layout may change over time. The steps below reflect the current workflow.
:::
Open Global Settings in Sophos Central:
https://central.sophos.com/manage/overview/settings-list
Open Global Exclusions.
Select Add exclusions.
In the new window, add an exclusion for:
When Sophos asks for the path, enter:
C:\Program Files\Netdata\usr\bin\netdata.exe
Clear Protect Application.
Select Save.
This exclusion applies to the Windows Netdata executable path shown above.
Map this exclusion into your broader access model and network controls in Network rules your cybersecurity platform should enforce.