Defending against SYN-flood DoS attacks
A SYN flood is perhaps the most efficient packet attack, devouring the greatest amount of service with the least effort. It fakes the initial handshake of a TCP connection with spoofed IPs which the target machine is unable to answer.
Establishing a TCP connection requires the exchange of three packets: the first with a SYN (for SYNchronise) bit from the surfer, then SYN/ACK in return from the Web server, and finally ACK (for ACKnowledge) back from the surfer. The connection is then established; but if there's a delay in completing the handshake, the server re-tries (sending SYN/ACK) several times, and waits with the necessary resources to accept the connection already allocated.
Re-try and timeout periods can add up to over three minutes per bogus connection, so it's easy to see how even a modest flood of unanswerable SYN packets can overwhelm a server in short order.
Because the handshake is a necessary part of normal Net traffic, malicious SYN packets are difficult to filter. You can cope with an attack by changing the number of times your machine will re-try the SYN/ACK response, but you'll also deny legitimate connections if you get too aggressive.
With this difficulty in mind, TechMavens' Ross Oliver decided to benchmark several hardware solutions, all in roughly the same price range, using a homebrew kit to simulate SYN floods against them. He released his results at last week's USENIX Security Symposium in Washington.
He established a baseline for his test server (Apache over Red Hat 7.1), which, when unprotected, failed to accept new connections under the stress of only 100 spoofed SYNs/sec.
The Cisco kit showed no advantage whatsoever, failing at the baseline of 100 SYNs/sec. Firewall-1 showed only marginally better results, breaking (i.e., refusing connections) at a lame 500 SYNs/sec, which can be accomplished with only two or three boxes connected by T1, cable or DSL lines.
It's fair to note that while one expects at least some protection from any firewall, the Cisco kit isn't marketed for SYN flood protection as the Checkpoint obviously is.
Netscreen's Netscreen-100 fared better, breaking down after 14,000 SYNs/sec for a 28-fold performance improvement over Checkpoint at roughly the same price.
Only the Top Layer AppSafe switch exceeded the test's limits, showing no sign of stress while sustaining 22,000 SYNs/sec, the maximum Oliver could throw at it with his rig. This would work out to about one dollar per SYN during a fairly severe attack, which strikes us as rather economical protection.
Of course we asked Top Layer if they had any idea where the AppSafe's performance might top out. Marketing Director Dennis Anglin told us they're currently benchmarking it (and, we'll bet, tweaking it), but haven't got any solid numbers just yet.
The switch distinguishes 'normal', 'suspicious' and 'malicious' traffic according to user-defined rules, and can be configured to lock out troublesome IPs for anywhere from fifteen seconds to over a week.
We look forward to learning just how much punishment it can take. If any of our readers using it have anecdotal data to pass along, we'd love to see it. ®