A connection is called sticky if all packets are handled by a single cluster member. In a non-sticky connection, the reply packet returns via a different cluster member than the original packet.
The cluster synchronization mechanism knows how to properly handle non-sticky connections. In a non-sticky connection, a cluster member can receive an out-of-state packet, which Firewall normally drops because it poses a security risk.
In Load Sharing configurations, all cluster members are active. In Static NAT and encrypted connections, the source and destination IP addresses change. Therefore, Static NAT and encrypted connections through a Load Sharing cluster may be non‑sticky. Non-stickiness may also occur with Hide NAT, but ClusterXL has a mechanism to make it sticky.
In High Availability configurations, all packets reach the Active member, so all connections are sticky. If failover occurs during connection establishment, the connection is lost, but synchronization can be performed later.
If the other members do not know about a non-sticky connection, the packet will be out-of-state, and the connection will be dropped for security reasons. However, the Synchronization mechanism knows how to inform other members of the connection. The Synchronization mechanism thereby prevents out-of-state packets in valid, but non‑sticky connections, so that these non-sticky connections are allowed.
Non-sticky connections will also occur if the network Administrator has configured asymmetric routing, where a reply packet returns through a different Security Gateway than the original packet.
The 3-way handshake that initiates all TCP connections can very commonly lead to a non-sticky (often called asymmetric routing) connection. The following situation may arise as depicted in this illustration:
Client A initiates a connection by sending a SYN packet to server B. The SYN passes through Security Gateway C, but the SYN/ACK reply returns through Security Gateway D. This is a non-sticky connection, because the reply packet returns through a different Security Gateway than the original packet.
The synchronization network notifies Security Gateway D. If Security Gateway D is updated before the SYN/ACK packet sent by server B reaches it, the connection is handled normally. If, however, synchronization is delayed, and the SYN/ACK packet is received on Security Gateway D before the SYN flag has been updated, then the Security Gateway will treat the SYN/ACK packet as out-of-state, and will drop the connection.
You can configure enhanced 3-Way TCP Handshake enforcement to address this issue.
The synchronization mechanism prevents out-of-state packets in valid, but non-sticky connections. The way it does this is best illustrated with reference to the 3-way handshake that initiates all TCP data connections. The 3-way handshake proceeds as follows:
To prevent out-of-state packets, the following sequence (called "Flush and Ack") occurs
Organizations sometimes need to locate cluster members in geographical locations that are distant from each other. A typical example is a replicated Data Center, whose locations are widely separated for disaster recovery purposes. In such a configuration, it is clearly impractical to use a cross cable for the synchronization network.
The synchronization network can be spread over remote sites, which makes it easier to deploy geographically distributed clustering. There are two limitations to this capability:
You can monitor and troubleshoot geographically distributed clusters using the command line interface.
The following restrictions apply when you synchronize cluster members:
The reason for these restrictions is that the user authentication state is maintained by a process on the Security Gateway. It cannot be synchronized on cluster members the same way that kernel data is synchronized. However, the states of Session Authentication and Client Authentication are saved in kernel tables, and can be synchronized.
Configure State synchronization as part of the process of configuring ClusterXL and OPSEC certified clustering products. Configuring State synchronization involves the following steps:
For configuration procedures, refer to the sections for configuring ClusterXL and OPSEC certified cluster products.
To set a service not to synchronize:
It is possible to have both a synchronized and a non-synchronized definition of the service, and to use them selectively in the Security Rule Base.
Before you start this procedure, become familiar with the concept.
Note - This feature is limited to HTTP-based services. The Start synchronizing option is not displayed for other services. |
To configure duration limited synchronization: