All Articles 13 min read
SYN Flood TCP DDoS Explained Network Security Mitigation CoreEdge CoreDetection

What Is a SYN Flood Attack and How to Stop It

SYN floods remain the most common TCP-based DDoS attack — and the hardest to filter without collateral damage. Learn exactly how they work, why traditional defenses fail, and what modern mitigation looks like.

CoreTech Research Team
What Is a SYN Flood Attack and How to Stop It

Every TCP connection on the internet begins with a handshake. Your browser does it hundreds of times a day — connecting to websites, APIs, email servers, and cloud platforms. It’s a three-step process that takes milliseconds and happens invisibly.

A SYN flood turns that handshake into a weapon.

How TCP Connections Normally Work

Before any data can flow between two machines, TCP requires them to agree on a connection. This is the three-way handshake, and it works like this:

Step 1 — SYN. The client sends a packet with the SYN flag set, telling the server “I want to connect.” This packet contains the client’s initial sequence number — a random value that will be used to track data throughout the connection.

Step 2 — SYN-ACK. The server receives the SYN, allocates memory for the new connection (creating a Transmission Control Block, or TCB), and responds with a SYN-ACK packet. This says “I acknowledge your request and I’m ready.” The server then enters a state called SYN_RECEIVED and starts a timer, waiting for the client to complete the handshake.

Step 3 — ACK. The client responds with a final ACK packet. The connection is now ESTABLISHED, and both sides can exchange data.

This process is elegant and reliable. It’s also extraordinarily vulnerable to abuse.

Anatomy of a SYN Flood

In a SYN flood attack, the attacker sends thousands — or millions — of SYN packets to the target server but never sends the final ACK. Each SYN packet forces the server to allocate memory for a new connection, add it to the connection table, and start a timeout timer. The server sits in SYN_RECEIVED state, waiting for an ACK that will never arrive.

The math is devastating. A typical Linux server can hold between 128 and 1,024 half-open connections in its SYN backlog (depending on configuration). An attacker generating 100,000 SYN packets per second fills that backlog instantly. Once the table is full, the server cannot accept any new connections — not from attackers, and not from your actual customers.

The truly insidious part: each individual SYN packet looks exactly like a legitimate connection attempt. There’s no payload, no malformed header, no obvious indicator of malice. It’s a perfectly valid TCP packet doing exactly what TCP packets are supposed to do.

Why Source IP Spoofing Makes It Worse

Because the attacker never needs to complete the handshake, they don’t need to receive the server’s SYN-ACK response. This means they can forge (spoof) the source IP address in every packet. Each SYN appears to come from a different IP address around the world.

This has two consequences. First, the server sends its SYN-ACK responses to random IP addresses that never initiated a connection — wasting even more resources. Second, simple IP-based blocking is useless. You can’t block the source because every packet has a different, fabricated source address.

SYN Flood Variants

Not all SYN floods look the same. Attackers have developed several variants, each targeting a slightly different weakness:

VariantTechniqueWhy It’s Dangerous
Standard SYN FloodHigh volume of SYN packets with spoofed sourcesFills connection table rapidly
SYN-ACK ReflectionSends spoofed SYN packets to legitimate servers, which then flood the victim with SYN-ACK responsesThe victim receives traffic from real, reputable servers — making filtering extremely difficult
Slow SYN FloodSends SYN packets at a low, steady rate — just enough to keep the connection table full without triggering volume-based alertsEvades threshold-based detection systems
Distributed SYN FloodUses a botnet of thousands of real devices, each sending a small number of SYN packetsEach source looks legitimate; only the aggregate is an attack
SYN + PayloadIncludes small data payloads in SYN packets, consuming additional server memory per connectionAccelerates resource exhaustion

Why Traditional Defenses Fall Short

Over the years, the internet has developed several mechanisms to counter SYN floods. Each helps — but none is sufficient on its own.

SYN Cookies

Most modern operating systems implement SYN cookies — a technique where the server doesn’t allocate memory when it receives a SYN. Instead, it encodes the connection state into the initial sequence number of the SYN-ACK response. If the client completes the handshake with a valid ACK, the server reconstructs the connection from the cookie.

SYN cookies solve the memory exhaustion problem, but they introduce trade-offs. The server loses the ability to store TCP options during the handshake, which means features like window scaling and selective acknowledgment may be degraded. Under heavy attack, the server still spends CPU cycles generating and validating cookies for millions of fake connections. And SYN cookies provide zero visibility — you can’t distinguish attack traffic from legitimate traffic.

Firewall Rate Limiting

