Thomas Haynes | 1 Apr 2011 13:38
Picon

[lnfs] Proposed Labeled NFS meeting times

I'm proposing a bi-weekly conference call starting April 14th:

   Time: Thursdays 12:30-1:30 PM CST/1:30-2:30 PM EST/10:30-11:30 AM PST
Dial-in: 1-888-765-3653 (us)
         303-218-2659 (international)
     Id: 2787108

I know that there had been some calls on Wednesdays, but this keeps a
consistent meeting slot on Thursdays.

_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4

Thomas Haynes | 1 Apr 2011 13:38
Picon

[nfsv4.2] Proposed meeting times

I'm proposing a bi-weekly conference call starting April 7th:

   Time: Thursdays 12:30-1:30 PM CST/1:30-2:30 PM EST/10:30-11:30 AM PST
Dial-in: 1-888-765-3653 (us)
         303-218-2659 (international)
     Id: 2787108

_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4

jarrett.lu@oracle.com | 1 Apr 2011 13:16
Picon
Favicon

Re: Fwd: New Version Notification for draft-quigley-nfsv4-labeled-00

Tom,

Thank you for taking the initiative in consolidating the documents. Let's work on the consolidated document and try to get it in shape for IETF 81.

Subject:
Re: [nfsv4] Fwd: New Version Notification for draft-quigley-nfsv4-labeled-00
From:
sfaibish <sfaibish <at> emc.com>
Date:
Thu, 31 Mar 2011 04:42:21 -0400
To:
Thomas Haynes <thomas <at> netapp.com>, nfsv4 <at> ietf.org
CC:
"Moriarty, Kathleen" <kathleen.moriarty <at> emc.com>

I want to start the discussion on the draft by adding the items and issues
we need to address in the draft based on my discussions with Jarrett
and included in the slides I didn't show in the WG meeting.

1. Add in the introduction in more detail what security issues are not
   addressed by the current ACL that are resolved by the current draft.

Text in current document is sufficient. No additional action required.

2. Add more usecases at least usecases related to virtualization needs,
   government usecases, Linux usecases, cloud possible usecases, additional
   usecases from Kathleen (CCed) mentioned during the meeting.

Are we still missing the following use cases?
- MAC in virtualized environment (EMC ?)
- MAC in cloud computing (?)
- additional use cases from Kathleen (?)

Do we know who should provide what use cases? Someone should be assigned the action items to collect the known use cases. Sorin, should this person be you?

3. Add or group in one section addressing the implementation mechanism
   and new xdr additions to make it clear for implementers.

Tom started doing that.

   - Change MAC attributes to be represented as 2 separate entities:
       Domain of Interpretation (DOI, specified by LFS)
       Opaque without special separator <at>

This is agreed upon. Still need to specify format.

   - Mechanism to allow systems to advertise MAC attributes support
       Negotiated by requesting supported attributes from server (EXCHANGE_ID)
       May turn off support by not requesting attribute.

Based on the known use cases, how sophisticated does this negotiation need to be? It's conceivable that a MAC system may be capable of supporting more than one label format. Is there a need for a system to express its full capability (e.g. I understand LSF 5 and 7)? BTW, the use cases that I know don't require that level of complexity.
   - Define fixed max size of the opaque (not less than IPv6 HBH extension length?)

I suggested that because CALIPSO label is implement using IPv6 HBH extension. A CALIPSO label should fit in the opaque field.

   - Add text to better define support of full mode MAC security as implementation
     recommendations for servers not mandating it but rather MAY be implemented.

I thought about this a bit more after the meeting. The protocol extension should be made to support full mode. I believe users who really care about MAC security want to operate in full mode. Let's also examine each of the "half mode" operations and its impact on the protocol extension. (1) In the case that only server understands MAC, server can enforce its MAC policy without clients knowing it. When a non-MAC client requests access to a labeled file object (or its attributes), the server may grant access if its MAC policy allows it. When such access is granted, should the server hide the labeled attribute from the client? If so, there is no protocol impact, and there is no reason why older verson NFS clients can't be supported in this case. Otherwise, there is protocol impact and older version clients can't be supported without changes. (2) In the case where only client understands MAC, protocol extension is required because a client can request creation of a labeled object. The difference between this case and the "full mode" case is that a creation of a labeled object may fail in "full mode" if server MAC policy prevents it.

    - Address different policy reinforcement implementations more clearily:
    + full server reinforcement only for dumb MAC unaware clients (define
      how dumb, v2, v3, v4.0).
      * Need to define/recommend which policies.
      * Mention what are goals and non-goals addressed by current draf
        # full mode for pNFS

