[Devel] Re: Building a SECURE cointainer using Cgroups ?

Serge E. Hallyn serue at us.ibm.com
Mon Oct 13 12:29:21 PDT 2008


Quoting Dave Hansen (dave at linux.vnet.ibm.com):
> On Mon, 2008-10-13 at 11:01 -0700, Tanaka, Thomas wrote:
> > Yes absolutely that is what I am trying to achieve.
> 
> I'm going to put on my Serge hat and bet that you can do it with
> security modules. :)

Right, your goal is still not very precise, but a security module -
smack or selinux - might be your best bet.

> There's nothing that cgroups or containers gives you that will help with
> your problem.  We actually haven't touched the fs namespaces at all, yet
> because they work great as they stand today.

No, but there is the device whitelist cgroup and capability bounding
sets - perhaps that is what he is asking about?

If you have a normal chroot - or a container created with
clone(CLONE_NEWNS) followed by pivot_root into a completely isolated
file system tree (say, created using debootstrap), then a root user in
that pivot_root can simply mount /dev/hda1 /mnt and chroot back into
that.

So to make the above a little more secure, you can

	1. restrict the container's device whitelist so that it can't
	   create or use the devices representing the hard drive.
or
	2. take CAP_MKNOD and CAP_SYS_ADMIN out of the containers'
	   capability bounding set and pI, so that root can neither
	   mount any filesystems nor create any devices.  (Of course,
	   also make sure /dev is suitably empty)  The problem with
	   this one is that we still don't have a check upstream to
	   force mounts by a user who does not have CAP_MKNOD to be
	   nodev.  That's one reason I keep trying to push on the
	   user mounts patchset - it brings that check.

-serge
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list