Skip to main content
Migration Notice
We're migrating documentation from the old portal into this one. Some things may look a little different or out of place in the meantime — we know, and we're working to get it right. If something's unclear or doesn't look right, let us know.

Deployment Firewall & Port Requirements

This page lists the host requirements for the console appliance, the vault agent, and the copy agent, and every network flow and port your firewall team must permit. It is written for network and security engineers, deployment architects and firewall teams.


Product Deployment Prerequisites​

Console appliance — prerequisites​

The console is delivered as an appliance image for VMware or Hyper-V. The host/cluster must be able to satisfy the following minimums for the deployed VM. These are hard minimums, not targets.

ResourceRequirement
vCPU20 × vCPU
Memory100 GiB RAM
Disk680 GiB across four disks — OS 60, application 60, PostgreSQL 60, ClickHouse 500. The ClickHouse disk grows with the audit event rate.
Storage read latency< 5 ms, sampled as a 5-second average
Storage write latency< 5 ms, sampled as a 5-second average
info

Storage latency is a gating requirement. Datastore read and write latency must stay below 5 ms measured on a 5-second rolling average. Sustained latency above this degrades ClickHouse ingest and copy-job throughput. Validate on the target datastore before deployment (e.g. vCenter datastore performance charts, or esxtop disk latency GAVG).

Network / firewall prerequisites​

All component-to-component flows are enumerated in the Complete Port & Flow Matrix, with the direction of each connection and the port opened. Connections are always initiated by the component in the From column.

Vault Agent — host requirements​

The vault agent runs on its own customer-provided Linux VM inside the vault network. It is not deployed on the vault-side ObjectScale host.

ResourceRequirement
vCPU8 × vCPU
Memory32 GB RAM
Operating systemSame list as the copy agent hosts below

The Java, hostname, and time prerequisites listed for the copy agent apply to the vault agent too.

Copy Agent — host requirements​

The copy agent runs on a customer-provided Linux host inside the vault network. Host sizing is driven by the JVM profile assigned to the agent (Setup & Settings > Diagnostics > JVM Profiles). Each profile sizes the JVM heap at ~75% of host RAM; the host's copy-job capacity is prorated on host RAM, anchored at a 48 GB host = 10 concurrent copy jobs.

Sizing by JVM profile:

JVM profileHost RAMJVM heap (-Xmx)Required vm.max_map_countCPU coresConcurrent copy jobs
Default (8 GB host, default)8 GB6 GB11,05942
16 GB Host (host-16g)16 GB12 GB22,11883
24 GB Host (host-24g)24 GB18 GB33,17785
32 GB Host (host-32g)32 GB24 GB44,236167
48 GB Host (host-48g)48 GB36 GB66,355 ⚠1610
64 GB Host (host-64g)64 GB48 GB88,473 ⚠1613
  • Concurrent copy jobs scale linearly with host RAM: jobs = round(host_GB × 10 ÷ 48) (equivalently round(heap_GB × 10 ÷ 36)). Pick the profile that matches the host's RAM.
  • RAM: 8 GB is the practical minimum (Default profile); larger profiles require the host RAM shown above. The heap is ~75% of host RAM; the remainder covers off-heap direct memory (S3 buffers) and OS overhead.
  • Required vm.max_map_count: every profile uses the ZGC garbage collector, which needs a kernel memory-mapping limit of at least floor(heap MB × 1.8). The historical Linux default (65,530) is enough for every profile except the two marked ⚠ — raise the limit on those hosts with sysctl -w vm.max_map_count=<value> (persist via /etc/sysctl.d/) before assigning 48 GB Host or 64 GB Host.
  • Disk: persistent storage for /opt/argus-agent/ — agent JAR ≈ 70 MB, logs ≈ 350 MB (7-day retention), GC logs ≈ 30 MB, plus an OOM heap dump up to the configured JVM heap max.
  • The same per-profile figures appear in Cyber Vault > Agent Fleet Management > Agent Installation > "JVM Profiles & Host Sizing Guide." Custom profiles defined in Setup & Settings > Diagnostics follow the same proration.