If MAC negotiation/checks only happens betwen clients and MDS, this should work for pNFS, right?

        # delegations (directory and files?)

Given MAC clients and MAC server are supposed to perform independent policy enforcement, the delegation feature probably does not make sense.

        # untrusted devfelopments
      * Separate "visibility" from "access permission" reinforcement.
    + server policy to just prevent non MAC aware clients access and see the
          secured objects
    + full server policy reinforcements for MAC aware clients

We need to distinguish support for MAC label attribute and MAC policy. For example, a non-MAC server is capable of get/set MAC label attribute (just like any other file attribute) but can't enforce any MAC policies.


4. Include a section about the pNFS support where to mention why
   pNFS is different than 4.1. The current explanation may not be
   enough. I would also include the reasoning why named attributes
   is not recommended to be used.

I don't think we want to leave named attributes as an option to implement MAC attribute, as named attribute does not meet the requirement. If this prevents MAC support in NFSv3, so be it.

5. Add a section addressing the delegations and explain why delegations
   are non-goals for 4.2 and what will be the roadmap for adding delegation
   support in future versions.
6. Define in more details all the behaviors: MAC aware cleint, MAC un-aware
   clients, MAC supportive server, MAC aware server and full mode server.
7. Add explanation on the issues related to root protection and/or recommendation
   how to solve them in the server (or and client)

I don't understand this. Is this related to prevention of privilege escalation?

8. Define the impact of new labels on dumb clients and MAC un-aware clients both
   from perspective of backward compatibility (new labels not break the clients)
   how to inform them that server will reinforce MAC (maybe?)

We discussed additional issues which I may forgot so please jump in
and add issues I missed that we will discuss during the calls. And I insist
of having bi-weekly calls as Jarrett, me and Dave recommend to have. It
worked good last time we had the series. Thank you very much for your
patience.

I suggest we start tracking issues and assigning action items to people. My impression is that if we need to include MAC support in 4.2, we need to make steady progress.

Thanks.

- Jarrett


/Sorin

_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4
Jim Rees | 1 Apr 2011 23:36
Picon

June 2011 NFSv4 Bakeathon

The June 2011 NFSv4 Bakeathon will be held June 13-17 at the University of
Michigan in Ann Arbor.  I'll send out details and registration info next
week.
_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4

david.black | 4 Apr 2011 17:31

draft-quigley-nfsv4-labeled-00 - some comments

Pulling selected items out of Jarret’s email:

 

[A] Stupid opening question for Tom – the new –labeled- draft says the following in Section 1:

 

   (1)  Clients must be able to convey to the server the security

        attribute of the subject making the access request.  The server

        may provide a mechanism to enforce MAC policy based on the

        requesting subject's security attribute.

 

[... snip ...]

 

   The ability to convey the

   security attribute of the subject as described in requirement (1)

   falls upon the RPC layer to implement.

 

Where is that proposed RPC change/addition specified?  I didn’t see it in the –labeled- draft.

 

[B]

 

> Are we still missing the following use cases?
> - MAC in virtualized environment (EMC ?)
> - MAC in cloud computing (?)
> - additional use cases from Kathleen (?)

 

At least Kathleen and I are signed up to do something here.  We’re not promising that all of these use cases are applicable to MAC, but we’ll take a serious look - stay tuned.

 

[C]

 

>   - Mechanism to allow systems to advertise MAC attributes support
>       Negotiated by requesting supported attributes from server (EXCHANGE_ID)
>       May turn off support by not requesting attribute.

>
> Based on the known use cases, how sophisticated does this negotiation need to be? It's conceivable that a MAC

> system may be capable of supporting more than one label format. Is there a need for a system to express its full

> capability (e.g. I understand LSF 5 and 7)? BTW, the use cases that I know don't require that level of complexity.

 

If there’s a mismatch, client will discover quickly when a retrieved label has the wrong LFS value.  This is indicative of a serious security misconfiguration (e.g., client SHOULD disconnect if an LFS value is unexpected).

 

In the other direction, how does a client announce whether it’s MAC capable?  Note that this would be a config check mechanism (e.g., accidentally connected a non-MAC client to a MAC server that it’s not supposed to talk to), *not* a security mechanism, because a malicious client will lie.

 

