Re: [nfsv4] Benjamin Kaduk's Discuss on draft-ietf-nfsv4-rpc-tls-08: (with DISCUSS and COMMENT)

David Noveck <davenoveck@gmail.com> Sun, 11 October 2020 12:38 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 4663A3A0C7A; Sun, 11 Oct 2020 05:38:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, URIBL_BLOCKED=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 QjInXO3T8rvZ; Sun, 11 Oct 2020 05:38:11 -0700 (PDT)
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) (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 3AF903A0C61; Sun, 11 Oct 2020 05:38:11 -0700 (PDT)
Received: by mail-ej1-x62c.google.com with SMTP id x7so9320075eje.8; Sun, 11 Oct 2020 05:38:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JX+7fwqZUfoZb8eBKK5UoXNkUqZW2wGbb93ZTAgAvCM=; b=bjcUCIIBu13QY5AsrCrqVeL4pWNCvyOVOhbEngzI0ZZqwXjkXmWs58zaUrjMrEa3RP cIaZBxaemkbA4+z5K2NXZbpZF57bJJpi62C2JNTUUwrMKFXNGTBXbvnOg/LZzV6g8xSk c2ZbrsiFI8/K2WW1PZr6gbZKl9bZHaecmqa4WMK82e9YAK3wG1C7bWT5JyaH2riYFuqj r+pJK5+U59eRXOEHtMYi4tLUuqQDhK1l1PD1Wkdd6tmZs0P8zlaJrCZeqSRd/zHdz/tt ogoO8f2pEuafqPDNpWTkpz4KUimEyozliMs/x5u1AfTMUIOhvt4L1NigzRZUMe5BUaA0 3Q9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JX+7fwqZUfoZb8eBKK5UoXNkUqZW2wGbb93ZTAgAvCM=; b=YyU2Fy974NvzgzAdBk1yx83JSDO7nAxGqVak9PVn7SnbnoYGOzlU+bT1yFRpAq4+WS xIp+e7LRuPiTUAg4LykPNtiHoNQDOHnns7nf4Axpu/mwVuHbEuguP/ujGfteCOo4ODx6 4GG6vb5gJStjbV1tu/9z3+szx3Yli4aX2fNf52zI5buf2142VndWur+MvB0ZF4cif2MX EnUNLgkv/DFkfeOIR4pv2ig1cPH7uhAdHmjp972TvO8dgODlG+GVE2cUQJggbA4sy/Ba mP0ObR/EH2epCdRWphn1ellelgB6Fo7ZFcOyX6S5/voLQS/2Ad8Qb72Jm/is85tXriym ScxQ==
X-Gm-Message-State: AOAM530EWnHJSd/bvA4VoFDDUKnBJQiAEnFAQxBZFKYqmXldnNhY1UN5 OWoSFnGWhKdxRgBGioRbhiiiP8ahyOgWxBKME88=
X-Google-Smtp-Source: ABdhPJx49Zs4GjiTFF+iBOAKxaikvRfeJGfsOIBG5vuCKMGpMJVTweoMugGhW67i+DTAAjVLIjaWW4qJmqHF3YbNuAg=
X-Received: by 2002:a17:906:6d0c:: with SMTP id m12mr23363165ejr.498.1602419889651; Sun, 11 Oct 2020 05:38:09 -0700 (PDT)
MIME-Version: 1.0
References: <159419140773.2153.2711644434582054796@ietfa.amsl.com> <10A7F6F5-3EF6-481A-AFD7-4C30A2F59E88@oracle.com> <20201008214953.GC89563@kduck.mit.edu>
In-Reply-To: <20201008214953.GC89563@kduck.mit.edu>
From: David Noveck <davenoveck@gmail.com>
Date: Sun, 11 Oct 2020 08:37:57 -0400
Message-ID: <CADaq8jfuNgOOGV9fXTxBxGduEqmv7kbcpcm6kqxRjvccjRkHCg@mail.gmail.com>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: Chuck Lever <chuck.lever@oracle.com>, draft-ietf-nfsv4-rpc-tls@ietf.org, The IESG <iesg@ietf.org>, nfsv4@ietf.org, nfsv4-chairs@ietf.org
Content-Type: multipart/alternative; boundary="0000000000004dc48305b1647448"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/dxBc4NB66qpBeQ_b_GY62G88qIk>
Subject: Re: [nfsv4] Benjamin Kaduk's Discuss on draft-ietf-nfsv4-rpc-tls-08: (with DISCUSS and COMMENT)
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, 11 Oct 2020 12:38:13 -0000

On Thu, Oct 8, 2020, 5:50 PM Benjamin Kaduk <kaduk@mit.edu> wrote:

> On Tue, Sep 01, 2020 at 11:26:21AM -0400, Chuck Lever wrote:
> >
> >
> > > On Jul 8, 2020, at 2:56 AM, Benjamin Kaduk via Datatracker <
> noreply@ietf.org> wrote:
> > >
> > > Benjamin Kaduk has entered the following ballot position for
> > > draft-ietf-nfsv4-rpc-tls-08: Discuss
> > >
> > > When responding, please keep the subject line intact and reply to all
> > > email addresses included in the To and CC lines. (Feel free to cut this
> > > introductory paragraph, however.)
> > >
> > >
> > > Please refer to
> https://www.ietf.org/iesg/statement/discuss-criteria.html
> > > for more information about IESG DISCUSS and COMMENT positions.
> > >
> > >
> > > The document, along with other ballot positions, can be found here:
> > > https://datatracker.ietf.org/doc/draft-ietf-nfsv4-rpc-tls/
> > >
> > >
> > >
> > > ----------------------------------------------------------------------
> > > DISCUSS:
> > > ----------------------------------------------------------------------
> > >
> > > (8) Can we clarify the status of DNSSEC (or DANE) requirements?
> Section 1
> > > assumes that support for DNSSEC is already available in an RPC
> > > implementation, but Section 7.1.1 says that "Clients [sic]
> implementors can
> > > choose from" a list of things including DANE TLSA records.  Why would
> we
> > > require DNSSEC support but not using the records if they're present?
> >
> > OK, I'm parsing this comment more closely now.
> >
> > The statement in Section 1 you refer to above is:
> >
> >    The protocol specification in the current document assumes that
> >    support for RPC, TLS, PKI, GSS-API, and DNSSEC is already available
> >    in an RPC implementation where TLS support is to be added.
> >
> > I hadn't counted this as a "requirement" since a BCP14 keyword is
> > not used, and because it appears in the Introduction as background
> > material.
> >
> > Section 7.1.1 currently says this:
> >                                                               Clients
> >    implementers can choose from the following to mitigate STRIPTLS
> >    attacks:
> >
> >    *  A TLSA record [RFC6698] can alert clients that TLS is expected to
> >       work, and provide a binding of hostname to X.509 identity.  If TLS
> >       cannot be negotiated or authentication fails, the client
> >       disconnects and reports the problem.
> >
> >    *  Client security policy can require that a TLS session is
> >       established on every connection.  If an attacker spoofs the
> >       handshake, the client disconnects and reports the problem.  If
> >       TLSA records are not available, this approach is strongly
> >       encouraged.
> >
> > Here, it is assumed that the RPC-over-TLS implementation has DNSSEC
> > support. What is not assumed is that the peer always operates in
> > an environment where the DNS administrator has configured TLSA
> > records.
> >
> > I'm open to suggestions on how to structure this section more clearly.
>
> My main point (or question?) here is whether (or when)


I think we may have to add (or where).

we require
> RPC-over-TLS clients to perform TLSA queries when attempting STARTTLS.  The
> current text in 7.1.1 comes across (at least to me) as a statement of fact:
> if you want to protect against downgrade, TLSA records do that (when they
> exist).  There is no requirement or suggestion to actually check for the
> TLSA record and obtain that protection.


Yes.

Now, making additional DNS queries
> is not always great for performance, and if the client is running in an
> opportunistic mode it may not care about the lack of downgrade protection,
>

As I understand it, whether one is running in opportunistic mode is
currently left as a matter for "local policy". I think it is implied that
that policy could be constrained in ULP-specific documents.

so it's not a foregone conclusion that we should be putting in text like
> "clients MUST check for the existence of a TLSA record for the target
> server before initiating an RPC-over-TLS connection",


I agree.

but I do think we
> should consider the question of what (if any) level of requirement is
> appropriate and under what conditions.


The alternative is to leave this matter to the ULP's.

(The flip side of this question is
> that if we don't have any case where we require the use of the DNSSEC
> support, we may not need to state that we assume it to be present.)
>

But the document that did add that use case would have to do so.



> Thanks,
>
> Ben
>