Traditional firewalls can rate-limit incoming SYN packets — say, no more than 1,000 SYN packets per second per destination IP. But this approach is indiscriminate. During an attack, the rate limiter drops packets randomly, and some of those dropped packets belong to your real users. You’re reducing the attack volume at the cost of degrading service for everyone.

Increasing the Backlog

You can raise the SYN backlog limit and reduce the SYN-ACK retransmission timeout. This buys time — a larger backlog takes longer to fill, and shorter timeouts reclaim stale connections faster. But it’s a tuning exercise, not a solution. A sufficiently large attack overwhelms any backlog size.

How Modern Mitigation Actually Stops SYN Floods

Effective SYN flood mitigation requires solving three problems simultaneously: identifying which SYN packets are malicious, dropping them before they consume server resources, and doing all of this without impacting legitimate connections.

Stateful Connection Validation

The most effective approach is intercepting the TCP handshake before it reaches your server. A mitigation engine positioned in front of your infrastructure acts as a proxy for the three-way handshake. When a SYN arrives, the engine responds with a SYN-ACK on behalf of your server. Only if the client completes the handshake with a valid ACK — proving it’s a real client with a real, un-spoofed IP address — does the engine establish a connection to your actual server and relay the traffic.

Spoofed SYN packets never generate a valid ACK, because the SYN-ACK response is sent to a fabricated address. The connection attempt dies silently. Your server never sees it, never allocates memory for it, and never knows it happened.

This is how CoreEdge™ handles SYN floods. The stateful engine tracks every TCP flow passing through the filtering layer, maintaining a connection table that operates independently from your server’s resources. The engine distinguishes between SYN packets that belong to real handshakes and SYN packets that are part of an attack — not by examining individual packets, but by observing whether the complete handshake sequence occurs.

CoreEdge™ exposes this through the MATCH_CONNECTION action in the firewall configuration. When applied to a prefix, every incoming TCP packet is evaluated against the tracked connection state. Packets that don’t belong to a verified flow — half-open connections that never completed, ACK packets referencing nonexistent sessions, RST packets for connections that were never established — are eliminated at the XDP layer before they consume a single CPU cycle on your server.

Per-Source Intelligence

Not every SYN flood uses spoofed sources. Botnets — networks of compromised devices — send SYN floods from real IP addresses. Each individual device might send only 50 SYN packets per second, which looks like normal browsing behavior. But when 50,000 devices do it simultaneously, your server receives 2.5 million SYN packets per second.

Per-source rate limiting solves this. Instead of a global SYN rate limit that punishes all traffic equally, CoreEdge™ applies limits on a per-source-IP basis. Each source IP address gets its own counter. A legitimate user sending 10 SYN packets per second passes through without interference. A bot sending 500 SYN packets per second gets throttled to whatever threshold you define — while every other user remains completely unaffected.

This is CoreEdge™‘s RATE_LIMIT_SRC action. You define the maximum packets per second any single source may send, and the filtering engine tracks each source independently. During a botnet-driven SYN flood, aggressive sources are throttled while legitimate sources never experience any impact.

TCP Flag Validation

Legitimate TCP traffic follows well-defined rules about which flag combinations are valid. A SYN packet should only have the SYN flag set. A SYN-ACK has both SYN and ACK. A packet with both SYN and FIN set simultaneously violates the TCP specification and is almost certainly malicious — no real operating system generates such packets.

CoreEdge™ inspects all six TCP flags — SYN, ACK, FIN, RST, PSH, and URG — on every packet. You can write rules that match specific flag combinations, dropping illegal combinations at wire speed. Flag validation catches not only SYN floods but also Christmas tree attacks (all flags set), null scans (no flags set), and other reconnaissance techniques that exploit non-standard TCP packets.

Granular TCP Controls

For networks that need precise control over TCP behavior, CoreEdge™ offers over a dozen TCP-specific parameters:

ParameterWhat It Controls
SYN rate limitMaximum SYN packets per second allowed through the filter
Non-SYN rate limitSeparate limit for all other TCP packets — prevents ACK and RST floods
Allow establishedLets packets belonging to verified connections bypass deep inspection
Out-of-state actionControls what happens to packets that don’t match any tracked connection
Flag validationEnables automatic rejection of invalid TCP flag combinations
Max concurrent flowsLimits the total number of tracked connections — preventing state table exhaustion in the filter itself
Per-source flow limitCaps how many simultaneous connections a single source IP can maintain
SYN timeoutHow long to wait for a handshake to complete before discarding the half-open connection
Established timeoutHow long an idle established connection is kept in state before cleanup
FIN timeoutHow long to track connections in the closing phase

These parameters aren’t theoretical. They’re accessible through the CoreTech Client Portal, where customers configure them directly on their assigned CoreEdge™ clusters. Every parameter takes effect within seconds of being saved.

