Most Linux systems enable TCP SYN cookies by default as a defense against SYN flood attacks, a form of Distributed Denial of Service (DDoS) that targets the TCP handshake process. While this mechanism is valuable for general-purpose servers exposed to untrusted networks, it is not suitable for Tanzu GemFire clusters running in stable, internal, or high-throughput environments.
All GemFire-supported versions running on Linux platforms
Key Reasons to Disable TCP SYN Cookies for GemFire
False Activation Under Normal Load
In busy and stable GemFire clusters, the high volume of legitimate connection attempts can inadvertently trigger SYN cookie protection. When activated, this feature severely limits network bandwidth and the rate at which new connections can be established, leading to degraded cluster performance and potential Service Level Agreement (SLA) violations.
Performance Impact
SYN cookies shift the burden of connection management from memory to CPU by requiring computationally intensive sequence number calculations for each connection attempt. This overhead can throttle both the GemFire application and the server, especially under legitimate high-traffic conditions, unnecessarily wasting resources.
Loss of TCP Features
When SYN cookies are in effect, some advanced TCP features—such as window scaling and Selective Acknowledgment (SACK)—are disabled or limited. These features are essential for maximizing throughput and reliability in high-bandwidth, high-latency, or large-scale environments typical of GemFire deployments.
Potential for Data Handling Issues
The Linux implementation of SYN cookies can sometimes mishandle packet sequencing, which may lead to subtle data delivery problems or inefficiencies in certain edge cases.
Rather than relying on SYN cookies for DDoS protection, place GemFire clusters behind advanced firewalls or load balancers that are purpose-built for filtering malicious traffic. This approach allows you to disable SYN cookies and maintain optimal performance and reliability for your GemFire deployment.
How to Disable TCP SYN Cookies on Linux