[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b0a59b79-64a5-feeb-7f85-ec0f482f0b96@suse.de>
Date: Fri, 20 Oct 2017 10:15:25 +1100
From: Aleksa Sarai <asarai@...e.de>
To: Richard Guy Briggs <rgb@...hat.com>,
Steve Grubb <sgrubb@...hat.com>
Cc: cgroups@...r.kernel.org, mszeredi@...hat.com,
David Howells <dhowells@...hat.com>,
Simo Sorce <simo@...hat.com>, jlayton@...hat.com,
Carlos O'Donell <carlos@...hat.com>,
Linux API <linux-api@...r.kernel.org>,
Linux Containers <containers@...ts.linux-foundation.org>,
Linux Kernel <linux-kernel@...r.kernel.org>,
Paul Moore <pmoore@...hat.com>,
Linux Audit <linux-audit@...hat.com>,
Al Viro <viro@...iv.linux.org.uk>,
Andy Lutomirski <luto@...nel.org>,
Eric Paris <eparis@...isplace.org>,
Linux FS Devel <linux-fsdevel@...r.kernel.org>,
trondmy@...marydata.com,
Linux Network Development <netdev@...r.kernel.org>,
"Eric W. Biederman" <ebiederm@...ssion.com>
Subject: Re: RFC(v2): Audit Kernel Container IDs
>>>> The registration is a pseudo filesystem (proc, since PID tree already
>>>> exists) write of a u8[16] UUID representing the container ID to a file
>>>> representing a process that will become the first process in a new
>>>> container. This write might place restrictions on mount namespaces
>>>> required to define a container, or at least careful checking of
>>>> namespaces in the kernel to verify permissions of the orchestrator
>>>> so it
>>>> can't change its own container ID. A bind mount of nsfs may be
>>>> necessary in the container orchestrator's mntNS.
>>>> Note: Use a 128-bit scalar rather than a string to make compares faster
>>>> and simpler.
>>>>
>>>> Require a new CAP_CONTAINER_ADMIN to be able to carry out the
>>>> registration.
>>>
>>> Wouldn't CAP_AUDIT_WRITE be sufficient? After all, this is for auditing.
>>
>> No, because then any process with that capability (vsftpd) could change
>> its own container ID. This is discussed more in other parts of the
>> thread...
>
> Not if we make the container ID append-only (to support nesting), or
> write-once (the other idea thrown around). In that case, you can't move
> "out" from a particular container ID, you can only go "deeper". These
> semantics don't make sense for generic containers, but since the point
> of this facility is *specifically* for audit I imagine that not being
> able to move a process from a sub-container's ID is a benefit.
[This assumes it's CAP_AUDIT_CONTROL which is what we are discussing in
a sister thread.]
--
Aleksa Sarai
Senior Software Engineer (Containers)
SUSE Linux GmbH
https://www.cyphar.com/
Powered by blists - more mailing lists