Detecting a SYN Flood in Progress

If you suspect your network is under a SYN flood, here’s what to look for:

On your server, run netstat -s | grep -i syn or ss -s and watch the SYN_RECV counter. During normal operations, this number stays in the single digits or low hundreds. During a SYN flood, it spikes to thousands and stays there.

On your monitoring, look for a sharp divergence between inbound SYN packets and completed connections. If your server receives 100,000 SYN packets per second but only establishes 200 new connections, the remaining 99,800 are attack traffic.

On your bandwidth graphs, SYN floods are often smaller than volumetric UDP floods — sometimes only a few hundred megabits per second. Don’t let the low bandwidth fool you. A SYN flood doesn’t need to saturate your pipe; it only needs to exhaust your connection table.

On your applications, users report that the site is “slow” or “not loading” — but existing logged-in sessions continue working fine. This is the hallmark of connection table exhaustion: established connections are unaffected, but new connections cannot be created.

Why Speed of Mitigation Matters

SYN floods cause damage in seconds. From the moment the first spoofed SYN packet arrives, your connection table starts filling. Within 10 to 30 seconds, a high-volume SYN flood exhausts a default Linux backlog. Within a minute, even tuned servers with enlarged backlogs and aggressive timeouts begin rejecting legitimate connections.

This is why CoreDetection™ operates in real time. The behavioral engine monitors TCP connection patterns continuously — tracking the ratio of SYN to SYN-ACK to ACK across your traffic. When the ratio deviates from established baselines, CoreDetection™ classifies the anomaly, generates filtering rules, and deploys them to CoreEdge™ automatically. The entire sequence — detection, classification, rule generation, deployment — completes in under sixty seconds.

During those sixty seconds, CoreEdge™‘s pre-configured stateful filtering continues operating. If you’ve already configured MATCH_CONNECTION rules through the portal, attack packets are being dropped before CoreDetection™ even finishes its analysis. The automated rules serve as an additional layer — tightening rate limits, adjusting SYN timeouts, and adding per-source thresholds based on the observed attack pattern.

SYN Floods in the Wild: Real Numbers

SYN floods aren’t just a theoretical concern. They represent a significant and growing portion of DDoS attacks globally:

MetricValue
Percentage of all DDoS attacks~35-40% of all attacks include a SYN flood component
Average attack duration15-45 minutes
Typical volume1-50 million packets per second
Record SYN floods500+ million PPS in multi-vector campaigns
Cost per hour of downtime$100,000 - $500,000+ for enterprise services
Time to exhaust default backlog10-30 seconds

The financial impact extends beyond direct downtime. Payment processors facing SYN floods lose transactions. SaaS platforms lose customer trust. Gaming services lose players permanently. The reputational damage often outlasts the technical impact.

How CoreTech Handles SYN Floods

CoreEdge™ mitigates SYN floods at the XDP layer — the lowest point in the Linux networking stack where software can intercept packets. This means filtering happens at the network interface card, before the packet ever reaches the kernel’s TCP/IP stack.

The architecture works in three coordinated layers:

Layer 1 — Pre-configured rules. Customers define TCP filtering policies through the Client Portal: per-source SYN rate limits, flag validation, connection state tracking, and timeout parameters. These rules are always active, providing immediate baseline mitigation the moment attack traffic arrives.

Layer 2 — Autonomous detection. CoreDetection™ continuously analyzes traffic patterns. When a SYN flood signature emerges — abnormal SYN-to-ACK ratios, connection completion rates dropping below threshold, SYN backlog pressure indicators — it generates targeted mitigation rules and deploys them to CoreEdge™ within seconds.

Layer 3 — Adaptive response. As the attack evolves — sources change, rates fluctuate, vectors shift — CoreDetection™ adapts the filtering rules in real time. If an attacker switches from spoofed SYN to a botnet-driven SYN flood, the system shifts from stateful validation to per-source rate limiting automatically.

Your legitimate users experience nothing. Established connections continue uninterrupted. New connection attempts from real clients complete their handshake normally. Only attack traffic is eliminated — at wire speed, with zero added latency.

Start Your Free Trial

SYN floods can take your services offline in seconds. CoreEdge™ stops them in nanoseconds.

10-day free trial — full CoreEdge™ mitigation capacity, full CoreDetection™ behavioral analysis, full Client Portal access with self-service firewall management.

Get started now →

Tags: SYN Flood TCP DDoS Explained Network Security Mitigation CoreEdge CoreDetection

Want to see this in action?

Get a live demonstration of CoreTech's DDoS mitigation platform.