From: Pablo Neira Ayuso <pablo@netfilter.org>
To: Topi Miettinen <toiwoton@gmail.com>
Cc: Jan Engelhardt <jengelh@inai.de>, netfilter-devel@vger.kernel.org
Subject: Re: [PATCH] netfilter: nft_socket: socket expressions for GID & UID
Date: Mon, 2 May 2022 19:02:58 +0200 [thread overview]
Message-ID: <YnAOwkuZZY3OX0Wh@salvia> (raw)
In-Reply-To: <755d90d5-6f52-456d-8e1a-2e42c0896e97@gmail.com>
On Wed, Apr 27, 2022 at 09:07:07PM +0300, Topi Miettinen wrote:
> On 27.4.2022 0.07, Pablo Neira Ayuso wrote:
> > On Tue, Apr 26, 2022 at 11:05:09PM +0200, Pablo Neira Ayuso wrote:
> > > On Thu, Apr 21, 2022 at 07:35:06PM +0300, Topi Miettinen wrote:
> > > > On 21.4.2022 0.15, Jan Engelhardt wrote:
> > > > >
> > > > > On Wednesday 2022-04-20 20:54, Topi Miettinen wrote:
> > > > >
> > > > > > Add socket expressions for checking GID or UID of the originating
> > > > > > socket. These work also on input side, unlike meta skuid/skgid.
> > > > >
> > > > > Why exactly is it that meta skuid does not work?
> > > > > Because of the skb_to_full_sk() call in nft_meta_get_eval_skugid()?
> > > >
> > > > I don't know the details, but early demux isn't reliable and filters aren't
> > > > run after final demux. In my case, something like "ct state new meta skuid <
> > > > 1000 drop" as part of input filter doesn't do anything. Making "meta skuid"
> > > > 100% reliable would be of course preferable to adding a new expression.
> > >
> > > Could you give a try to this kernel patch?
> > >
> > > This patch adds a new socket hook for inet layer 4 protocols, it is
> > > coming after the NF_LOCAL_IN hook, where the socket information is
> > > available for all cases.
> > >
> > > You also need a small patch for userspace nft.
> >
> > Quickly tested it with:
> >
> > table inet x {
> > chain y {
> > type filter hook socket priority 0; policy accept;
> > counter
> > }
> > }
>
> Thanks. Assuming that this makes the 'meta skuid' and 'meta cgroupv2' always
> usable, I'd prefer this approach to new 'socket uid'.
>
> I changed the hook of my input and output filters to 'socket' but then there
> are lots of errors:
>
> /etc/nftables.conf:411:3-67: Error: Could not process rule: Operation not
> supported
> ct state new socket cgroupv2 level 1 vmap
> @dict_cgroup_level_1_in
My patch is missing an update for nft_socket.
Could you send me your ruleset so I can test my next patchset works
with it? Private email is fine.
Thanks.
next prev parent reply other threads:[~2022-05-02 17:03 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-20 18:54 [PATCH] netfilter: nft_socket: socket expressions for GID & UID Topi Miettinen
2022-04-20 21:15 ` Jan Engelhardt
2022-04-21 16:35 ` Topi Miettinen
2022-04-26 21:05 ` Pablo Neira Ayuso
2022-04-26 21:07 ` Pablo Neira Ayuso
2022-04-27 18:07 ` Topi Miettinen
2022-05-02 17:02 ` Pablo Neira Ayuso [this message]
2022-04-25 18:45 ` Topi Miettinen
2022-04-25 22:34 ` Florian Westphal
2022-04-26 19:02 ` Topi Miettinen
2022-04-27 5:48 ` Florian Westphal
2022-04-27 7:01 ` Pablo Neira Ayuso
2022-04-27 15:00 ` Topi Miettinen
2022-04-27 15:28 ` Florian Westphal
2022-04-27 15:30 ` Pablo Neira Ayuso
2022-04-27 15:42 ` Florian Westphal
2022-04-27 15:45 ` Pablo Neira Ayuso
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=YnAOwkuZZY3OX0Wh@salvia \
--to=pablo@netfilter.org \
--cc=jengelh@inai.de \
--cc=netfilter-devel@vger.kernel.org \
--cc=toiwoton@gmail.com \
/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