linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Quigley <dpquigl@davequigley.com>
To: Casey Schaufler <casey@schaufler-ca.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	<trond.myklebust@netapp.com>, <linux-nfs@vger.kernel.org>,
	<selinux@tycho.nsa.gov>, <linux-security-module@vger.kernel.org>
Subject: Re: Labeled NFS [v5]
Date: Fri, 30 Nov 2012 11:28:35 -0500	[thread overview]
Message-ID: <e332c08e38f41d70c9cca858c8dba844@countercultured.net> (raw)
In-Reply-To: <50B8DD14.6080104@schaufler-ca.com>

On 11/30/2012 11:21, Casey Schaufler wrote:
> On 11/30/2012 6:02 AM, David Quigley wrote:
>
> There are times when living by the correct ocean makes
> life so much easier. Thanks all for the early morning
> brain work.
>
>> On 11/30/2012 08:50, Stephen Smalley wrote:
>>> On 11/30/2012 08:35 AM, David Quigley wrote:
>>>> On 11/30/2012 08:28, Stephen Smalley wrote:
>>>>> On 11/30/2012 08:17 AM, David Quigley wrote:
>>>>>> On 11/30/2012 07:57, David Quigley wrote:
>>>>>>> On 11/30/2012 07:14, J. Bruce Fields wrote:
>>>>>>>> On Thu, Nov 29, 2012 at 09:02:49PM -0500, David Quigley wrote:
>>>>>>>>> On 11/29/2012 20:50, Casey Schaufler wrote:
>>>>>>>>> >On 11/29/2012 4:46 PM, David Quigley wrote:
>>>>>>>>> >>On 11/29/2012 19:34, Casey Schaufler wrote:
>>>>>>>>> >... Whole bunch snipped ...
>>>
>>> Looks like Smack requires CAP_MAC_ADMIN in order to set Smack
>>> attributes on a file at all.  So nfsd would require that capability
>>> for Smack.  I think this means however that setting Smack labels on
>>> NFS files won't work in any case where root is squashed, which 
>>> seems
>>> unfortunate.
>
> I'm building a kernel with CAP_MAC_ADMIN set for nfsd.
> I am reasonably sure that this will get me past the current
> issue. As far as a squashed root goes, well, doing things
> that the security policy doesn't allow requires privilege.
>
>>
>> I'll leave that problem to Casey to figure out. However it seems to 
>> me
>> that regardless of Labeled NFS Casey should have problems with the 
>> NFS
>> server not being able to serve up files that are dominated by floor. 
>> I
>> wonder if he has every tried NFSv4 on a SMACK enabled server before.
>> It may have just worked because all files implicitly get labeled 
>> floor.
>
> CAP_MAC_OVERRIDE, which nfsd does have, is sufficient for
> reading and writing files. A Smack enabled server is able
> to serve to Smack and Smackless clients, but of course all
> label enforcement is lost. Thus it will "work", but it will
> be bad. I haven't used NFS much lately, in part because of
> the lack of labeling and the security issues inherent in
> serving labeled files to clueless clients.

Can we confirm that this problem doesn't manifest itself without a 
Labeled NFS kernel? Set the labels on the exported files properly and 
then just mount over NFSv4 and see what happens?


