I’m curious if I could build an infrastructure where the clients can only communicate with relays, and not the server itself. Ever.
This post suggests it is possible:
The architecture will look like this:
Server<—>FW1<—>Relay<—>FW2<—>Clients
Clients will be able to see and communicate with relay through FW2, but not able to see or communicate with server though FW1 and then FW2. Relay will be able to communicate with server through FW1 and clients through FW2.
I understand the need to perform extra steps to configure clients to use relay during installation.
A best practice is to isolate the BigFix Server and Console clients (maybe a Terminal Server hosting the console) within a private network segment, so that both Console and Relay access to the server is limited. A small number of “Top-Level Relays” would communicate directly with the server, and other Relays throughout the enterprise form a hierarchy with the “Top-Level Relays” at the top of the chain.
Clients and Relays need ICMP and tcp/52311 (by default, you could change it) traffic “upward” to their parent Relay; and Relays “should” allow udp/52311 downward to their clients (a UDP message is sent to clients when there is a new content/action/etc. available).