All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolas Williams <Nicolas.Williams@sun.com>
To: Peter Staubach <staubach@redhat.com>
Cc: "David P. Quigley" <dpquigl@tycho.nsa.gov>,
	labeled-nfs@linux-nfs.org, nfs-discuss@opensolaris.org,
	nfsv4@ietf.org, selinux@tycho.nsa.gov
Subject: Re: [nfsv4] New MAC label support Internet Draft posted to IETF	website
Date: Thu, 12 Feb 2009 09:22:03 -0600	[thread overview]
Message-ID: <20090212152203.GO9992@Sun.COM> (raw)
In-Reply-To: <4990AD20.3030902@redhat.com>

On Mon, Feb 09, 2009 at 05:24:32PM -0500, Peter Staubach wrote:
> Section 3.2 discusses handling if a security attribute is
> changed while a client is holding a delegation to an object.
> The text describes that the client should flush changes to the
> server and relinquish the delegation.  Why?  Is access to an
> open file on the client to be revoked?  What happens on a
> client which does not happen to be holding a delegation at the
> time?
> 
> This leads to a further question concerning client side caching
> of these attributes.  Is the client allowed to do caching?  If
> so, how would it go about doing cache validation?

For DAC POSIX semantics are that open file references are not revoked
when a file's owner/group/permissions (and/or ACL) change.

MAC requires some sort of revocation.  This can happen on the
server-side whenever the client tries to access a file after it's been
relabeled.  The client might learn of this pretty late, but given that
the user on the client would have been able to see the contents under
the old label this timing seems to me to be acceptable.

Recalling an open file delegation seems OK as a way to speed that up if
the client can obtain a new delegation if it still has access to the
file.

The only other wrinkle is that multi-user clients need to let the server
perform all access decisions for each user -- the client must not allow
access using local MAC decisions based on cached file labels.

> Section 4.1 includes an XXX reference probably to a draft
> document.  Is this the draft for RPCSEC_GSSAPI v3?

No, it's not.  As David explained, that I-D came later.

> Section 4.1.1 discusses denying a request if a security
> attribute can not be translated from one DOI to another.
> What error should be returned?  It seems to me that a new

IMO NFS4ERR_ACCESS is good enough.

> set of errors may potentially need to be introduced to
> handle the new cases where servers need to inform clients
> exactly what happened.  [...]

Perhaps, but I expect that production servers would return generic
errors like NFS4ERR_ACCESS rather than newfangled ones like, say,
NFS4ERR_NODOITRANS.  There's no need to tell the client too much about
why its request failed.  It suffices that access was denied, and for
that NFS4ERR_ACCESS is good enough.

> Section 4.2.1 discusses a smart client and the need for a
> common DOI.  Could a client not implement its own translations
> for the DOIs that it may choose to know about?

It could.

> Anyway, enough for the time being.  I think that some more
> detailed definitions and declarations need to be specified
> in order to move along.

Defnitely.

Thanks for the comments!

Nico
-- 

--
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.

  parent reply	other threads:[~2009-02-12 15:22 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-22 19:16 New MAC label support Internet Draft posted to IETF website David P. Quigley
     [not found] ` <54E18340-3542-4AB4-843E-E92A67B709A7@storspeed.com>
2009-01-23 17:47   ` [nfsv4] " Peter Staubach
2009-01-23 21:59     ` Glenn Faden
2009-01-23 19:07   ` [Labeled-nfs] " Kevin L. Smith
     [not found]   ` <33B70CB9-5260-419A-98CF-94847F829570@nokia.com>
2009-01-28  1:17     ` Jarrett Lu
2009-02-09 22:24 ` Peter Staubach
2009-02-11 23:47   ` David P. Quigley
2009-02-12  1:07     ` [Labeled-nfs] " James Morris
2009-02-12 15:36       ` [nfsv4] " Nicolas Williams
2009-02-12 20:00         ` David P. Quigley
2009-02-12 20:11           ` Nicolas Williams
2009-02-17 16:50             ` David P. Quigley
2009-02-17 17:00               ` Nicolas Williams
2009-02-12 19:45       ` David P. Quigley
2009-02-12 15:22   ` Nicolas Williams [this message]
2009-03-12 16:08   ` David P. Quigley
2009-03-12 17:20     ` Peter Staubach
2009-03-25  8:52 ` Jarrett Lu
2009-03-25 16:33   ` [nfsv4] " Nicolas Williams
2009-03-26  9:25     ` Jarrett Lu
2009-03-26 15:09       ` Nicolas Williams
2009-03-26 22:03         ` Jarrett Lu
2009-03-27  0:11           ` Nicolas Williams
2009-03-27 12:55             ` [Labeled-nfs] " Stephen Smalley
2009-03-27 13:22               ` Stephen Smalley
2009-03-27 17:03                 ` Jarrett Lu
2009-03-27 17:26                   ` [nfsv4] [Labeled-nfs] " Nicolas Williams
2009-03-27 18:56                     ` Jarrett Lu
2009-03-27 22:04                       ` Nicolas Williams
2009-03-30 17:37                       ` Stephen Smalley
2009-03-30 18:30                         ` Jarrett Lu
2009-03-30 20:01                           ` Nicolas Williams
2009-03-30 20:03                             ` Nicolas Williams
2009-03-30 21:14                           ` Stephen Smalley
2009-03-31  5:59                             ` Jarrett Lu
2009-03-31 18:28                               ` Nicolas Williams
2009-04-01  3:33                                 ` Jarrett Lu
2009-04-01  6:58                                   ` [Labeled-nfs] [nfsv4] " James Morris
2009-04-01  8:09                                     ` Jarrett Lu
2009-04-01  9:49                                       ` James Morris
2009-04-01 17:50                                   ` [nfsv4] [Labeled-nfs] " Nicolas Williams
2009-04-02 23:43                                     ` Jarrett Lu
2009-03-31  3:07                           ` Casey Schaufler
2009-03-31 14:47                             ` Paul Moore
2009-04-01  7:46                               ` Jarrett Lu
2009-04-01 16:46                                 ` Paul Moore
2009-04-02 15:24                                   ` Nicolas Williams
2009-04-02 22:35                                     ` Paul Moore
2009-04-03  4:42                                       ` Nicolas Williams
2009-04-03 18:08                                       ` Joy Latten
2009-04-03  1:21                                   ` Jarrett Lu
2009-04-07 21:30                                     ` Paul Moore
2009-03-31 18:34                             ` Nicolas Williams
2009-04-01  3:42                               ` Casey Schaufler
2009-03-28  3:33                   ` [Labeled-nfs] [nfsv4] " Casey Schaufler
2009-03-28  5:16                     ` Glenn Faden
2009-03-28  5:52                       ` Casey Schaufler
2009-03-27 22:09                 ` Nicolas Williams
2009-03-30 16:51                   ` Stephen Smalley
2009-03-30 20:05                     ` Nicolas Williams

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=20090212152203.GO9992@Sun.COM \
    --to=nicolas.williams@sun.com \
    --cc=dpquigl@tycho.nsa.gov \
    --cc=labeled-nfs@linux-nfs.org \
    --cc=nfs-discuss@opensolaris.org \
    --cc=nfsv4@ietf.org \
    --cc=selinux@tycho.nsa.gov \
    --cc=staubach@redhat.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.