[D]

 

>   - Add text to better define support of full mode MAC security as implementation
>     recommendations for servers not mandating it but rather MAY be implemented.

>
> I thought about this a bit more after the meeting. The protocol extension should be made to support full mode. I believe

> users who really care about MAC security want to operate in full mode.

 

This looks like violent agreement, at least to me.  IMHO, as long as the protocol extension supports full MAC mode, but server implementation of MAC is optional (MAY or a qualified SHOULD, not MUST), I think everyone may be happy – a user who wants MAC server support configures the server to support MAC and perhaps also the clients to check for that support.  In general, it looks like server MAC enforcement is a mostly transparent add-on for MAC-enabled clients (and ditto for MAC-ignorant clients).

 

[E]

 

>         # full mode for pNFS

>
> If MAC negotiation/checks only happens between clients and MDS, this should work for pNFS, right?

 

Not necessarily, because pNFS bypasses the server, and hence bypasses any server MAC checks ;-).  If the client is making MAC checks, the pNFS metadata server is making MAC checks, but one or more of the pNFS data servers is/are not, the “users who really care about MAC security” may not be happy.  Addressing this might just involve explaining what happens and recommending that people not do things that may not work out well (e.g., “users who really care about MAC security” SHOULD NOT use MAC-incapable data servers – for the pNFS block layout, I think this is a specific case of a “SHOULD NOT” security caution that’s already in RFC 5663).

 

[F]

 

>        # delegations (directory and files?)

> Given MAC clients and MAC server are supposed to perform independent policy enforcement, the delegation

> feature probably does not make sense.

 

IMHO, file delegation is probably ok (server MAC check covering file access probably suffices for delegation).  OTOH, directory delegation is problematic, and I would have no problem for 4.2 if we said that directory delegation SHOULD NOT (or even MUST NOT?) be used w/MAC, which is a step towards:

 

> 5. Add a section addressing the delegations and explain why delegations
>    are non-goals for 4.2 and what will be the roadmap for adding delegation
>    support in future versions.

 

[G]

 

> 7. Add explanation on the issues related to root protection and/or recommendation

>    how to solve them in the server (or and client)

>
> I don't understand this. Is this related to prevention of privilege escalation?

 

No, some of the implementations apparently allow the root directory to be listed without MAC checks for reasons that I’ll leave to the implementers to explain.  Something would be needed in the sequence of operations at mount time, or a recommendation for a workaround where the mounted root directory contains only one entry that is the logical root of the MAC-controlled filesytem (e.g., “secure_root” is the only directory entry in the mounted directory).  Listing that entry should be relatively harmless.

 

Thanks,
--David

 

From: nfsv4-bounces <at> ietf.org [mailto:nfsv4-bounces <at> ietf.org] On Behalf Of jarrett.lu <at> oracle.com
Sent: Friday, April 01, 2011 7:17 AM
To: faibish, sorin; nfsv4 <at> ietf.org; thomas <at> netapp.com
Cc: Moriarty, Kathleen
Subject: Re: [nfsv4] Fwd: New Version Notification for draft-quigley-nfsv4-labeled-00

 

Tom,

Thank you for taking the initiative in consolidating the documents. Let's work on the consolidated document and try to get it in shape for IETF 81.


Subject:

Re: [nfsv4] Fwd: New Version Notification for draft-quigley-nfsv4-labeled-00

Date: Thu, 31 Mar 2011 04:42:21 -0400

 

CC: "Moriarty, Kathleen" <kathleen.moriarty <at> emc.com>


I want to start the discussion on the draft by adding the items and issues
we need to address in the draft based on my discussions with Jarrett
and included in the slides I didn't show in the WG meeting.

1. Add in the introduction in more detail what security issues are not
   addressed by the current ACL that are resolved by the current draft.


Text in current document is sufficient. No additional action required.


2. Add more usecases at least usecases related to virtualization needs,
   government usecases, Linux usecases, cloud possible usecases, additional
   usecases from Kathleen (CCed) mentioned during the meeting.


Are we still missing the following use cases?
- MAC in virtualized environment (EMC ?)
- MAC in cloud computing (?)
- additional use cases from Kathleen (?)

Do we know who should provide what use cases? Someone should be assigned the action items to collect the known use cases. Sorin, should this person be you?


