Required hosts
| Host | Purpose | Required |
|---|---|---|
<api-host> — your region’s API host | Job claim, findings / events / spend / artifact upload | Yes (always) |
registry-1.docker.io | Image pull from Docker Hub | Yes (first run + upgrades) |
auth.docker.io | Docker Hub auth handshake | Yes (first run + upgrades) |
production.cloudflare.docker.com | Docker Hub layer CDN | Yes (first run + upgrades) |
| Your scan target | The actual pentest traffic | Yes (per target — varies) |
<api-host> is the API host of the region your organization is in. Allow-list only that one — the worker never contacts another region, and a rule written for the wrong one fails closed.
Set the worker’s region with TIGERGATE_REGION (Setup); leave it unset for us1, whose API host is api.tigergate.dev.
What you do not need
- No outbound to
api.openai.com,api.anthropic.com, etc. — LLM calls happen from TigerGate’s platform, not your worker host. - No inbound from the public internet. The worker is poll-based; it dials out and pulls jobs.
- No UDP. All traffic is HTTPS.
- No TigerGate-side IPs to allow-list. We use a fronting CDN; pin by hostname, not IP.
Verifying connectivity
From the worker host, before installing:Behind a proxy
If your egress goes through an HTTP(S) proxy, configure Docker + the worker:Docker daemon
Worker
Indocker-compose.client.yml add the proxy env to the tigerstrike service:
NO_PROXY if they’re internal — you don’t want the proxy in the loop for the actual pentest traffic.
Air-gapped / mirror registries
If Docker Hub is blocked outright, mirror the worker image to your internal registry:image: line in docker-compose.client.yml to point at your mirror:
Egress IPs / hostname pinning
Every region’s API host resolves to a Cloudflare-fronted address pool. Pin by hostname; don’t try to allow-list IPs — they rotate. If your firewall doesn’t support hostname rules, contact[email protected] and we’ll provide the current Cloudflare ASN / IP-list snapshot. You’ll need to refresh it monthly.
Outbound to scan targets
The worker reaches scan targets directly, not via the platform. So:- Public targets — same as a regular browser; you typically don’t need extra firewall rules.
- Internal targets — make sure the worker host has network access to your private subnet (e.g. it’s deployed inside the same VPC, or has a VPN tunnel to it).
- Allow-listed targets — add the worker host’s IP to the target’s allow-list, not TigerGate’s. The worker is the one making requests.