Supported operating systems — Linux (x86_64 or aarch64), systemd-based:

  • RHEL 8+
  • Rocky Linux 8+
  • Ubuntu 20.04+
  • SUSE / OpenSUSE
  • any other systemd-based Linux distribution

Prerequisites:

  • Root / sudo access — the install script writes to /etc/systemd/system/ and runs useradd. It creates a dedicated argus-agent system user (no login shell) and runs the agent service as that unprivileged user; root is used for installation only.
  • SELinux must be disabled — the agent service cannot start while SELinux is Enforcing (SELINUX=disabled in /etc/selinux/config, then setenforce 0). The install script exits with instructions if it detects Enforcing.
  • Java 25.0.5 — pre-install Java 25.0.5 in the VM template. The installer checks only for Java 25 or newer, not for 25.0.5. Run java -version and confirm 25.0.5 before you install. The agents run in the vault network, which has no internet access, so this is the default path. If Java is missing or older than 25, the script installs Amazon Corretto 25 instead, which requires outbound HTTPS to corretto.aws.
  • Hostname — the agent's hostname must resolve to its interface IP address, not to a loopback address such as 127.0.1.1.
  • Time — every VM syncs to NTP and runs in UTC. Clock drift places changes in the wrong window.
  • curl — required to download the agent JAR from the console.
  • Network — outbound to the console (443) and, for copy agents, to the source/target S3 endpoints, per the flow matrix in the Complete Port & Flow Matrix.

Installation — run as root on the target host:

curl -fsSL "<CONSOLE_URL>/api/agents/install.sh?type=copy-engine&key=<AGENT_KEY>" | bash
note

Replace the console's 443 and 8443 certificates with CA-issued certificates (TLS 1.2 or higher) before you install agents. Add -k to the curl command only while the console still uses its default certificate, because -k turns the TLS check off.

The script performs pre-flight checks (root, Java), then: creates the argus-agent user, creates /opt/argus-agent/, downloads the agent JAR (authenticated with the agent key), writes a systemd unit with Restart=always, and runs systemctl enable && start. Tail logs with journalctl -u argus-copy-engine -f.


Purpose & Scope​

This document specifies every network flow, port, transport, and direction a customer firewall team must permit to deploy AirGap for ObjectScale. The single authoritative reference is the Complete Port & Flow Matrix; every other section is derived from it.