3. Add or group in one section addressing the implementation mechanism
   and new xdr additions to make it clear for implementers.


Tom started doing that.


   - Change MAC attributes to be represented as 2 separate entities:
       Domain of Interpretation (DOI, specified by LFS)
       Opaque without special separator <at>


This is agreed upon. Still need to specify format.


   - Mechanism to allow systems to advertise MAC attributes support
       Negotiated by requesting supported attributes from server (EXCHANGE_ID)
       May turn off support by not requesting attribute.


Based on the known use cases, how sophisticated does this negotiation need to be? It's conceivable that a MAC system may be capable of supporting more than one label format. Is there a need for a system to express its full capability (e.g. I understand LSF 5 and 7)? BTW, the use cases that I know don't require that level of complexity.

   - Define fixed max size of the opaque (not less than IPv6 HBH extension length?)


I suggested that because CALIPSO label is implement using IPv6 HBH extension. A CALIPSO label should fit in the opaque field.


   - Add text to better define support of full mode MAC security as implementation
     recommendations for servers not mandating it but rather MAY be implemented.


I thought about this a bit more after the meeting. The protocol extension should be made to support full mode. I believe users who really care about MAC security want to operate in full mode. Let's also examine each of the "half mode" operations and its impact on the protocol extension. (1) In the case that only server understands MAC, server can enforce its MAC policy without clients knowing it. When a non-MAC client requests access to a labeled file object (or its attributes), the server may grant access if its MAC policy allows it. When such access is granted, should the server hide the labeled attribute from the client? If so, there is no protocol impact, and there is no reason why older verson NFS clients can't be supported in this case. Otherwise, there is protocol impact and older version clients can't be supported without changes. (2) In the case where only client understands MAC, protocol extension is required because a client can request creation of a labeled object. The difference between this case and the "full mode" case is that a creation of a labeled object may fail in "full mode" if server MAC policy prevents it.

    - Address different policy reinforcement implementations more clearily:

    + full server reinforcement only for dumb MAC unaware clients (define
      how dumb, v2, v3, v4.0).
      * Need to define/recommend which policies.
      * Mention what are goals and non-goals addressed by current draf
        # full mode for pNFS


If MAC negotiation/checks only happens betwen clients and MDS, this should work for pNFS, right?


        # delegations (directory and files?)


Given MAC clients and MAC server are supposed to perform independent policy enforcement, the delegation feature probably does not make sense.


        # untrusted devfelopments
      * Separate "visibility" from "access permission" reinforcement.
    + server policy to just prevent non MAC aware clients access and see the
          secured objects
    + full server policy reinforcements for MAC aware clients


We need to distinguish support for MAC label attribute and MAC policy. For example, a non-MAC server is capable of get/set MAC label attribute (just like any other file attribute) but can't enforce any MAC policies.



4. Include a section about the pNFS support where to mention why
   pNFS is different than 4.1. The current explanation may not be
   enough. I would also include the reasoning why named attributes
   is not recommended to be used.


I don't think we want to leave named attributes as an option to implement MAC attribute, as named attribute does not meet the requirement. If this prevents MAC support in NFSv3, so be it.


5. Add a section addressing the delegations and explain why delegations
   are non-goals for 4.2 and what will be the roadmap for adding delegation
   support in future versions.
6. Define in more details all the behaviors: MAC aware cleint, MAC un-aware
   clients, MAC supportive server, MAC aware server and full mode server.
7. Add explanation on the issues related to root protection and/or recommendation
   how to solve them in the server (or and client)


I don't understand this. Is this related to prevention of privilege escalation?


8. Define the impact of new labels on dumb clients and MAC un-aware clients both
   from perspective of backward compatibility (new labels not break the clients)
   how to inform them that server will reinforce MAC (maybe?)

We discussed additional issues which I may forgot so please jump in
and add issues I missed that we will discuss during the calls. And I insist
of having bi-weekly calls as Jarrett, me and Dave recommend to have. It
worked good last time we had the series. Thank you very much for your
patience.


I suggest we start tracking issues and assigning action items to people. My impression is that if we need to include MAC support in 4.2, we need to make steady progress.

Thanks.

- Jarrett



/Sorin

_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4
david.black | 4 Apr 2011 17:41

Re: LAYOUTCOMMIT byte range