>
>
>>
>>>
>>> On the SELinux side, we don't require CAP_MAC_ADMIN to set the
>>> SELinux attribute on a file in the normal case, only when the 
>>> SELinux
>>> attribute is not known to the security policy yet.  So granting
>>> CAP_MAC_ADMIN there means that a client will be able to set 
>>> security
>>> contexts on files that are unknown to the server.  I guess that 
>>> might
>>> even be desirable in some instances where client and server policy 
>>> are
>>> different.  We do have the option of denying mac_admin permission 
>>> in
>>> policy for nfsd (kernel_t?), in which case we would block such
>>> attempts to set unknown contexts but would still support setting of
>>> known security contexts.
>>>
>>> So I think it is workable, albeit a bit confusing.
>>
>> Yea it is unfortunate that we have to go mucking around in 
>> capability
>> land but it seems that adding CAP_MAC_ADMIN should be fine and we 
>> can
>> deal with it in policy if we like.
>
> Worst case we could add a security_set_nfsd_capabilities hook.
> Maybe make the capability set an export option?
>
>>
>>
>> --
>> This message was distributed to subscribers of the selinux mailing 
>> list.
>> If you no longer wish to subscribe, send mail to
>> majordomo@tycho.nsa.gov with
>> the words "unsubscribe selinux" without quotes as the message.
>>


  reply	other threads:[~2012-11-30 16:28 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-12  6:15 Labeled NFS [v5] David Quigley
2012-11-12  6:15 ` [PATCH 01/13] Security: Add hook to calculate context based on a negative dentry David Quigley
2012-11-12 12:13   ` J. Bruce Fields
2012-11-12 14:52     ` Dave Quigley
2012-11-12  6:15 ` [PATCH 02/13] Security: Add Hook to test if the particular xattr is part of a MAC model David Quigley
2012-11-12 12:15   ` J. Bruce Fields
2012-11-12 14:56     ` Dave Quigley
2012-11-12 16:36       ` J. Bruce Fields
2012-11-12 19:36         ` David P. Quigley
2012-11-12 21:43           ` J. Bruce Fields
2012-11-13  0:12             ` Dave Quigley
2012-11-12  6:15 ` [PATCH 03/13] LSM: Add flags field to security_sb_set_mnt_opts for in kernel mount data David Quigley
2012-11-12  6:15 ` [PATCH 04/13] SELinux: Add new labeling type native labels David Quigley
2012-11-12  6:15 ` [PATCH 05/13] KConfig: Add KConfig entries for Labeled NFS David Quigley
2012-11-12 14:45   ` J. Bruce Fields
2012-11-12 14:57     ` Dave Quigley
2012-11-12  6:15 ` [PATCH 06/13] NFSv4: Add label recommended attribute and NFSv4 flags David Quigley
2012-11-12  6:15 ` [PATCH 07/13] NFSv4: Introduce new label structure David Quigley
2012-11-12 15:13   ` J. Bruce Fields
2012-11-12 15:32     ` David P. Quigley
2012-11-12 16:05       ` J. Bruce Fields
2012-11-12 16:53         ` David P. Quigley
2012-11-12 17:50           ` J. Bruce Fields
2012-11-12  6:15 ` [PATCH 08/13] NFSv4: Extend fattr bitmaps to support all 3 words David Quigley
2012-11-12  6:15 ` [PATCH 09/13] NFS:Add labels to client function prototypes David Quigley
2012-11-12  6:15 ` [PATCH 10/13] NFS: Add label lifecycle management David Quigley
2012-11-12 15:33   ` J. Bruce Fields
2012-11-12 15:36     ` David P. Quigley
2012-11-12  6:15 ` [PATCH 11/13] NFS: Client implementation of Labeled-NFS David Quigley
2012-11-12  6:15 ` [PATCH 12/13] NFS: Extend NFS xattr handlers to accept the security namespace David Quigley
2012-11-12  6:15 ` [PATCH 13/13] NFSD: Server implementation of MAC Labeling David Quigley
2012-11-12 16:31   ` J. Bruce Fields
2012-11-12 15:23 ` Labeled NFS [v5] J. Bruce Fields
2012-11-12 15:34   ` David P. Quigley
2012-11-12 16:09     ` J. Bruce Fields
2012-11-12 20:56       ` Steve Dickson
2012-11-13  1:39         ` Dave Quigley
2012-11-13 12:55           ` Steve Dickson
2012-11-14  4:32             ` Dave Quigley
2012-11-14 13:45               ` J. Bruce Fields
2012-11-14 13:50                 ` David Quigley
2012-11-14 13:59                   ` J. Bruce Fields
2012-11-14 14:01                     ` David Quigley
2012-11-14 14:04                     ` David Quigley
2012-11-14 14:24                       ` J. Bruce Fields
2012-11-14 14:30                         ` David Quigley
2012-11-15 16:00                           ` Casey Schaufler
2012-11-15 20:28                             ` David Quigley
2012-11-16  3:34                               ` Casey Schaufler
2012-11-16  3:43                                 ` David Quigley
2012-11-16  4:58                                   ` Dave Quigley
2012-11-16  4:59                                   ` Dave Quigley
2012-11-14 13:56               ` David Quigley
2012-11-12 16:33 ` J. Bruce Fields
2012-11-12 20:44   ` Dave Quigley
2012-11-12 22:23 ` Casey Schaufler
2012-11-13  3:16   ` Dave Quigley
2012-11-20 21:09 ` Casey Schaufler
2012-11-21  0:04   ` Dave Quigley
2012-11-21  0:29     ` Dave Quigley
2012-11-21  0:32     ` Casey Schaufler
2012-11-21  0:37       ` Dave Quigley
2012-11-21  2:52         ` Casey Schaufler
2012-11-21  3:28           ` Dave Quigley
2012-11-28 18:57             ` Casey Schaufler
2012-11-29  1:14               ` Dave Quigley
2012-11-29  2:08                 ` Casey Schaufler
2012-11-29 22:28                   ` Casey Schaufler
2012-11-29 22:49                     ` David Quigley
2012-11-30  0:02                       ` David Quigley
2012-11-30  0:07                     ` David Quigley
2012-11-30  0:34                       ` Casey Schaufler
2012-11-30  0:46                         ` David Quigley
2012-11-30  1:50                           ` Casey Schaufler
2012-11-30  2:02                             ` David Quigley
2012-11-30 12:14                               ` J. Bruce Fields
2012-11-30 12:57                                 ` David Quigley
2012-11-30 13:17                                   ` David Quigley
2012-11-30 13:28                                     ` Stephen Smalley
2012-11-30 13:35                                       ` David Quigley
2012-11-30 13:50                                         ` Stephen Smalley
2012-11-30 14:02                                           ` David Quigley
2012-11-30 16:21                                             ` Casey Schaufler
2012-11-30 16:28                                               ` David Quigley [this message]
2012-12-03 18:27                                             ` Casey Schaufler
2012-11-30 16:55                                           ` J. Bruce Fields
2012-11-30 16:59                                             ` David Quigley
2012-11-30 13:20                                 ` David Quigley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e332c08e38f41d70c9cca858c8dba844@countercultured.net \
    --to=dpquigl@davequigley.com \
    --cc=bfields@fieldses.org \
    --cc=casey@schaufler-ca.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@tycho.nsa.gov \
    --cc=trond.myklebust@netapp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).