Components:

  • Console (the management appliance, reachable at https://x.x.x.x (443))
  • Copy Agent (agent service with embedded copy engine — runs inside the vault network)
  • Vault Agent (runs on its own Linux VM inside the vault network)
  • ObjectScale (Dell object storage — acts as both source and vault target)
  • ClickHouse (copy-log / metrics analytics store)
  • ACD (Airgap Control Device — managed switch that gates the vault network port)
info

Throughout, the console is host x.x.x.x serving standard HTTPS on 443/TCP (TLS terminates at the console). Substitute your actual console and ClickHouse addresses.

Direction of trust: Console ↔ Agent traffic is agent-initiated — the agent polls the console and all config/commands ride back in the heartbeat response. The console never opens a connection toward an agent in the vault network. The only console connection into the vault is the prep-mode call to the vault ObjectScale management API (4443), which you remove at lock-down.


Component Roles​

ComponentRoleLocation
ConsoleManagement plane, REST API + GUI, job orchestration, audit analytics. It has no S3 flows and never copies data.Management host x.x.x.x, HTTPS port 443. Outside the vault, on the production management network
Copy AgentData-mover inside the vault network; heartbeats console, runs copy jobs. Only copy agents copy data.Vault network (isolated)
Vault AgentRuns on its own Linux VM inside the vault network; heartbeats console, requests vault network open/close and incremental syncs, sends QTP events and log uploads, reads vault ObjectScale health over the management API (4443), and drives the air-gap control device (ACD) over SSH (22) or RESTCONF (HTTPS 443)Vault network (isolated)
ObjectScaleObject storage — source (production) and vault targetCustomer storage tier
ClickHouseCopy-log / metrics analytics storeOn the console appliance, reached over HTTPS on 8443 through the appliance's nginx
ACD (Airgap Control Device)Managed switch that physically gates the vault network port. It is the air gap.Vault network edge

Network Segments​

Each zone has a management network and a data network. The management network carries the console, agent, and management API traffic. The data network carries S3 traffic. The ObjectScale replication networks are not used by AirGap for ObjectScale. Do not route product traffic over them.

Plan the firewall rules per segment, so that a rule on one network does not open a path on another.

SegmentZoneWhat attachesRouting needed
Production managementProductionConsole, Eyeglass, production cluster management interfacesReachable from the vault management and vault data segments on 443 and 8443 (console)
Production dataProductionProduction S3 endpoint or load balancer VIPReachable from the vault data segment on 9021
Vault managementVaultVault agent, vault ObjectScale management, vault switch management interfaceOutbound route to production management through the vault firewall. Reachable from the console on 4443 during prep mode only
Vault dataVaultCopy agents, vault S3 endpoint or load balancer VIPOutbound route to production management and production data through the vault firewall. Reachable from the vault agent on 9091

Once vault mode is active, no route is needed from any production segment into the vault. Administrators reach vault VMs from a vault-side jump host.


Complete Port & Flow Matrix​

All ports are destination ports. "Source" is the component that opens the TCP connection — the firewall must permit the source to reach the destination port. This table is the complete and authoritative set of flows.

#SourceDestinationPortTransportProtocolPurposeRequired
1aCopy AgentConsole x.x.x.x443TCPHTTPS¹Registration, heartbeat, job fetch and job status callbacks, copy-log push, alarms, self-upgrade download✅ Mandatory
1bVault AgentConsole x.x.x.x443TCPHTTPS¹Registration, heartbeat, group fetch, vault network open/close, start-sync, sync status, abandon-window, QTP events, log upload, device health and node inventory reports, self-upgrade✅ Mandatory (Vault Mode)
2ConsoleObjectScale management API (source)4443TCPHTTPSInventory, version detection, namespace/bucket/ACL provisioning✅ Mandatory
3ConsoleVault ObjectScale management API4443TCPHTTPSProvisioning on the vault✅ Prep mode only. Remove this rule at lock-down²
4Copy AgentObjectScale S3 (source read)9021³TCPS3 (HTTPS)Copy engine reads source✅ Mandatory
5Copy AgentVault Target S3 (write)9021³TCPS3 (HTTPS)Copy engine writes to vault✅ Mandatory
6Copy AgentClickHouse8443 (HTTPS)⁴TCPHTTPS POSTCopy-log writes (smart-skip baseline, progress)✅ Mandatory
7Vault AgentACD switch22 (SSH) or 443 (RESTCONF)TCPSSH or HTTPSOpen/close air-gap port, per the protocol you choose✅ Mandatory — the switch is the air gap
8ConsoleEvery production ObjectScale node, management IP22TCPSSH/SFTPAudit-log ingest. Never through a load balancer VIP✅ Mandatory
9Vault AgentVault ObjectScale mgmt API4443TCPHTTPSVault device health, node inventory, namespace provisioning on the vault✅ Mandatory (Vault Mode)
10Vault AgentCopy workers9091TCPHTTP (plaintext)Tells the copy workers the vault network is opening or closing. Flow stays inside the vault network✅ Mandatory
11ConsoleEyeglass443TCPHTTPSRansomware-detection status polling✅ Mandatory when the threat check is enabled
12Console and agentsDNS servers53TCP/UDPDNSName resolution in each zone✅ Mandatory
13Console and agentsNTP servers123UDPNTPTime sync. Every VM runs in UTC✅ Mandatory
14Vault-side jump hostVault agent and copy worker VMs22TCPSSHAdministrator access to vault VMs➕ As needed
15ConsoleopenSUSE mirrors443TCPHTTPSWeekly operating system patching of the console✅ Mandatory for patching

Legend: ✅ mandatory · ➕ optional / as needed.

¹ Standard HTTPS terminates at the console; in addition, every console↔agent payload is ML-KEM-1024 encrypted at the application layer (QTP). Endpoints (all to https://x.x.x.x): POST /api/agents/heartbeat, POST /api/vault-agents/{id}/log-upload, POST /api/vault-agents/{id}/qtd-vault-event, POST /api/vault-agent/groups/{id}/network-open|network-close|start-sync|abandon-window, GET /api/vault-agent/groups/{id}/sync-status, GET /api/vault-agents/{id}/upgrade-manifest. Auth: X-Agent-Key header (the agent key).

² Prep-mode rule (#3). The console calls the vault ObjectScale management API only while the vault is in prep mode. Once you switch to Vault Mode, remove this rule. See Locking down the vault.

³ S3 ports. 9021 (HTTPS) is the requirement. Open 9020 only where your policy allows unencrypted S3.

⁴ ClickHouse port (#6). The console composes the agent's ClickHouse URL in the heartbeat as {scheme}://{host}:{port} from the ClickHouse host, port and SSL settings in Setup & Settings > Database (HTTPS when SSL is on, HTTP when it is off) and delivers it to the agent verbatim as the clickhouseUrl setting — the agent holds no port of its own. Standard deployed value is 8443 (HTTPS) (SSL on); the fallback if unset is 8123/HTTP. Wherever the console's inbound rules are listed, include copy workers → console 8443.

Job cancel. The console never opens a connection toward the vault network. Job cancels reach agents on the heartbeat. Never open an inbound port to the vault for this.


Direction of Trust​

   ┌────────────────┐  ◄── HTTPS heartbeat ─── agent-initiated ──┐
│ Console │ (config, commands, retry signals, │
│ x.x.x.x : 443 │ credentials all returned in response) │
│ │ ┌────────────┐
└────────────────┘ │ Agents │
└────────────┘
  • Primary flows (#1a, #1b): Copy agent and vault agent > Console x.x.x.x:443. The agent polls; the console answers commands and pushes configuration only as the heartbeat response body.
  • Prep mode (#3): the console reaches the vault ObjectScale management API on 4443 for provisioning. This is the only console connection into the vault, and you remove it at lock-down.
  • Vault firewall posture: once vault mode is active, nothing is inbound to the vault network. Open outbound from the vault to the console (443), to ClickHouse (#6), to storage (#4, #5, #9), and to the ACD switch (#7).

Consolidated Firewall Rules by Zone Boundary​

The same flows as the Complete Port & Flow Matrix, grouped the way a firewall team implements them.

Vault network > Management plane (egress from vault)​

AllowFromToPortProtoFlow
✅Copy AgentConsole x.x.x.x443TCP/HTTPS#1a
✅Vault AgentConsole x.x.x.x443TCP/HTTPS#1b
✅Copy AgentClickHouse8443 (HTTPS) ⁴TCP/HTTPS#6

Vault network > Storage (egress from vault)​

AllowFromToPortProtoFlow
✅Copy AgentSource S3 (ObjectScale)9021 ³TCP/S3#4
✅Copy AgentVault Target S39021 ³TCP/S3#5
✅Vault AgentVault ObjectScale Management API4443TCP/HTTPS#9
✅Vault AgentACD switch22 (SSH) or 443 (RESTCONF)TCP#7

Use the copy worker and vault agent IP addresses as the source of these rules. Do not open them to the whole vault network.

Within the vault network​

AllowFromToPortProtoFlow
✅Vault AgentCopy workers9091TCP/HTTP#10
➕Vault-side jump hostVault agent and copy worker VMs22TCP/SSH#14

Management plane > Storage (egress from console)​

AllowFromToPortProtoFlow
✅ConsoleObjectScale Management API4443TCP/HTTPS#2
✅ (prep mode only)ConsoleVault ObjectScale Management API4443TCP/HTTPS#3
✅ConsoleEvery production ObjectScale node (management IP)22TCP/SSH#8

Management plane > Other services (egress from console)​

AllowFromToPortProtoFlow
✅ConsoleEyeglass443TCP/HTTPS#11
✅Console and agentsDNS servers53TCP/UDP#12
✅Console and agentsNTP servers123UDP#13
✅ConsoleopenSUSE mirrors443TCP/HTTPS#15

Inbound to management plane (ingress to console)​

AllowFromToPortProtoFlow
✅Operators / Copy Agent / Vault AgentConsole x.x.x.x443TCP/HTTPS#1a, #1b
✅Copy AgentConsole x.x.x.x (ClickHouse via the appliance nginx)8443TCP/HTTPS#6
➕OperatorsConsole x.x.x.x80TCP/HTTPredirect to 443 only
info

Console > ClickHouse is intentionally absent — the console and ClickHouse are internal to the management/DB tier and need no customer firewall rule. Only the copy agent > ClickHouse flow (#6) crosses a zone boundary.

Legend: ✅ mandatory · ➕ optional / as needed.


Load balancers​

If a load balancer sits in front of the production or vault ObjectScale S3 endpoints, apply the following:

  • TLS. Pass TLS through, or re-encrypt to the nodes. Do not terminate TLS and forward plain HTTP.
  • Health check. Use GET /?ping on port 9021.
  • Timeouts. Set long idle and request timeouts. Multipart uploads of large parts keep a connection open for a long time.
  • Capacity. Size the production VIP for the TPS budget you set in Setup & Settings > TPS Rate Limiting.
  • Audit-log SFTP. Never send the audit-log SFTP session (flow #8) through a VIP. Connect to each node directly.

Port Reference (defaults & where configured)​

PortUsed byConfigurable?Where it is set
443Console HTTPS service (external) — flow #1. This is the appliance nginx, which proxies to the console on 127.0.0.1:9090 (not exposed). Also the ACD RESTCONF port (#7) and the Eyeglass port (#11)Fixed by the applianceAppliance
8443 (HTTPS; fallback 8123/HTTP)ClickHouse — flow #6host/port/SSL in Setup & Settings > Database, delivered as clickhouseUrlSetup & Settings > Database
9091Copy engine enginePort — flow #10 (vault agent notification and agent API/SSE)agent-reported (default 9091)Reported by the copy agent at registration
4443ObjectScale Management API — flows #2, #3, #9per-deviceObjectScale device settings (Setup & Settings > Storage)
9021 / 9020ObjectScale S3 HTTPS / HTTP — flows #4, #5per-endpointSource device and vault target endpoint settings
22SSH — flow #7 (ACD) / flow #8 (ObjectScale audit-log ingest) / flow #14 (jump host)per-device (acdSshPort, sshPort)ACD settings of the vault agent; ObjectScale device SSH settings

Security Notes​

  1. QTP application-layer encryption is mandatory on every console↔agent payload (flow #1, ML-KEM-1024), with separate keys for console-to-agent responses, agent-to-console messages and credential delivery. This protects payloads independently of transport TLS.
  2. TLS certificate validation for ObjectScale management (#2, #3, #9), S3 endpoints (#4, #5), and ClickHouse (#6) defaults to trust-all (ignoreCerts=true) to accept self-signed certs. Replace the console's 443 and 8443 certificates with CA-issued certificates (TLS 1.2 or higher), supply valid certificates for each device, and turn off the bypass per device in production.
  3. Nothing inbound to the vault once vault mode is active. The vault network needs only egress; keep all inbound rules to the vault closed. The prep-mode rule (#3) is the only exception, and you remove it at lock-down.
  4. Air-gap enforcement is performed by the ACD (a commanded switch), driven by the vault agent: the vault agent opens the vault network (#7), the copy agents run the copies (#4–#6), then the vault agent closes it — one cycle per sync.

Caveats​

  • ACD (#7) is the air gap. The vault agent reaches it over SSH (22) or RESTCONF (HTTPS 443), per the protocol you choose.
  • Copy path (#4, #5): copy jobs run only on the copy agents, so open the source/target S3 flows from the copy agents. The console has no S3 flows.
  • ClickHouse (#6): confirm the actual endpoint your environment exposes (standard 8443/HTTPS) and set it in Setup & Settings > Database so the agent receives the correct clickhouseUrl.
  • Audit-log ingest (#8) is required, always. Point it at each production node's management IP, never at a VIP.