> > Also note that Benny is talking about deprecating loca_offset and loca_length, the thing
> > you seem to care about is loca_last_write_offset, which is not affected
>
> Sounds okay but would like to understand the details prior to commenting on this part.
> 
> Questions:
> Will the client send LAYOUTCOMMIT to servers supporting file layout in the current errata?

Yes - There should be no change to the carefully worked out requirements in the current errata for when
LAYOUTCOMMIT has to be used with the pNFS file layout.

> I think if we deprecate loca_offset and loca_length the checks for, loca_last_write_offset MUST
> overlap the range described by loca_offset and loca_length need to be removed. There is more text in
> rfc 5661 pertaining to mentioned fields up for deprecation.

Yes, it would be necessary to remove/rewrite all text referring to deprecated fields as part of
deprecating them.  Removing those checks is one of the things I like about Benny's suggestion.

The overall result would be that for the pNFS block layout, the server iterates through the
layout-specific extents to figure out what to do, but both the pNFS file and object layouts effectively do
LAYOUTCOMMIT on the entire file.

Thanks,
--David

> -----Original Message-----
> From: nfsv4-bounces <at> ietf.org [mailto:nfsv4-bounces <at> ietf.org] On Behalf Of Suchit Kaura
> Sent: Thursday, March 31, 2011 9:00 AM
> To: Fred Isaman
> Cc: Benny Halevy; nfsv4 list; Black, David; David <at> core3.amsl.com
> Subject: Re: [nfsv4] LAYOUTCOMMIT byte range
> 
> Hi Fred,
> 
> Thanks for your response.
> > I remember some discussion of using COMMIT (not LAYOUTCOMMIT) ranges to determine if the
> LAYOUTCOMMIT is needed,
> Just to be sure http://www.rfc-editor.org/errata_search.php?rfc=5661&eid=2751 is not being
> considered anymore
> 
> >  but that was tabled once the current errata was proposed.
> The current errata is Benny's email or is it documented somewhere else?
> 
> > Also note that Benny is talking about deprecating loca_offset and loca_length, the thing you seem
> to care about is loca_last_write_offset, which is not affected
> Sounds okay but would like to understand the details prior to commenting on this part.
> 
> Questions:
> Will the client send LAYOUTCOMMIT to servers supporting file layout in the current errata?
> 
> Also from rfc5661:
>    The loca_last_write_offset field specifies the offset of the last
>    byte written by the client previous to the LAYOUTCOMMIT.  Note that
>    this value is never equal to the file's size (at most it is one byte
>    less than the file's size) and MUST be less than or equal to
>    NFS4_MAXFILEOFF.  Also, loca_last_write_offset MUST overlap the range
>    described by loca_offset and loca_length.  The metadata server may
>    use this information to determine whether the file's size needs to be
>    updated.  If the metadata server updates the file's size as the
>    result of the LAYOUTCOMMIT operation, it must return the new size
>    (locr_newsize.ns_size) as part of the results.
> 
> I think if we deprecate loca_offset and loca_length the checks for, loca_last_write_offset MUST
> overlap the range described by loca_offset and loca_length need to be removed. There is more text in
> rfc 5661 pertaining to mentioned fields up for deprecation.
> 
> Regards,
> Suchit
> 
> -----Original Message-----
> From: faisaman4 <at> gmail.com [mailto:faisaman4 <at> gmail.com] On Behalf Of Fred Isaman
> Sent: Wednesday, March 30, 2011 12:34 PM
> To: Suchit Kaura
> Cc: Benny Halevy; nfsv4 list; David Black
> Subject: Re: [nfsv4] LAYOUTCOMMIT byte range
> 
> On Wed, Mar 30, 2011 at 3:19 PM, Suchit Kaura <skaura <at> bluearc.com> wrote:
> 
> >> 3. The file and object layouts ignore the LAYOUTCOMMIT byte range.
> > This is not true for all file layout based servers. The file layout based servers using asymmetric
> model can use this information as an indication of what was the last client offset that was written.
> I believe we agreed on this as part of the proposal from Mike after the discussion in interim IETF
> meeting, the errata for the same was captured by Ricardo and reviewed.
> 
> 
> Is this mentioned in the errata at all?  I do not see it.  I remember some discussion of using
> COMMIT (not LAYOUTCOMMIT) ranges to determine if the LAYOUTCOMMIT is needed, but that was tabled
> once the current errata was proposed.  Also note that Benny is talking about deprecating loca_offset
> and loca_length, the thing you seem to care about is loca_last_write_offset, which is not affected.
> 
> Fred
> _______________________________________________
> nfsv4 mailing list
> nfsv4 <at> ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4

