linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Quigley <dpquigl@davequigley.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Casey Schaufler <casey@schaufler-ca.com>,
	<trond.myklebust@netapp.com>, <sds@tycho.nsa.gov>,
	<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 07:57:19 -0500	[thread overview]
Message-ID: <607a8005d6c33a19c53b5ede29d81ef5@countercultured.net> (raw)
In-Reply-To: <20121130121437.GC614@fieldses.org>

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:
>> >>>I would think that were it not for the case that access is denied
>> >>>and I get an audit record for nfsd that reports a subject
>> >>>label of "_"
>> >>>(which is correct for nfsd but not the process attempting
>> >>>access) and
>> >>>an object label of "WhooHoo", which is correct. The server side
>> >>>looks like it might be working right, given the information that 
>> it
>> >>>has.
>> >>>
>> >>
>> >>Ok so this is the problem. nfsd is a kernel thread I believe. In
>> >>SELinux land it has the type kernel_t which is all powerful. We
>> >>don't
>> >>have client label transport yet (That requires RPCSECGSSv3). Is
>> >>there
>> >>a way you can have that kernel thread running as a type that has
>> >>access to everything?
>> >
>> >That would be having CAP_MAC_ADMIN and CAP_MAC_OVERRIDE in 
>> Smackese.
>> >Looking at /proc/<pid-of-nfsd>/status we see CapEff of fff...fff
>> >which
>> >is to say, all capabilities.
>> >
>>
>> Hmm thats interesting then. You could try using rpcdebug -m nfsd to
>> turn on some of the debugging to look around the internals and
>> figure out whats going on. If you pass -v it will give you all of
>> the potential flags.
>>
>> >
>> >>I think that is the current problem. Which makes perfect sense. If
>> >>your kernel threads don't get started with max privilege then the
>> >>server would be denied access on all of the file attributes and
>> >>wouldn't be able to ship it over the wire properly.
>> >
>> >OK. I haven't had to do anything with kernel threads so far.
>> >Where is NFS setting these up? Poking around fs/nfsd looks like
>> >the place, but I haven't seen anything there that makes it look
>> >like they would be running without capabilities. Clearly, that's
>> >what I'm seeing. It looks as if the credential of nfsd does not
>> >match what /proc reports. Bother.
>> >
>>
>> I'm not entirely sure whats up either. If you want to look for the
>> NFSd threads they are in fs/nfsd/nfssvc.c. The main function starts
>> on line 487.
>
> I'm not following the discussion, but: maybe you want to look at
> fs/nfsd/auth.c:nfsd_setuser() ?  In particular, the
> cap_{drop/raise}_nfsd_set() calls at the end.
>
> --b.


I'm not as familiar with the capabilities code as Casey is so I'll 
leave this ball in his court. I think you are correct though and the 
problem is that NFSd is dropping and raising caps and we need to make 
sure that MAC_ADMIN and MAC_OVERRIDE is in there in the SMACK case.

  reply	other threads:[~2012-11-30 12:57 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 [this message]
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
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=607a8005d6c33a19c53b5ede29d81ef5@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).