Software Secure Workload
Activity Configure

Client-Server Classification

Flow direction (client/server or provider/consumer classification) is important for visibility, automatic policy discovery, and enforcement. Every unicast flow has a client and a server classification.

For example, if there are clients (192.168.1.1-192.168.1.3) accessing a web server (192.168.2.1) using https, typically the source port is an ephemeral port in the range 1025-65535 and the destination port is 443.

Client Server Classification
Figure 1: Client-Server Classification

The accurate client-server direction is:

  • Client: 192.168.1.1-3

  • Server: 192.168.2.1

  • Services: TCP port 443

Policies generated by automatic policy discovery are shown in the figure (with left endpoints grouped):

Policies generated
Figure 2: Policies Generated

Now, if the client - server direction decision is reversed (an inaccurate classification), that is:

  • Client: 192.168.2.1

  • Server: 192.168.1.1-3

  • Services: the list of ephemeral ports (45680, 51112, 45553)

Then, in the above inaccurate classification, the policies generated may be as shown in the figure:

Inaccurate classification
Figure 3: Inaccurate classification

This consumes more resources in terms of policy enforcement. In addition, depending on how you enforce the policy, even though 192.168.1.1-3 uses these ephemeral ports, they can’t access 192.168.2.1. For example, if you use Secure Workload software sensor enforcement, the enforcement policy for Client to Web above (ESTAB) doesn’t match with traffic generated by Client destined to Web (NEW, ESTAB).

Timestamps and TCP flags are used in Secure Workload to determine the client-server direction. If there are no TCP flags information (SYN, SYN/ACK) because, for example, the packets could be UDP/ICMP or an HW sensor is used that doesn’t support direction signals, then user-defined override rules, timestamps, and other heuristics are used to infer the flow direction. Heuristics by definition don’t guarantee 100% accuracy. Client-server accuracy is a function of the type of sensor used and the conditions in which sensors are used. You can use Secure Workload’s REST-API (OpenAPI) to insert client-server override rules to identify the server ports for those flow types that Secure Workload gets the direction wrong. Then allow Secure Workload to process new flow data captured with those rules in place, and then generate the policies over the time duration when the flow direction were fixed. For more details on the API to specify override rules, see Client Server Configuration. You can also manually define policies, examine or remove the undesired policies. For more information on how to define or remove undesired policies, see Policies.