_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4

Benny Halevy | 4 Apr 2011 18:30
Favicon

Re: LAYOUTCOMMIT byte range

On 2011-03-31 07:23, david.black <at> emc.com wrote:
>>> I remember some discussion of using COMMIT (not LAYOUTCOMMIT)
>>> ranges to determine if the
>> LAYOUTCOMMIT is needed, Just to be sure
>> http://www.rfc-editor.org/errata_search.php?rfc=5661&eid=2751 is
>> not being considered anymore
> 
> That is incorrect, the above (2751) errata is still being considered
> - it affects only the pNFS file layout.
> 

Right.

Benny

> This email thread about byte range concerns a different problem that
> has arisen for the pNFS block layout.  To oversimplify, the problem
> arises from the byte ranges to be committed being described in two
> places for the block layout, leading Benny to ask: do we need the
> layout-independent description for other layout types? The resolution
> of this problem may lead to another errata (which cannot be written
> until we agree on how to solve the problem).
> 
> Thanks, --David (who talked to Benny about this in Prague).
> 
_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4

Benny Halevy | 4 Apr 2011 18:35
Favicon

Re: LAYOUTCOMMIT byte range

On 2011-04-04 08:41, david.black <at> emc.com wrote:
>>> Also note that Benny is talking about deprecating loca_offset and
>>> loca_length, the thing you seem to care about is
>>> loca_last_write_offset, which is not affected
>> 
>> Sounds okay but would like to understand the details prior to
>> commenting on this part.
>> 
>> Questions: Will the client send LAYOUTCOMMIT to servers supporting
>> file layout in the current errata?
> 
> Yes - There should be no change to the carefully worked out
> requirements in the current errata for when LAYOUTCOMMIT has to be
> used with the pNFS file layout.
> 
>> I think if we deprecate loca_offset and loca_length the checks for,
>> loca_last_write_offset MUST overlap the range described by
>> loca_offset and loca_length need to be removed. There is more text
>> in rfc 5661 pertaining to mentioned fields up for deprecation.
> 
> Yes, it would be necessary to remove/rewrite all text referring to
> deprecated fields as part of deprecating them.  Removing those checks
> is one of the things I like about Benny's suggestion.
> 

In addition, since loca_last_write_offset is currently optional we may
want to mandate it when client wrote to the file via pNFS and did not
get FILE_SYNC (with the file layout).

loca_offset, loca_length were never meant to be used for determining
the file length.

> The overall result would be that for the pNFS block layout, the
> server iterates through the layout-specific extents to figure out
> what to do, but both the pNFS file and object layouts effectively do
> LAYOUTCOMMIT on the entire file.

Agreed,

Benny

> 
> Thanks, --David
> 
_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4

Nico Williams | 4 Apr 2011 18:50

Re: draft-quigley-nfsv4-labeled-00 - some comments

On Mon, Apr 4, 2011 at 10:31 AM, <david.black <at> emc.com> wrote:

> [A] Stupid opening question for Tom – the new –labeled- draft says the following in Section 1:
>
>    (1)  Clients must be able to convey to the server the security
>         attribute of the subject making the access request.  The server
>         may provide a mechanism to enforce MAC policy based on the
>         requesting subject's security attribute.
>
> [... snip ...]
>    The ability to convey the
>
>    security attribute of the subject as described in requirement (1)
>
>    falls upon the RPC layer to implement.
>
>
>
> Where is that proposed RPC change/addition specified?  I didn’t see it in the –labeled- draft.

That'd be RPCSEC_GSSv3.  Also, just because it says "must be able
to..." above doesn't mean that RPCSEC_GSSv3 is required.  It's not,
since the server might be able to determine a label for the client
user regardless of what authentication method is used.  With
RPCSEC_GSSv3 the client can use distinct labels in a label set or
range at different times, whereas without RPCSEC_GSSv3 the client can
only operate at a single label.

> [B]
>
> > Are we still missing the following use cases?
> > - MAC in virtualized environment (EMC ?)
> > - MAC in cloud computing (?)
> > - additional use cases from Kathleen (?)

As long as the protocol supports MAC then I think all of those cases
are met (except for Kathleen's, whose uses cases I may not know
about).

> At least Kathleen and I are signed up to do something here.  We’re not promising that all of these use
cases are applicable to MAC, but we’ll take a serious look - stay tuned.

