Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755433AbeAHSL2 (ORCPT + 1 other); Mon, 8 Jan 2018 13:11:28 -0500 Received: from h2.hallyn.com ([78.46.35.8]:36536 "EHLO h2.hallyn.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755187AbeAHSLX (ORCPT ); Mon, 8 Jan 2018 13:11:23 -0500 Date: Mon, 8 Jan 2018 12:11:21 -0600 From: "Serge E. Hallyn" To: Mahesh Bandewar =?utf-8?B?KOCkruCkueClh+CktiDgpKzgpILgpKHgpYfgpLXgpL4=?= =?utf-8?B?4KSwKQ==?= Cc: "Serge E. Hallyn" , James Morris , LKML , Netdev , Kernel-hardening , Linux API , Kees Cook , "Eric W . Biederman" , Eric Dumazet , David Miller , Mahesh Bandewar Subject: Re: [PATCHv3 0/2] capability controlled user-namespaces Message-ID: <20180108181121.GA32302@mail.hallyn.com> References: <20171205223052.12687-1-mahesh@bandewar.net> <20180108062452.GA21717@mail.hallyn.com> <20180108154733.GA29416@mail.hallyn.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Quoting Mahesh Bandewar (महेश बंडेवार) (maheshb@google.com): > On Mon, Jan 8, 2018 at 7:47 AM, Serge E. Hallyn wrote: > > Quoting James Morris (james.l.morris@oracle.com): > >> On Mon, 8 Jan 2018, Serge E. Hallyn wrote: > >> I meant in terms of "marking" a user ns as "controlled" type -- it's > >> unnecessary jargon from an end user point of view. > > > > Ah, yes, that was my point in > > > > http://lkml.iu.edu/hypermail/linux/kernel/1711.1/01845.html > > and > > http://lkml.iu.edu/hypermail/linux/kernel/1711.1/02276.html > > > >> This may happen internally but don't make it a special case with a > >> different name and don't bother users with internal concepts: simply > >> implement capability whitelists with the default having equivalent So the challenge is to have unprivileged users be contained, while allowing trusted workloads in containers created by a root user to bypass the restriction. Now, the current proposal actually doesn't support a root user starting an application that it doesn't quite trust in such a way that it *is* subject to the whitelist. Which is unfortunate. But apart from using ptags or a cgroup, I can't think of a good way to get us everything we want: 1. unprivileged users always restricted 2. existing unprivileged containers become restricted when whitelist is enabled 3. privileged users are able to create containers which are not restricted 4. privileged users are able to create containers which *are* restricted