Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752794AbZL2LGr (ORCPT ); Tue, 29 Dec 2009 06:06:47 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752686AbZL2LGq (ORCPT ); Tue, 29 Dec 2009 06:06:46 -0500 Received: from out01.mta.xmission.com ([166.70.13.231]:55894 "EHLO out01.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752683AbZL2LGp (ORCPT ); Tue, 29 Dec 2009 06:06:45 -0500 To: Michael Stone Cc: "Serge E. Hallyn" , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-security-module@vger.kernel.org, Andi Kleen , David Lang , Oliver Hartkopp , Alan Cox , Herbert Xu , Valdis Kletnieks , Bryan Donlan , Evgeniy Polyakov , "C. Scott Ananian" , James Morris , Bernie Innocenti , Mark Seaborn , Randy Dunlap , =?iso-8859-1?Q?Am=E9rico?= Wang , Tetsuo Handa , Samir Bellabes , Casey Schaufler , Pavel Machek , Al Viro References: <20091229050114.GC14362@heat> From: ebiederm@xmission.com (Eric W. Biederman) Date: Tue, 29 Dec 2009 03:06:16 -0800 In-Reply-To: <20091229050114.GC14362@heat> (Michael Stone's message of "Tue\, 29 Dec 2009 00\:01\:14 -0500") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-XM-SPF: eid=;;;mid=;;;hst=in01.mta.xmission.com;;;ip=76.21.114.89;;;frm=ebiederm@xmission.com;;;spf=neutral X-SA-Exim-Connect-IP: 76.21.114.89 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-DCC: XMission; sa03 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ;Michael Stone X-Spam-Relay-Country: X-Spam-Report: * -1.8 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.0 T_TM2_M_HEADER_IN_MSG BODY: T_TM2_M_HEADER_IN_MSG * -3.0 BAYES_00 BODY: Bayesian spam probability is 0 to 1% * [score: 0.0000] * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa03 1397; Body=1 Fuz1=1 Fuz2=1] * 0.0 XM_SPF_Neutral SPF-Neutral * 0.4 UNTRUSTED_Relay Comes from a non-trusted relay Subject: Re: RFC: disablenetwork facility. (v4) X-SA-Exim-Version: 4.2.1 (built Thu, 25 Oct 2007 00:26:12 +0000) X-SA-Exim-Scanned: Yes (on in01.mta.xmission.com) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2100 Lines: 58 Michael Stone writes: > Serge, > > I think that Pavel's point, at its strongest and most general, could be > rephrased as: > > "Adding *any* interesting isolation facility to the kernel breaks backwards > compatibility for *some* program [in a way that violates security goals]." *some* privileged program. > The reason is the one that I identified in my previous note: > > "The purpose of isolation facilities is to create membranes inside which > grievous security faults are converted into availability faults." > > The question then is simply: > > "How do we want to deal with the compatibility-breaking changes created by > introducing new isolation facilities?" You have a very peculiar taxonomy of the suggestions, that fails to capture the concerns. I strongly recommend working out a way to disable setuid exec. Ideally we would use capabilities to achieve this. Serge can we have a capability that unprivelged processes normally have an can drop without privelege? I can see one of two possible reasons you are avoiding the suggestion to disable setuid root. - You have a use for setuid root executables in your contained environment. If you do what is that use? - Disabling suid root executables is an indirect path to your goal. The problem with the disable_network semantics you want is that they allow you to perform a denial of service attack on privileged users. An unprivileged DOS attack is unsuitable for a general purpose feature in a general purpose kernel. Your sysctl, your boot option, your Kconfig option all fail to be viable options for the same reason. Your facility is only valid in an audited userspace. Disabling setuid-exec especially to a subset of processes is valid in an unaudited userspace as it does not allow propagating the DOS to privileged processes. Eric -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/