Re: [nfsv4] Agenda items for virtual interim

David Noveck <davenoveck@gmail.com> Sun, 17 October 2021 12:10 UTC

Return-Path: <davenoveck@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8654D3A0D55 for <nfsv4@ietfa.amsl.com>; Sun, 17 Oct 2021 05:10:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FwAPfb0OzRC5 for <nfsv4@ietfa.amsl.com>; Sun, 17 Oct 2021 05:10:37 -0700 (PDT)
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AEA373A0D52 for <nfsv4@ietf.org>; Sun, 17 Oct 2021 05:10:36 -0700 (PDT)
Received: by mail-ed1-x534.google.com with SMTP id ec8so58955778edb.6 for <nfsv4@ietf.org>; Sun, 17 Oct 2021 05:10:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=dEzla6sd1+axHYUEO8aeM0jQkwiEtniM5AYuNdG8nhg=; b=MjOpnJOzAyxh7JFGE8e+62xpVoE8okj36Wn5nBYVEneyNlWRZDo0kRUSWCMZD26ktH dIfXj/cQeZUFBnXTIcek9aEYiQBNpLFlcysTk7dC55uvYHA3pd93yYRZ6VZy/WPH8M8m ZJK6/ZyO66fXzFLBjYy/OQ7u+GevYYUWLb3BuqjHyyS1NIssbjHf+JnuNhJ1ogAPT/xu gU8iv1DYoyF7ViPrNtMEYkIvJymvjvXlLv2ArYektID4pYhwmMvHTBzBvnTbgHaCM6qr IIs40RrVYUqKbFh7YhVcItJiNBiYqC3BSqBzFM4Lcda3kW4t36urkin4JP2iy/c5vxoX M/xQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=dEzla6sd1+axHYUEO8aeM0jQkwiEtniM5AYuNdG8nhg=; b=MWmtIf0x9lfuXZy+a4mN8mAawEONvGFbuqoJTFBVw5Zhi9sXDxoDliSLk/RjaaenHP xtFQryNBvUl9xct1igvk0VGh90LLlLsfKYn5PcBGAQK+hDsxZsAMLxiUaizpxmtjKyeG idmflnQ34EQQRLvNnUl1C3G/PTwJ8sIOE2fcOTXNAykd60G2PUYGk5RK1DYCdQp1q3FW BvhscShCPJBhGs13eWa1rMy+5qQC1x25WDae/6I8impFPSuy6my3KgB4AXH6lTn0gDiQ 9cSKs1p5AQ+sPd2J9bw3Q0kW72cKjhVaNtWXBWWXpm3RqBmY0rK3475uRn805EAGuKCh Nxbg==
X-Gm-Message-State: AOAM532J/sJ/RH6+ZOuEMEZomPwqP/h6Rd0zNSdNBjMslMAnCMKgvPj7 0r7+1cC3utjTgTq1LUiSVb9jkeYQfoJMcXCtUz8=
X-Google-Smtp-Source: ABdhPJxn+o26Meh95xoKTbtw2ERN7MPtoFbZ1v/PxM3F3qLsBvYTppvqWIwWPmHmCsznMYL6Xa48ziYoTOXxiot+ymw=
X-Received: by 2002:a17:907:118d:: with SMTP id uz13mr22779376ejb.382.1634472634671; Sun, 17 Oct 2021 05:10:34 -0700 (PDT)
MIME-Version: 1.0
References: <CADaq8jd_pcwJrqnFCqnHo7DXxnzc+ZpL28wRUMqkK-3zesc6mg@mail.gmail.com> <7560301C-4C5C-422C-9F55-B4F362AE5BF7@oracle.com> <CADaq8je9MWT5CzLaTYnRgMh5x9+AHL8F78QxJs_YyGSR67F6nQ@mail.gmail.com> <FA1E4520-6D01-46DE-8B06-54C9A8CA2492@oracle.com>
In-Reply-To: <FA1E4520-6D01-46DE-8B06-54C9A8CA2492@oracle.com>
From: David Noveck <davenoveck@gmail.com>
Date: Sun, 17 Oct 2021 08:10:25 -0400
Message-ID: <CADaq8jcj9OQe_PVbfAkDHYEr4wJOsmDtuLLgPCLoX8MvNLe2QA@mail.gmail.com>
To: Chuck Lever III <chuck.lever@oracle.com>
Cc: Tom Talpey <tom@talpey.com>, Tom Haynes <loghyr@gmail.com>, NFSv4 <nfsv4@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c8e7ba05ce8b50d1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/xy4JesiaOwS8evkBnBS9zJ4NRx0>
Subject: Re: [nfsv4] Agenda items for virtual interim
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 17 Oct 2021 12:10:40 -0000

