Thread (4 messages) 4 messages, 3 authors, 2019-01-17

Re: [PATCH 0/3] Allow initializing the kernfs node's secctx based on its parent

From: Daniel Walsh <hidden>
Date: 2019-01-17 20:30:43
Also in: linux-fsdevel, selinux

Possibly related (same subject, not in this thread)

On 1/17/19 11:39 AM, Stephen Smalley wrote:
On 1/17/19 11:15 AM, Tejun Heo wrote:
quoted
Hello,

On Thu, Jan 17, 2019 at 10:01:23AM -0500, Daniel Walsh wrote:
quoted
The above comment is correct.  We want to be able to run a container
where we hand it control over a limited subdir of the cgroups hierachy.
We can currently do this and label the content correctly, but when
subdirs of the directory get created by processes inside the container
they do not get the correct label.  For example we add a label like
system_u:object_r:container_file_t:s0 to a directory but when the
process inside of the container creates a fd within this directory the
kernel says the label is the default label for cgroups
system_u:object_r:cgroup_t:s0.  This forces us to write looser policy
that from an SELinux point of view allows a process within the
container
to write anywhere on the cgroup file system, rather then just the
designated directories.
Can you please go into a bit more details on why the existing
cgroup delegation model isn't enough?
I would hazard a guess that it is because the existing cgroup
delegation model is based on user IDs and discretionary access control
(DAC), whereas they are using per-container SELinux security contexts
and mandatory access control (MAC) to enforce the separation of
containers irrespective of UID and DAC.  Optimally both would be
supported by cgroup, as DAC and MAC have different properties and use
cases.
As Steven said, existing model is DAC.  We have the situation where we
have a "root" process running within a container that is not using User
Namespace.  I want to control that that root process can not write to
anywhere within the cgroup hierarchy based on SELinux controls.   This
is security in depth.  If other mechanisms prevent the process from
writing to other places in cgroups that is great, but I want it also
secured from a MAC Point of view.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help