Linux Netfilter discussions
 help / color / mirror / Atom feed
From: Alex Satrapa <alex@lintelsys.com.au>
To: netfilter@lists.netfilter.org
Subject: Re: General denial question (tarpitting)
Date: Mon, 29 Mar 2004 08:59:50 +1000	[thread overview]
Message-ID: <406758E6.8090106@lintelsys.com.au> (raw)
In-Reply-To: <4063B458.4030501@smgtec.com>

Daniel Chemko wrote:
> Check out the Patch-o-matic enhancements to netfilter.
> TARPIT? Check.

>> Charlie Braddy wrote, on the qpsmtpd list, which is about
>> a perl drop-in replacement for qmail-smtpd:
>>
>>> If you are going to undertake the noble task of sucking up their 
>>> bandwidth, then I'd suggest that you do the job thoroughly, and make 
>>> sure that their TCP stack decides to retransmit as many packets as 
>>> possible. Use iptables (for instance) to selectively/randomly drop 
>>> packets.

Note that any kind of packet loss as high as 5% will cause the TCP stream to wither and die. I'm not sure of the exact numbers, but if 1 in 20 packets goes missing, you'll find the TCP flow-control ends up backing off more than it regains through the slow-start mechanism. Remember, TCP treats packet loss as a symptom of congestion. The protocol cannot handle sustained packet loss for any other reason.

TARPIT simply causes the transmission to cease by setting the window size to 0. TARPIT achieves DoS only if enough "targetted" sites use the TARPIT option, thus depriving the originator or system resources (required for tracking the connection). TARPIT keeps the connection alive (ACK packets flow freely), but prevents the resources being released, since the data isn't flowing.

Neither packet loss nor TARPIT will result in a demand-side bandwidth DoS.

If you want to achieve DoS by continual retransmission, you'll have to keep sending back ACKs for one particular sequence number, claiming a very large window.


  reply	other threads:[~2004-03-28 22:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.44.0403251546510.29753-100000@e-smith.charlieb.ott.istop.com>
2004-03-25 21:22 ` General denial question (tarpitting) David Nicol
2004-03-26  4:40   ` Daniel Chemko
2004-03-28 22:59     ` Alex Satrapa [this message]
2004-03-26 17:05 Steve Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=406758E6.8090106@lintelsys.com.au \
    --to=alex@lintelsys.com.au \
    --cc=netfilter@lists.netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox