All of lore.kernel.org
 help / color / mirror / Atom feed
From: Casey Schaufler <casey@schaufler-ca.com>
To: David Quigley <dpquigl@davequigley.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
	Steve Dickson <steved@redhat.com>,
	"David P. Quigley" <selinux@davequigley.com>,
	trond.myklebust@netapp.com, sds@tycho.nsa.gov,
	linux-nfs@vger.kernel.org, selinux@tycho.nsa.gov,
	linux-security-module@vger.kernel.org,
	Casey Schaufler <casey@schaufler-ca.com>
Subject: Re: Labeled NFS [v5]
Date: Thu, 15 Nov 2012 19:34:25 -0800	[thread overview]
Message-ID: <50A5B441.70206@schaufler-ca.com> (raw)
In-Reply-To: <a843eae7d5fa2df4faa99bf5531dcecc@countercultured.net>

On 11/15/2012 12:28 PM, David Quigley wrote:
> On 11/15/2012 11:00, Casey Schaufler wrote:
>> On 11/14/2012 6:30 AM, David Quigley wrote:
>>> On 11/14/2012 09:24, J. Bruce Fields wrote:
>>>> On Wed, Nov 14, 2012 at 09:04:18AM -0500, David Quigley wrote:
>>>>> On 11/14/2012 08:59, J. Bruce Fields wrote:
>>>>> >On Wed, Nov 14, 2012 at 08:50:17AM -0500, David Quigley wrote:
>>>>> >>On 11/14/2012 08:45, J. Bruce Fields wrote:
>>>>> >>>On Tue, Nov 13, 2012 at 11:32:53PM -0500, Dave Quigley wrote:
>>>>> >>>>Ok so if you go to http://www.selinuxproject.org/git you will
>>>>> >>see a
>>>>> >>>>repo for lnfs and lnfs-patchset. The instructions at
>>>>> >>>>http://www.selinuxproject.org/page/Labeled_NFS give you a better
>>>>> >>>>indication on how to pull the trees. I've attached a patch for
>>>>> NFS
>>>>> >>>>utils which gives support for security_label/nosecurity_label in
>>>>> >>>>your /etc/exports file.
>>>>> >>>
>>>>> >>>Do we need an export option?  Is there any reason not to make the
>>>>> >>>feature available whenever there's support available for it?
>>>>> >>
>>>>> >>I guess we could build it in but I figured an export option allowed
>>>>> >>someone to turn off security labeling support if they didn't
>>>>> want it
>>>>> >>on that export. What happens to clients when the server returns a
>>>>> >>cap that they don't support? Do they mask the bits out?
>>>>> >
>>>>> >Yeah, they should just ignore it.
>>>>> >
>>>>> >While this is still experimental it's still nice to have a way to
>>>>> >turn
>>>>> >this on and off at runtime so people can experiment without
>>>>> having to
>>>>> >have it on for everyone all the time.  But
>>>>> >nfsd_supported_minorversion
>>>>> >should be sufficient for that.
>>>>> >
>>>>> >(I don't think your patches actually dealt yet with the fact that
>>>>> >this
>>>>> >is part of minor version 2?  Another for the todo list.)
>>>>> >
>>>>> >--b.
>>>>>
>>>>> If we use nfsd_supported_minorversion which I'm guessing is an
>>>>> export option
>>>>
>>>> That's just a variable in the code.  It's controlled by
>>>> /proc/fs/nfsd/versions.
>>>>
>>>>> what happens if someone wants to use other 4.2
>>>>> features but not labeling?
>>>>
>>>> We'll cross that bridge when we come to it, maybe by adding some new
>>>> global paramater.
>>>>
>>>> There's no reason this really needs to be per-export, is there?
>>>>
>>>> --b.
>>>
>>> At the moment I can't really think of a reason to have it be
>>> per-export. I think we need a new LSM patch though to determine if the
>>> LSM supports labeling over NFS unless Steve can think of a better way
>>> to tell if the LSM supports labeling.
>>
>> If the LSM has a secid_to_secctx hook it supports labeling.
>> Today that's SELinux and Smack. You already have support in
>> for SELinux, and providing Smack's review and possibly updates
>> is #2 on my gotta do list. On the whole, I think that, except
>> for the fundamental philosophical difference between label
>> support and xattr support, it should be a simple matter to
>> get support in for any LSM that has secid_to_secctx.
>>
>> But I'm still working on the review.
>>
>
> I believe SMACK already works out of the box since we abstracted the
> call to obtain labels and your implementation currently works.

I'm looking to do a little verification. I hate assuming that something
will work only to discover otherwise in the wild.

> The call that is needed is not secid_to_secctx but inode_getsecctx.

I was pointing out that secid_to_secctx pretty well defines that the LSM
is using labels.

> You asked for this because SMACK labels can span multiple xattrs. I
> don't think its right to expect NFS to poke around the security
> structure to check if there is a valid hook(and it isn't really
> possible either).

Yeah, I can see that.

> Maybe we can have an LSM hook where the LSM categorizes itself and
> returns a value and if the value it returns is label based then NFS
> can use it.

I'm not sure what the proposed hook would be for except to identify it
as concerned with nfs. Perhaps the hook could return the names of
attributes that it wants nfs to provide.


>
>>>
>>>
>>>>
>>>>> I'll switch it over if you guys want it
>>>>> done that way, I think though that this provides more flexibility.
>>>>> Although anything that makes me carry around fewer patches is good
>>>>> in my book.
>>>>>
>>>>> Dave
>>>
>>> -- 
>>> To unsubscribe from this list: send the line "unsubscribe
>>> linux-security-module" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>
>>
>> -- 
>> 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.
>
>


WARNING: multiple messages have this Message-ID (diff)
From: Casey Schaufler <casey@schaufler-ca.com>
To: David Quigley <dpquigl@davequigley.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
	Steve Dickson <steved@redhat.com>,
	"David P. Quigley" <selinux@davequigley.com>,
	trond.myklebust@netapp.com, sds@tycho.nsa.gov,
	linux-nfs@vger.kernel.org, selinux@tycho.nsa.gov,
	linux-security-module@vger.kernel.org,
	Casey Schaufler <casey@schaufler-ca.com>
Subject: Re: Labeled NFS [v5]
Date: Thu, 15 Nov 2012 19:34:25 -0800	[thread overview]
Message-ID: <50A5B441.70206@schaufler-ca.com> (raw)
In-Reply-To: <a843eae7d5fa2df4faa99bf5531dcecc@countercultured.net>

On 11/15/2012 12:28 PM, David Quigley wrote:
> On 11/15/2012 11:00, Casey Schaufler wrote:
>> On 11/14/2012 6:30 AM, David Quigley wrote:
>>> On 11/14/2012 09:24, J. Bruce Fields wrote:
>>>> On Wed, Nov 14, 2012 at 09:04:18AM -0500, David Quigley wrote:
>>>>> On 11/14/2012 08:59, J. Bruce Fields wrote:
>>>>> >On Wed, Nov 14, 2012 at 08:50:17AM -0500, David Quigley wrote:
>>>>> >>On 11/14/2012 08:45, J. Bruce Fields wrote:
>>>>> >>>On Tue, Nov 13, 2012 at 11:32:53PM -0500, Dave Quigley wrote:
>>>>> >>>>Ok so if you go to http://www.selinuxproject.org/git you will
>>>>> >>see a
>>>>> >>>>repo for lnfs and lnfs-patchset. The instructions at
>>>>> >>>>http://www.selinuxproject.org/page/Labeled_NFS give you a better
>>>>> >>>>indication on how to pull the trees. I've attached a patch for
>>>>> NFS
>>>>> >>>>utils which gives support for security_label/nosecurity_label in
>>>>> >>>>your /etc/exports file.
>>>>> >>>
>>>>> >>>Do we need an export option?  Is there any reason not to make the
>>>>> >>>feature available whenever there's support available for it?
>>>>> >>
>>>>> >>I guess we could build it in but I figured an export option allowed
>>>>> >>someone to turn off security labeling support if they didn't
>>>>> want it
>>>>> >>on that export. What happens to clients when the server returns a
>>>>> >>cap that they don't support? Do they mask the bits out?
>>>>> >
>>>>> >Yeah, they should just ignore it.
>>>>> >
>>>>> >While this is still experimental it's still nice to have a way to
>>>>> >turn
>>>>> >this on and off at runtime so people can experiment without
>>>>> having to
>>>>> >have it on for everyone all the time.  But
>>>>> >nfsd_supported_minorversion
>>>>> >should be sufficient for that.
>>>>> >
>>>>> >(I don't think your patches actually dealt yet with the fact that
>>>>> >this
>>>>> >is part of minor version 2?  Another for the todo list.)
>>>>> >
>>>>> >--b.
>>>>>
>>>>> If we use nfsd_supported_minorversion which I'm guessing is an
>>>>> export option
>>>>
>>>> That's just a variable in the code.  It's controlled by
>>>> /proc/fs/nfsd/versions.
>>>>
>>>>> what happens if someone wants to use other 4.2
>>>>> features but not labeling?
>>>>
>>>> We'll cross that bridge when we come to it, maybe by adding some new
>>>> global paramater.
>>>>
>>>> There's no reason this really needs to be per-export, is there?
>>>>
>>>> --b.
>>>
>>> At the moment I can't really think of a reason to have it be
>>> per-export. I think we need a new LSM patch though to determine if the
>>> LSM supports labeling over NFS unless Steve can think of a better way
>>> to tell if the LSM supports labeling.
>>
>> If the LSM has a secid_to_secctx hook it supports labeling.
>> Today that's SELinux and Smack. You already have support in
>> for SELinux, and providing Smack's review and possibly updates
>> is #2 on my gotta do list. On the whole, I think that, except
>> for the fundamental philosophical difference between label
>> support and xattr support, it should be a simple matter to
>> get support in for any LSM that has secid_to_secctx.
>>
>> But I'm still working on the review.
>>
>
> I believe SMACK already works out of the box since we abstracted the
> call to obtain labels and your implementation currently works.

