All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amin Azez <azez@ufomechanic.net>
To: netfilter-devel@lists.netfilter.org
Subject: Re: iptables STILL incorrectly using TCP packet contents without checking header!
Date: Tue, 05 Apr 2005 15:24:08 +0100	[thread overview]
Message-ID: <d2u6ul$g29$1@sea.gmane.org> (raw)
In-Reply-To: <20050401000340.GA2275@netnation.com>

Simon Kirby wrote:
> If checksumming were implemented in this case and the rule no longer
> matched a corrupted packet, the packet would still be forwarded. 
> However, the end point should just discard it.  I don't think this
> will introduce any new problems except possibly for the ability to
> fling loads of corrupted packets (DoS) past firewalls if TCP is
> blocked with something like:
> 
> 	iptables -A FORWARD -p tcp --dport 0:65535 -j REJECT
> 
> This is probably a rare case, but probably worth noting.
> 
> Is there anything else?

Possibly this discussion is about to get philosophical:

One mans corrupt packet is another mans disguise.

Off the top of my head, propogating corrupt packets could perhaps be 
used to subvert the firewall with the help of a co-operating box on the 
inside that will accept and perhaps fixup the corrupt packets, or at 
least do something with it.

We know that if an internal box has been "taken over" that all bets are 
off anyway, but that is no excuse for the firewall to fail in its duty. 
Various means including TCP/IP encapsulated in DNS requests can be used 
to subvert firewalls but at least they show up and can be handled be 
iptables or various other mechanisms.

Is this a "new problem"? I don't know, but it could be a problem.

Perhaps there is no practical difference between "corrupted packet" and 
"unknown protocol" ?

IMHO corrupt packets should be dropped and not forwarded, and possibly 
people want a similar rule for unknown protocols?

I much perfer your previous suggestion:
	iptables -A FORWARD -m checksum ! --checksum ip -J DROP
	iptables -A FORWARD -p tcp -m checksum ! --checksum tcp -J DROP

and I really think they ought to be the first rules in the FORWARD chain 
by default.

Amin

      reply	other threads:[~2005-04-05 14:24 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-31 18:57 iptables STILL incorrectly using TCP packet contents without checking header! Simon Kirby
2005-03-31 20:04 ` Jonas Berlin
2005-03-31 23:27   ` Henrik Nordstrom
2005-04-03 18:34     ` Patrick McHardy
2005-04-01  0:03   ` Simon Kirby
2005-04-05 14:24     ` Amin Azez [this message]

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='d2u6ul$g29$1@sea.gmane.org' \
    --to=azez@ufomechanic.net \
    --cc=netfilter-devel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.