From: Harald Welte <laforge@netfilter.org>
To: netfilter-devel@lists.netfilter.org
Cc: netfilter@lists.netfilter.org, netdev@oss.sgi.com
Subject: Re: port-based filtering of ESP packets with in-kernel IPsec?
Date: Wed, 30 Jul 2003 16:24:11 +0200 [thread overview]
Message-ID: <20030730142411.GD4553@sunbeam.de.gnumonks.org> (raw)
In-Reply-To: <1059540296.16545.305.camel@k7.localnet>
[-- Attachment #1: Type: text/plain, Size: 2587 bytes --]
On Tue, Jul 29, 2003 at 11:44:57PM -0500, Rick Kennell wrote:
> I asked about this last week in the general netfilter list, but it
> appears that most folks are still using FreeS/WAN for IPsec.
yes, most people will use a stable kernel rather than a development one
;)
> I'm using the in-kernel IPsec and want to be able to filter ESP packets
> based on protocol or port number. These values are encapsulated in the
> ESP payload and are unavailable to netfilter. If I were using
> FreeS/WAN, I could use standard netfilter techniques on the ipsec0
> device. With the in-kernel IPsec, there's no extra pseudo-device with
> which to examine unencapsulated ESP packets.
true.
> It looks too me like netfilter sees the packet as ESP in all chains in
> all tables. (I'd be delighted to be corrected.)
I haven't investigated the new in-kernel ESP implementation that far,
but your observation sounds reasonable (although I don't say this is the
desired behaviour).
> Since ESP packets that reach the mangle INPUT chain are destined for a
> local process, why not unencapsulate them just before that point?
Because NF_IP_LOCAL_IN (like all other hooks) are in the layer 3 stack,
and decapsulating ESP is inside a layer 4 protocol - thus it happens
after the ip stack has handed it over to the esp4 protocol engine.
> It might still be nice to have an indication that this was once an ESP
> packet for filtering, but that could be done by setting a mark in the
> mangle PREROUTING chain.
no. My preferred solution was something like adding a netfilter hook to
the xfrm4 engine, exactly after decapsulation / decryption of one layer,
i.e. after xfrm_type.input was called.
iptables could then register the INPUT chain (or probably even a
seperate POSTXFRM chain) in order to filter on the respective packets.
> I realize that this would probably require some heavy lifting in the
> network layer to accomplish this nesting of functionality.
yes, this is why this should be discussed on the netdev list (Cc'ed).
I think this needs to be sorted out before 2.6.0-final will be released.
Any comments are appreciated.
> Am I missing something obvious?
--
- Harald Welte <laforge@netfilter.org> http://www.netfilter.org/
============================================================================
"Fragmentation is like classful addressing -- an interesting early
architectural error that shows how much experimentation was going
on while IP was being designed." -- Paul Vixie
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2003-07-30 14:24 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-30 4:44 port-based filtering of ESP packets with in-kernel IPsec? Rick Kennell
2003-07-30 10:34 ` Chris Wilson
2003-07-30 15:42 ` Rick Kennell
2003-07-30 15:42 ` Rick Kennell
2003-07-30 19:10 ` Henrik Nordstrom
2003-07-30 19:10 ` Henrik Nordstrom
2003-07-30 14:24 ` Harald Welte [this message]
2003-07-30 14:51 ` Andreas Jellinghaus
2003-07-30 15:16 ` Harald Welte
2003-07-30 15:16 ` Harald Welte
2003-07-30 15:16 ` Harald Welte
2003-07-30 20:37 ` Dax Kelson
2003-07-30 22:51 ` Dax Kelson
2003-07-30 14:51 ` Andreas Jellinghaus
2003-07-30 14:51 ` Andreas Jellinghaus
2003-07-30 15:45 ` Jeremy Davis
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=20030730142411.GD4553@sunbeam.de.gnumonks.org \
--to=laforge@netfilter.org \
--cc=netdev@oss.sgi.com \
--cc=netfilter-devel@lists.netfilter.org \
--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 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.