Re: Why do we block context="foobar" from User Namespace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 6, 2016 at 3:31 PM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
> On 12/06/2016 03:04 PM, Daniel J Walsh wrote:
>> Currently in SELinux and UserNamespace can not be enabled with Docker/runc at the same time.
>>
>> Runc mounts tmpfs directories with --context="system_u:object_r:container_file_t:s0:c1,c2" type labels
>> but the following patch blocks the use of context mounts when using user namespace.
>>
>> http://kernel.suse.com/cgit/kernel/commit/?id=aad82892af261b9903cc11c55be3ecf5f0b0b4f8
>>
>> User Namespace has to be established before tmpfs are mounted so we are unable to mount a
>> tmpfs with a context=flag and UserNamespace enabled.
>>
>> Controlling the ability to change the label of a mounted file systemd should be a MAC decision not a DAC,
>> or UserNamespace. Setting the SELinux labels on an object like a file system mount point
>> should be controlled by SELinux.  SELinux should check if the label of the process doing the
>> mount is able to relabel from the label of the mount point, and labelto the specified label.
>>
>> SELinux does this for privileged processes (running with SYS_ADMIN) so use namespace should not be
>> any different.  Also the process doing the mount would be allowed by DAC to set the label of the tmpfs after
>> it is mounted (As long as SELinux allowed).
>>
>> There is no security difference between:
>>
>> mount -o tmpfs context="foobar" none /dev
>>
>>
>> And
>>
>> mount -o tmpfs none /dev
>>
>> chcon foobar -R /dev
>>
>>
>> The second would not be blocked by usernamespace.
>>
>> Bottom line this patch should be reverted so container runtimes like docker can use both User Namespace
>> and SELinux at the same time.
>
> I doubt we want to revert it entirely.  Looks like Smack has an explicit
> exemption for tmpfs/ramfs (and sysfs, but it wouldn't really make sense
> to do it there).  We could do something similar.

Yes, I still think the restriction makes sense for persistent
filesystems, but for things like tmpfs it does seem silly.

-- 
paul moore
www.paul-moore.com
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux