Re: [nfsv4] Fwd: I-D Action: draft-ietf-nfsv4-rpc-tls-01.txt

Trond Myklebust <trondmy@gmail.com> Tue, 16 April 2019 12:38 UTC

Return-Path: <trondmy@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 1F5C8120354 for <nfsv4@ietfa.amsl.com>; Tue, 16 Apr 2019 05:38:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 jJqYRABY4kk0 for <nfsv4@ietfa.amsl.com>; Tue, 16 Apr 2019 05:38:07 -0700 (PDT)
Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) (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 103A9120345 for <nfsv4@ietf.org>; Tue, 16 Apr 2019 05:38:07 -0700 (PDT)
Received: by mail-io1-xd35.google.com with SMTP id x7so17469499ioh.4 for <nfsv4@ietf.org>; Tue, 16 Apr 2019 05:38:07 -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=niBo5hUSDyqO+aatZ+hM8GuRZdMP7nU1nmbP4HhsdF8=; b=QMhlz3i1VOeulBny8WjdQbNAzqBr8oZ/JHWFyJ0mnW+EmmUP4d9kZ6A+Obd2U+nsMf +jYehkwULRbpOlpNAbUaoH9lic/BGv7sizPOf0o8JaQXsBqDZoL2imuNhYq03BBSBN+H SqSDRwmyhKuehMI3Jr0UGWqWKxIYBWBVBgVzVXC9o2BEdTirMKlvjg1yzYIJHkXvdsPp vHKmhkck5xyJSPYXNbvRRUq1HVwMuVH3Z/xCtB0M/9KqK7v+uV4MQP5qCWgFt5GKcQGZ IxATuasZoK+H+BFimFXFMg+CvRsC/BPUqD9523s61HuggdATItXad6inWB681ThZfDr3 6epg==
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=niBo5hUSDyqO+aatZ+hM8GuRZdMP7nU1nmbP4HhsdF8=; b=TpSOeisgAYjk2hZSYHdDLQgxgUe3YWz3bGZyG/oLPVoVdPpf5LQOJV2EhYHVY8vzbQ xxKnDIP5yl1naukcx3GVfHepzSkuQE1u5g95Y+3cwF3pFTx7zAZGx74FCP3ANR8u2KKE WqX615u91YdoeKlX7a3v56eqOQBf+1UB3vfjC1woNd5pxXNU4wK/dI3KROLP19NmKetr sLozJpaZMlUboC3kMfDzXUPF0tgH9NVxhhaKk5XqVFEGlbsBVTG5jT4t5IQMPQxBVJzR NOsGX7oSb9o29KRLuuePidAUC3EjhJuIRYMHf5DfqKJ9hNYv4Oorm3MgY8yxe9uuEQVv IKIQ==
X-Gm-Message-State: APjAAAWQF9cZVD4fLr7wqlJB/U5hz/aMRLcZ0b+556b31HM/bycxiWPl qWAvabslc9s7DI1TYd8lwhgy9osN9D4yS5PMAw==
X-Google-Smtp-Source: APXvYqz/FW0V7jCTpM7a3//Ba0lMnyFT60fmyAOammSU8c5ZGtj0/pJ5UkP36QYbtgA9sriDDTVRN1Qif/KRYKmwcH0=
X-Received: by 2002:a5e:d505:: with SMTP id e5mr31345988iom.189.1555418285953; Tue, 16 Apr 2019 05:38:05 -0700 (PDT)
MIME-Version: 1.0
References: <155535049832.10773.1565621811584007627@ietfa.amsl.com> <E72181B0-6F38-4A02-8C65-ECF30581CBD5@oracle.com>
In-Reply-To: <E72181B0-6F38-4A02-8C65-ECF30581CBD5@oracle.com>
From: Trond Myklebust <trondmy@gmail.com>
Date: Tue, 16 Apr 2019 08:37:54 -0400
Message-ID: <CAABAsM4_812FbhLZHcT6YxuAczbumR6s+cZ+ZcV+-zR_o7FbyQ@mail.gmail.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: NFSv4 <nfsv4@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/EMNOFpXQvvnZRZVxA1Cc_xOl81Q>
Subject: Re: [nfsv4] Fwd: I-D Action: draft-ietf-nfsv4-rpc-tls-01.txt
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: Tue, 16 Apr 2019 12:38:09 -0000

On Mon, 15 Apr 2019 at 18:14, Chuck Lever <chuck.lever@oracle.com> wrote:
>
>
>
> > Begin forwarded message:
> >
> > From: internet-drafts@ietf.org
> > Subject: [nfsv4] I-D Action: draft-ietf-nfsv4-rpc-tls-01.txt
> > Date: April 15, 2019 at 1:48:18 PM EDT
> > To: <i-d-announce@ietf.org>
> > Cc: nfsv4@ietf.org
> > Reply-To: nfsv4@ietf.org
> >
> >
> > A New Internet-Draft is available from the on-line Internet-Drafts directories.
> > This draft is a work item of the Network File System Version 4 WG of the IETF.
> >
> >        Title           : Remote Procedure Call Encryption By Default
> >        Authors         : Trond Myklebust
> >                          Charles Lever
> >       Filename        : draft-ietf-nfsv4-rpc-tls-01.txt
> >       Pages           : 17
> >       Date            : 2019-04-15
> >
> > Abstract:
> >   This document describes a mechanism that opportunistically enables
> >   encryption of in-transit Remote Procedure Call (RPC) transactions
> >   with minimal administrative overhead and full interoperation with ONC
> >   RPC implementations that do not support this mechanism.  This
> >   document updates RFC 5531.
> >
> >
> > The IETF datatracker status page for this draft is:
> > https://datatracker.ietf.org/doc/draft-ietf-nfsv4-rpc-tls/
> >
> > There are also htmlized versions available at:
> > https://tools.ietf.org/html/draft-ietf-nfsv4-rpc-tls-01
> > https://datatracker.ietf.org/doc/html/draft-ietf-nfsv4-rpc-tls-01
> >
> > A diff from the previous version is available at:
> > https://www.ietf.org/rfcdiff?url2=draft-ietf-nfsv4-rpc-tls-01
> >
> >
> > Please note that it may take a couple of minutes from the time of submission
> > until the htmlized version and diff are available at tools.ietf.org.
> >
> > Internet-Drafts are also available by anonymous FTP at:
> > ftp://ftp.ietf.org/internet-drafts/
>
> Does this document need to say anything specific about reverse-direction
> RPC operations? (i.e., NFSv4.1 callbacks on the same communication channel)

We might perhaps note that if the server uses a TLS protected channel
to send back channel RPC calls, then those calls are automatically
authenticated by virtue of the server certificate used to set up TLS.
i.e. the client may just want to accept all back channel RPC calls,
including those using AUTH_NULL or AUTH_SYS authentication.

There is the question of the NFSv4 back channel, which is server
initiated. If we want servers to be able to use that as a replacement
for RPCSEC_GSS, then we'd need to specify a certificate for the client
to present to the server. Ditto for NLM, if we want to go even further
back in time...
Do we care?

A more general question that this raises is: Do we consider TLS as
part of the authentication mechanism, and if so, what is its role?
IOW: if the client does present a certificate when it sets up the TLS
channel, then should that suffice to prevent an attacker from setting
up a new TCP connection to the same server, and spoofing the identity
of that client without possessing the original client certificate?
If we do want that ability, then we should also look at consequences
for the NFSv4 state model and perhaps add a SP4_TLS mode to the state
protection negotiation in EXCHANGE_ID (as we already do for SSV).

There is also the issue of trunking. Do we want to allow NFS clients
to use TLS authentication as a way to identify multi-homed servers?

Cheers
  Trond