On Sun, Oct 17, 2021, 12:42 AM Chuck Lever III <chuck.lever@oracle.com>
wrote:

>
> > On Oct 16, 2021, at 10:26 PM, David Noveck <davenoveck@gmail.com> wrote:
> >
> > On Sat, Oct 16, 2021, 5:25 PM Chuck Lever III <chuck.lever@oracle.com>
> wrote:
> >
> >> > On Oct 16, 2021, at 9:28 AM, David Noveck <davenoveck@gmail.com>
> wrote:
> >> >
> >> > I'd be interested in hearing from Chuck about his thoughts about
> addressing use of RPC-with-TLS for NFSv3 and how that might or might not
> interact with the v4 security work now going on.
> >>
> >> I haven't had a chance to read nfsv4-security yet. That is at
> >> the top of my to-do list.
> >
> > It's 118 pages so it would be best to start soon.
>
> I browsed the document this evening to get a head start.
> Clearly this is a lot of work. Thanks for taking it on.
>
> I have some initial impressions, and I might probably
> have more to say once I'm more awake.
>

Ok


> ----
>
> After months of me stating very clearly that the term to
> use is "RPC-with-TLS" and not "RPC-over-TLS" precisely
> because people were confusing RPC-over-TLS with an actual
> transport, you have constructed a novel "transport-based
> security model" with RPC-over-TLS at its core, essentially
> building on the exact confusion that I have been trying to
> steer us around.


I'll try to deal better with this in -03.

For example, from Section 3.2:
>
>       The protection of state data from unauthorized modification is
>       discussed in Section 11) is the same in all minor versions
>       together with the identification/ authentication infrastructure
>       supporting it (discussed in Section 13) provided by secure
>       transports such as RPC-over-TLS.
>

How about "by security services such as those provided by RPC-with-TLS" ?


>
> RPC-over-TLS no longer exists because we specified a
> new security mode, not a new transport -- we use UDP and
> TCP as the actual network transport service. To wit,
> RPC-with-TLS does not have its own assigned netid.
>
> "Network transport service" is a term that has a pretty
> widely recognized meaning. To avoid confusion, let's try
> to stick with that meaning, and keep the security services
> that might be offered by a network transport service as a
> separate issue.
>
> I see a mix of RPC-with/over-TLS throughout, so I'll assume
> the mix of terminology is merely an artifact of incomplete
> editing. However, the conceptual confusion still concerns
> me because it impacts the document's organization and will
> have a confusing effect on less-experienced readers.
>

Fair enough.

>
> ----
>
> The use of "transport-based security" IMHO is problematic.
> For one, we have had TI-RPC for many years that has attempted
> to divide transports into a set of separate functional
> categories, and it's proven difficult to use, has not
> been broadly adopted, and has not aged well.
>
> The introduction of multiple new authentication flavors to
> represent connection types or transport feels like a
> layering violation to me that I'm still trying to get
> comfortable with. I'd rather not mix transport- and security-
> negotiation this way until we have a much stronger motivation
> laid out in this document. (I might have missed it, but that
> motivation seems to be only implied in the current text).
>

I'll try to make the motivation clearer in -03.

With regard to the layering angst you feel, I sympathize but feel that,
given our inability to modify existing XDR, there was no alternative to
walking through the open door that SECINFO provided.


> We might find it illuminating to consider alternatives
> to RPC-with-TLS. IPsec has been suggested, and we already
> know that some installations deploy NFS only on SSH
> tunnels. The document might compare and contrast these
> technologies to help clarify our design motivation.
>

I feel this is more likely to result in added confusion.  The goal has
always been secure use on the internet and I don't want to risk changing
the discussion to one about secure use on other networks that might happen
to be built on top of the internet


> ----
>
> Perhaps it is my own misunderstanding, but I had thought
> this document was supposed to serve as a Security
> Considerations section for the NFSv4 standards documents,
>

That is your misunderstanding.

but it appears that Security Considerations are just a tiny
> part of this document


I do intend to fix that in -03 and -04.

and the bulk of it appears to specify
> a bunch of new protocol.
>

There is some new protocol but a lot of the new work is just cleanup of
stuff that is no longer reasonable such as the excessive focus on
authentication flavors and the ACL handling text that led Bruce to use the
word "despair".   The only way for me to help deal with that situation is
to clean up the troublesome spec text.

