[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8f495870-dd6c-23b9-b82b-4228a441c729@suse.de>
Date: Fri, 20 Oct 2017 10:11:33 +1100
From: Aleksa Sarai <asarai@...e.de>
To: Richard Guy Briggs <rgb@...hat.com>,
Steve Grubb <sgrubb@...hat.com>
Cc: mszeredi@...hat.com, trondmy@...marydata.com,
Andy Lutomirski <luto@...nel.org>, jlayton@...hat.com,
Carlos O'Donell <carlos@...hat.com>,
Linux API <linux-api@...r.kernel.org>,
Linux Containers <containers@...ts.linux-foundation.org>,
Paul Moore <pmoore@...hat.com>,
Linux Kernel <linux-kernel@...r.kernel.org>,
Eric Paris <eparis@...isplace.org>,
Al Viro <viro@...iv.linux.org.uk>,
David Howells <dhowells@...hat.com>,
Linux Audit <linux-audit@...hat.com>,
Simo Sorce <simo@...hat.com>,
Linux Network Development <netdev@...r.kernel.org>,
Linux FS Devel <linux-fsdevel@...r.kernel.org>,
cgroups@...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.
--
Aleksa Sarai
Senior Software Engineer (Containers)
SUSE Linux GmbH
https://www.cyphar.com/
Powered by blists - more mailing lists