I'm looking to do a little verification. I hate assuming that something
will work only to discover otherwise in the wild.

> The call that is needed is not secid_to_secctx but inode_getsecctx.

I was pointing out that secid_to_secctx pretty well defines that the LSM
is using labels.

> You asked for this because SMACK labels can span multiple xattrs. I
> don't think its right to expect NFS to poke around the security
> structure to check if there is a valid hook(and it isn't really
> possible either).

Yeah, I can see that.

> Maybe we can have an LSM hook where the LSM categorizes itself and
> returns a value and if the value it returns is label based then NFS
> can use it.

I'm not sure what the proposed hook would be for except to identify it
as concerned with nfs. Perhaps the hook could return the names of
attributes that it wants nfs to provide.


>
>>>
>>>
>>>>
>>>>> I'll switch it over if you guys want it
>>>>> done that way, I think though that this provides more flexibility.
>>>>> Although anything that makes me carry around fewer patches is good
>>>>> in my book.
>>>>>
>>>>> Dave
>>>
>>> -- 
>>> To unsubscribe from this list: send the line "unsubscribe
>>> linux-security-module" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>
>>
>> -- 
>> 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.
>
>


--
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-16  3:40 UTC|newest]

Thread overview: 154+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-12  6:15 Labeled NFS [v5] David Quigley
2012-11-12  6:15 ` 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  6:15   ` David Quigley
2012-11-12 12:13   ` J. Bruce Fields
2012-11-12 14:52     ` Dave Quigley
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  6:15   ` David Quigley
2012-11-12 12:15   ` J. Bruce Fields
2012-11-12 14:56     ` Dave Quigley
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 19:36           ` David P. Quigley
2012-11-12 21:43           ` J. Bruce Fields
2012-11-13  0:12             ` Dave Quigley
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   ` David Quigley
2012-11-12  6:15 ` [PATCH 04/13] SELinux: Add new labeling type native labels David Quigley
2012-11-12  6:15   ` David Quigley
2012-11-12  6:15 ` [PATCH 05/13] KConfig: Add KConfig entries for Labeled NFS David Quigley
2012-11-12  6:15   ` David Quigley
2012-11-12 14:45   ` J. Bruce Fields
2012-11-12 14:57     ` Dave Quigley
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   ` David Quigley
2012-11-12  6:15 ` [PATCH 07/13] NFSv4: Introduce new label structure David Quigley
2012-11-12  6:15   ` David Quigley
2012-11-12 15:13   ` J. Bruce Fields
2012-11-12 15:32     ` David P. Quigley
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 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   ` David Quigley
2012-11-12  6:15 ` [PATCH 09/13] NFS:Add labels to client function prototypes David Quigley
2012-11-12  6:15   ` David Quigley
2012-11-12  6:15 ` [PATCH 10/13] NFS: Add label lifecycle management David Quigley
2012-11-12  6:15   ` David Quigley
2012-11-12 15:33   ` J. Bruce Fields
2012-11-12 15:36     ` David P. Quigley
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   ` 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   ` David Quigley
2012-11-12  6:15 ` [PATCH 13/13] NFSD: Server implementation of MAC Labeling David Quigley
2012-11-12  6:15   ` 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 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  1:39           ` Dave Quigley
2012-11-13 12:55           ` Steve Dickson
2012-11-14  4:32             ` Dave Quigley
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:50                   ` David Quigley
2012-11-14 13:59                   ` J. Bruce Fields
2012-11-14 14:01                     ` David Quigley
2012-11-14 14:01                       ` David Quigley
2012-11-14 14:04                     ` 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-14 14:30                           ` David Quigley
2012-11-15 16:00                           ` Casey Schaufler
2012-11-15 16:00                             ` Casey Schaufler
2012-11-15 20:28                             ` David Quigley
2012-11-15 20:28                               ` David Quigley
2012-11-16  3:34                               ` Casey Schaufler [this message]
2012-11-16  3:34                                 ` Casey Schaufler
2012-11-16  3:43                                 ` David Quigley
2012-11-16  3:43                                   ` David Quigley
2012-11-16  4:58                                   ` Dave Quigley
2012-11-16  4:58                                     ` Dave Quigley
2012-11-16  4:59                                   ` Dave Quigley
2012-11-16  4:59                                     ` Dave Quigley
2012-11-14 13:56               ` David 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 20:44     ` Dave Quigley
2012-11-12 22:23 ` Casey Schaufler
2012-11-12 22:23   ` Casey Schaufler
2012-11-13  3:16   ` Dave Quigley
2012-11-13  3:16     ` Dave Quigley
2012-11-20 21:09 ` Casey Schaufler
2012-11-20 21:09   ` Casey Schaufler
2012-11-21  0:04   ` Dave Quigley
2012-11-21  0:04     ` Dave Quigley
2012-11-21  0:29     ` Dave Quigley
2012-11-21  0:29       ` Dave Quigley
2012-11-21  0:32     ` Casey Schaufler
2012-11-21  0:32       ` Casey Schaufler
2012-11-21  0:37       ` Dave Quigley
2012-11-21  0:37         ` Dave Quigley
2012-11-21  2:52         ` Casey Schaufler
2012-11-21  2:52           ` Casey Schaufler
2012-11-21  3:28           ` Dave Quigley
2012-11-21  3:28             ` Dave Quigley
2012-11-28 18:57             ` Casey Schaufler
2012-11-29  1:14               ` Dave Quigley
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:28                     ` Casey Schaufler
2012-11-29 22:49                     ` David Quigley
2012-11-29 22:49                       ` David Quigley
2012-11-30  0:02                       ` David Quigley
2012-11-30  0:02                         ` David Quigley
2012-11-30  0:07                     ` David Quigley
2012-11-30  0:07                       ` David Quigley
2012-11-30  0:34                       ` Casey Schaufler
2012-11-30  0:34                         ` Casey Schaufler
2012-11-30  0:46                         ` David Quigley
2012-11-30  0:46                           ` David Quigley
2012-11-30  1:50                           ` Casey Schaufler
2012-11-30  1:50                             ` Casey Schaufler
2012-11-30  2:02                             ` David Quigley
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 12:57                                   ` David Quigley
2012-11-30 13:17                                   ` David Quigley
2012-11-30 13:17                                     ` David Quigley
2012-11-30 13:28                                     ` Stephen Smalley
2012-11-30 13:28                                       ` Stephen Smalley
2012-11-30 13:35                                       ` David Quigley
2012-11-30 13:35                                         ` David Quigley
2012-11-30 13:50                                         ` Stephen Smalley
2012-11-30 13:50                                           ` Stephen Smalley
2012-11-30 14:02                                           ` David Quigley
2012-11-30 14:02                                             ` David Quigley
2012-11-30 16:21                                             ` Casey Schaufler
2012-11-30 16:21                                               ` Casey Schaufler
2012-11-30 16:28                                               ` David Quigley
2012-11-30 16:28                                                 ` David Quigley
2012-12-03 18:27                                             ` Casey Schaufler
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 16:59                                               ` David Quigley
2012-11-30 13:20                                 ` 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=50A5B441.70206@schaufler-ca.com \
    --to=casey@schaufler-ca.com \
    --cc=bfields@fieldses.org \
    --cc=dpquigl@davequigley.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@davequigley.com \
    --cc=selinux@tycho.nsa.gov \
    --cc=steved@redhat.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.