>
> IMO it would be more usable for implementers and easier to
> review as well if this document remained fully Informational
> and covered just the high-level items such as threat
> analysis, but then left new and revised protocol to other
> Normative documents.
>

I disagree.  This was always intended to be a normative document and I
can't really imagine writing a threat analysis of what exists now.
 Whatever length you chose would boil down to "It really sucks".

I don't want to publish that so I am stuck fixing it first, which is now
possible given the work you've done in RPC-preposition-TLS.  That gives me
the possibility of a threat analysis that looks reasonable.🙂

>
> For instance, I would separate the bulk of the discussion
> of ACLs and mode bits into a separate document; an
> additional document would also be appropriate for handling
> new security negotiation features.
>

Trying to tease these apart is extra work that I'm not prepared to take on,
since the document, exclusive of appendices is about one hundred pages.


> Additionally, the new protocol elements need to be driven
> by threat analysis, which is not yet part of this document,
> otherwise there is no possible way to demonstrate whether
> or not the new elements are effective.
>

???.  You did RPC-with-TLS without a threat analysis.  The lack of an
demonstration of effectiveness was not a problem then and should not be one
now


> I realize that the document is in very early stages, and
> it might already be your intent to follow my suggested
> organization at a later time.


It isn't.


> ----
>
> I struggle with the decision described in this text:
>
>       The definitive description of pNFS security will remain in RFC8881
>       and its successors (i.e. the rfc5661bis document suite).  However,
>       because pNFS security relies heavily on the infrastructure
>       discussed here, it is anticipated that the new treatment of pNFS
>       security will deal with many matters by referencing the overall
>       NFS security document.
>
>       The security considerations section of rfc5661bis will deal with
>       pNFS security issues.
>

I'm confused.  You seem to be objecting to doing this in 5661bis which I
intend to do but just below you recommend that very thing.

>
> pNFS is unsupported in only one of the existing NFSv4
> minor versions. That makes it a common element of the
> majority of minor versions, and thus to me seems like an
> appropriate candidate for inclusion in this document.
>

For reasons we might well agree on, it's candidature has been rejected.


> Any general discussion of network file system security
> applies to protocols that might be adopted as part of a
> pNFS layout type, and the considerations for those
> protocols are essentially the same as the ones for NFSv4
> itself (at least when NFSv4 is doing I/O operations).
>

Yes, but a pNFS security discussion also has to deal with protocols whose
security is very different, such as block and object.

>
> Here it seems like an ideal example of leaving the high
> level approach outlined in this document, and the protocol
> details placed in another document (such as RFC 5661bis).
>

We have come full circle here. I want to stop before I get dizzy.


> ----
>
>    *  The availability of RPC-with-TLS (described in [12]) provides
>       facilities that NFSv4 clients and servers will need to use to
>       provide security for data in flight and mitigate the lack of
>       authentication when AUTH_SYS is used.
>
> This text should make clear whether you are referring to peer or
> user authentication,


I will say "user authentication" in -03.

and that you mean strong (ie cryptographic)
> authentication throughout the document.
>

I don't know of any other form of authentication.  You pointed out to me
the difference between identification (provided  by AUTH_SYS) and
authentication (not provided by AUTH_SYS) and I have adopted that
approach.  I hope the result is clear but if you have specific suggestions,
will consider them for -03.

>
> ----
>
> This one is more of a nit, but it caught my eye:
>
>       The pNFS optional feature added in NFSv4.1 has its own security
>       needs which parallel closely those of non-pNFS access but are
>       distinct, especially when the storage access protocol used are not
>       RPC protocols.  As a result, these needs and the means to satisfy
>       them are not discussed in this document.
>
> First, I suggest starting with "The OPTIONAL pNFS feature
> added".
>

Will address in -03.


> Second, you refer to storage access protocols that "are not RPC
> protocols." Is it the use of RPC that is the distinction here,
> or is it something else? Some storage access protocols might
> already have sufficient user and peer authentication as well as
> access to encryption and integrity services, even though they
> do not use ONC RPC or RPCSEC_GSS.
>

They might indeed but I don't know enough to say.  However, since NFS
security is   built on RPC I really can't discuss the matter in a general
NFSv4 security document

>
> Having a comprehensive threat analysis to refer to would identify
> exactly what is required of a secure storage access protocol.
>

I don't know how to write such a comprehensive threat analysis.   If you
do, I'd like to see you do that.


>
> --
> Chuck Lever
>
>
>
>