>
> [C]
>
> >   - Mechanism to allow systems to advertise MAC attributes support
> >       Negotiated by requesting supported attributes from server (EXCHANGE_ID)
> >       May turn off support by not requesting attribute.
>
> >
> > Based on the known use cases, how sophisticated does this negotiation need to be? It's conceivable that a MAC
> > system may be capable of supporting more than one label format. Is there a need for a system to express its full
> > capability (e.g. I understand LSF 5 and 7)? BTW, the use cases that I know don't require that level of complexity.
>
> If there’s a mismatch, client will discover quickly when a retrieved label has the wrong LFS value. 
This is indicative of a serious security misconfiguration (e.g., client SHOULD disconnect if an LFS
value is unexpected).

I agree.  DOI negotiation is mostly about learning a priori about
misconfiguration rather than a posteriori.

> In the other direction, how does a client announce whether it’s MAC capable?  Note that this would be a
config check mechanism (e.g., accidentally connected a non-MAC client to a MAC server that it’s not
supposed to talk to), *not* a security mechanism, because a malicious client will lie.

See above.  Note that a client doesn't have to be MAC aware for MAC to
take place, but a MAC-unaware client will have to operate at a single
label per-credential.

> [D]
>
> >   - Add text to better define support of full mode MAC security as implementation
> >     recommendations for servers not mandating it but rather MAY be implemented.
>
> > I thought about this a bit more after the meeting. The protocol extension should be made to support full
mode. I believe
>
> > users who really care about MAC security want to operate in full mode.
>
>
>
> This looks like violent agreement, at least to me.  IMHO, as long as the protocol extension supports full
MAC mode, but server implementation of MAC is optional (MAY or a qualified SHOULD, not MUST), I think
everyone may be happy – a user who wants MAC server support configures the server to support MAC and
perhaps also the clients to check for that support.  In general, it looks like server MAC enforcement is a
mostly transparent add-on for MAC-enabled clients (and ditto for MAC-ignorant clients).

MAC-aware clients might want to know that the server is MAC aware, but
MAC-unaware servers can be used by multiple MAC-aware clients just
fine, either by operating entirely at one label or by having per-path
labels, with policy enforced by the clients (plus share-level ACLs at
the server to allow only MAC-aware clients access).  Of course, that's
all kinda iffy, since ultimately we're talking about IP-address-based
share ACLs in this case, but hey.

Nico
--
_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4
Nico Williams | 4 Apr 2011 19:31

Re: draft-quigley-nfsv4-labeled-00 - some comments

On Mon, Apr 4, 2011 at 10:31 AM, <david.black <at> emc.com> wrote:
> [E]
> >         # full mode for pNFS
>
> > If MAC negotiation/checks only happens between clients and MDS, this should work for pNFS, right?
>
> Not necessarily, because pNFS bypasses the server, and hence bypasses any server MAC checks ;-).  If the
client is making MAC checks, the pNFS metadata server is making MAC checks, but one or more of the pNFS data
servers is/are not, the “users who really care about MAC security” may not be happy.  Addressing
this might just involve explaining what happens and recommending that people not do things that may not
work out well (e.g., “users who really care about MAC security” SHOULD NOT use MAC-incapable data
servers – for the pNFS block layout, I think this is a specific case of a “SHOULD NOT” security
caution that’s already in RFC 5663).

This could be a real issue.  The pNFS server would have to know about
the label of the file stripe.  But that's not really cool.  However,
with a FH renew op we can have capabilities, and that would solve the
problem.

> [F]
>
> >        # delegations (directory and files?)
>
> > Given MAC clients and MAC server are supposed to perform independent policy enforcement, the delegation
>
> > feature probably does not make sense.
>
> IMHO, file delegation is probably ok (server MAC check covering file access probably suffices for
delegation).  OTOH, directory delegation is problematic, and I would have no problem for 4.2 if we said
that directory delegation SHOULD NOT (or even MUST NOT?) be used w/MAC, which is a step towards:

Agreed.  Clients are supposed to ask the server (MDS) whether any
given user can access a file for whichthe client has an open
delegation using a different user's creds.  I'd expect the same for
directory delegation.

Nico
--
_______________________________________________
nfsv4 mailing list
nfsv4 <at> ietf.org
https://www.ietf.org/mailman/listinfo/nfsv4

Gmane