Re: [nfsv4] Agenda items for virtual interim

Rick Macklem <rmacklem@uoguelph.ca> Mon, 18 October 2021 15:03 UTC

Return-Path: <rmacklem@uoguelph.ca>
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 EEA433A14D0 for <nfsv4@ietfa.amsl.com>; Mon, 18 Oct 2021 08:03:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 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, RCVD_IN_MSPIKE_H2=-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=uoguelph.ca
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 Bn0nzrOVXdIK for <nfsv4@ietfa.amsl.com>; Mon, 18 Oct 2021 08:03:27 -0700 (PDT)
Received: from CAN01-TO1-obe.outbound.protection.outlook.com (mail-eopbgr670066.outbound.protection.outlook.com [40.107.67.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BD94A3A14CF for <nfsv4@ietf.org>; Mon, 18 Oct 2021 08:03:26 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RUt6kx9OLvDb47ywxxzFIhzJyPbCx6cFLXNQU/MZh0tI/ZEVcJoQ62rOXEsWR8svo1ICapNGTtoBUrD1SAydr8zX8ZGPDNJ/0PjliqJlfP0AmqHoLeHnsaatOmVa8LD1VxCqwdUjQgMmGa+davtJ2Ql95YRfa5+IXkEVvVbZsTmAfDPkpa9tr1y2kr0jvPWBSm0AFZs7d7FbC/YuPn06ndSj6D6tKLw/32/JVPmTbrIBbYYXTANVJpjlUzIw5nKAt01n5qoO59IIAm4d8Co0X3GgVQuiq1PFdUlnW9Y9WCQmTAjRGLieK25U3F3CWddEWRjj3peEhvnUQfDCAj+F+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ps5KyWVm2o0TrLqZlu0Ne3PCzYcuZXkuHmTL0IOrZD8=; b=bS7J9ZxjixlRNAwfdUQh5aWD96bqLlHIg0YBlHkkgeIA0nvtigXHiL/M11MAzDMZckDapZr+9qZ/2JGRXQy1x3j5YLuAJ/ZFm7oUOsLESCEq/aTYVQOA81S9fXnLoU55agA79k+aIUKI0lOVO9RofsaYBbj6ClqS0rGW37C8DSqwT45aCblcSAOsl3If2Mxb95ZqJGtWLlruFNQEV64FFQIWwjWn5pdH8VoAhSIedc5lwzqIyCumHgEL+2Q21Sco9smnFesPsHZoHY0kv+apgxFFn1H9zsbXI2jMWUalMl+uaBQS3uD0EDsUYlw33sdVF/D/yBbqQpu5uYoevb6aWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uoguelph.ca; dmarc=pass action=none header.from=uoguelph.ca; dkim=pass header.d=uoguelph.ca; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uoguelph.ca; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ps5KyWVm2o0TrLqZlu0Ne3PCzYcuZXkuHmTL0IOrZD8=; b=OJ7lubxX6Yr5cMMgZb/Do0LZcI5jDfTlp/wXO7PgxUDiDCwEQJ8vChH8zfPf91zpjVmOoHSuCdV8hjihegU022jKJT0jmxIY4wumnIWFLWRhxd7M70EkRTXdAqtNQOC4B8sCiHy0SK/RRSl8KM2HoXnFIdWcBYVQ1ZROxdp8p2pZIyKBYZ1vrm3K868LlhZNek4wqid729nd9yVw2pifmwSty7/plY5KisSDZEjmlkXiuJ9VFO0kz4tcj78Lqb/vScU9IU4MdWuxAVdYDwzzCfHgefEwmJEw6Wco/bK7JTNKc8622Zto5gjdj3HG8CHS8dbYc/QF1Yuy28kmEe9ItA==
Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:19::29) by YQXPR0101MB1781.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:23::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16; Mon, 18 Oct 2021 15:03:24 +0000
Received: from YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::7091:13ac:171f:1c12]) by YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM ([fe80::7091:13ac:171f:1c12%5]) with mapi id 15.20.4608.018; Mon, 18 Oct 2021 15:03:24 +0000
From: Rick Macklem <rmacklem@uoguelph.ca>
To: Chuck Lever III <chuck.lever@oracle.com>
CC: David Noveck <davenoveck@gmail.com>, Tom Talpey <tom@talpey.com>, NFSv4 <nfsv4@ietf.org>
Thread-Topic: Agenda items for virtual interim
Thread-Index: AQHXw5uH9y7ed7XV4kWH+jANPbGftqvX3ZMSgADvggCAAAbE6Q==
Date: Mon, 18 Oct 2021 15:03:24 +0000
Message-ID: <YQXPR0101MB0968E4DD65787C882BADAE30DDBC9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
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> <CADaq8jcj9OQe_PVbfAkDHYEr4wJOsmDtuLLgPCLoX8MvNLe2QA@mail.gmail.com> <D44A8309-6ABE-4B76-9927-70A9EEA8FEA2@oracle.com> <YQXPR0101MB0968783C495B8AD53967BD39DDBB9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <769385BF-B024-4130-9CA8-3AA4A1EE8E3D@oracle.com>
In-Reply-To: <769385BF-B024-4130-9CA8-3AA4A1EE8E3D@oracle.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: ee7b9541-6f35-7dfc-acab-c87d8fc87699
authentication-results: oracle.com; dkim=none (message not signed) header.d=none;oracle.com; dmarc=none action=none header.from=uoguelph.ca;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c6275bfc-cad7-4b3e-2b5c-08d992486f12
x-ms-traffictypediagnostic: YQXPR0101MB1781:
x-microsoft-antispam-prvs: <YQXPR0101MB17819C27CFE04130822C2024DDBC9@YQXPR0101MB1781.CANPRD01.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: SfgAeHjeumDtcGYHfqdf0TT2Ej9zEKvlbFt5SfFtHeTWnlaJSAluxSgzzzsOPy+cGgKc8Ev41Z5KuR3A1DJWLvbdAfoE26Qx0RqHe54N01mi23bTRRjQesBN0jvXihS4Q1c6ZIepT7yxk0WA6zlDcIVeJr2RiVun/EmyII7m2fuiaplBqQkJLrpkh+83tVpGtc29xkOwnkpYV4tTPwoBKTJV3Z7VB+LMcZElFsLr7G6eKkXXOY2cZzEvvQY3FB/rCueO3kIUR+tUy+wc4Zf2Lxi9o3ivThVkMciP/bHLxTSEWSwhtmepMfvuIgKWXYDMgPlbwNOQMFyQpT8unA50pwmKOQ2lNrMkRNrKrjt0BGqTBs0/DO4Z6CLpW0Y8KRtOxrh9diYPGN1FkXlBsbl5NgePZ/n86PsdnN7VvNU3PU8JaXv2Na4DEpjcrOcDb+6twcSxqsqLFchTURH5LJ7RI98XLtSIssb2NpQQ6Av6zfQNLfENPni/MnG/5WGwwwnJAx4YmlEVn1uCj+m31WIe6ajM7RoBjfHWASQL51t8/CWGSduO6dzGcA5UHrLOKnVOCXOmIiGB+x04u9h8kCeeBjJ6gpWRWVHYdGOxj3lbxl84J+Xu+zoGkrEM0Pur7RsmuCjWFgFFm1WZ0N6H4jvSFz9V59vQNAPUYM533zKfgtKlIp8GbFl/PJw4lIexpMl3vB6EGA5BPDXb0cS2osy+w4lspndCHsMCz72d9XFbM88=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(76116006)(91956017)(6916009)(186003)(64756008)(6506007)(9686003)(66556008)(55016002)(66476007)(54906003)(66446008)(86362001)(53546011)(122000001)(52536014)(7696005)(4326008)(38070700005)(2906002)(8676002)(33656002)(786003)(5660300002)(316002)(66946007)(38100700002)(71200400001)(8936002)(508600001)(83380400001)(21314003); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: TxntT6bsIMWix9Uwt2jdwxLuK37TqzRf+Kv9xWzzWsoQv9XFLJMumTNqbQ628cq6iWEmXBkpkjn2UUxabUcTNrNaHBIkbkXwiPn+H1JBIitwy8igTJEfAxS34ziXrLKtBuyU82tKTpYS18ayeViOWZ1SNzX2IdedrY0bwXXOTotl/xlh7rgLUxd2odGKd0ePsimakAsnZUOwWOwj1AfYkCx3/koS7QiKaJxMAWCDBvfqPwHIGES7YSTDFKEiDIiB03s7LbhhMjiopJIF0kQE16lRa3hIxvMs7WsqFAsXUFCKO9wm5aguJc6uGH3Y8p6wmrmvKNnJzKEKBq5Xb3gpLrDLHF+IrHO0xA2Uq5h/rNp3Ooxs9kLMcjU6IKfDEeSXW/eAU3h0yoXq/r4FKkleJ8t7IxyoYaBAexQc8ewfButdLvk93Ur6a/vt25HeVDVTWB4EurvHRZwBDxGDOxChQfdL+uGY1MG52Z9acNyQu7gKOhkUZAjBhkiYEWqY8j3Sqom8vyQfYHnrcYAFsnLYiResckYzyf3lUhyhtISj2lwzIZXfRIc/NpnZExj70IyqBOlCNBhS65ZM6aZsBMGBZGeo4ITIzlUtnbFcjAsDo+k6XSsFsUGtT2k3c5l1eft0iezPUsebLPLdnBSmEiydBREnwMlZWt7cuFYQlKv0yVC+1KAm6soZnfOIrmBnwBVHj9bRfuzhcq73xTcwxvSJWTXslpZC8ezVhklCXU87/cj24ZwziZcdDRmGt0yAsA5NmFoHSmzidkUdS71TBxffuYpHq+GBmXWKUX5dUEhMe93KwV8nwP8BYFqZRXOR96xdHhz9Oik9JL1nY1nlPAH9eSLdHNLYe3K3AAHO/A7+qLvKJAbIjS5Zld83352aHxjrD9iSh1JH9KMfSrDRKZohfaxILvT7yhAlmsd999KD4+/V9NQfADiWQAv9gGIrbh6auyvaVrvP5vFs8ja8GAg72st3+a1H1z0RaimSakfrbJxE/sMI8XB1NTBRWo1SP4a15TfM4b30TR+7bt0FhxGTazLX+h5iLwZKGqljbUqkizv9SD/6GG8eGy2D/vuVooeNu3dB9IXU/p/n8UnVIbelPIhE0U47UWuxEAr3ab3Evudp1d4G6w6HLPzDTEGl2oX7u8CHaxUSkKtE0LREoo54ub28PBO/1+/srLGpQXitJ1dfagHWJlO0ACrTbhKJVjEXl1bE3OSiIargqed//QPVX25SDFwFn2mPf+iXNVY5DrhH0xH1t4DKrPqIWCYfY4pcCkL6ZgJIqlp29CYJCRdFTN5Dkqg8zkV7fXNWSQi7V0mdZCdGOKtRfG7+MgWOK7qFw9j0EHV/fZfev/8RDs/XbAnOt7kSa52OXYT/gEbGNLVaI2881+CHaQcAWuxlRemy
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: uoguelph.ca
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: c6275bfc-cad7-4b3e-2b5c-08d992486f12
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Oct 2021 15:03:24.7638 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: be62a12b-2cad-49a1-a5fa-85f4f3156a7d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: onmRxDTU+olDXYgYFzuQTk9Ujjz0bnLVr8Vsx/wL4TNUItqc5sCL+hiLwvIm4wBwAS0Srek0+33h95tiZ3aoRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQXPR0101MB1781
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/uhnJX0veRv0Uaootxf7hmmIzyNk>
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: Mon, 18 Oct 2021 15:03:32 -0000

Chuck Lever III wrote:
>> On Oct 17, 2021, at 8:41 PM, Rick Macklem <rmacklem@uoguelph.ca> wrote:
>>
>> Chuck Lever III wrote:
>> [lots of stuff snipped]
>>> So expose the security mechanisms but not the transport
>>> types here. The pseudoflavors should work just like GSS
>>> in Appendix B of RFC 5531. The pseudoflavor numbers here
>>> are just examples.
>>>
>>>       AUTH_NONE               0       /* plain old NONE */
>>>       AUTH_SYS                1       /* plain old SYS */
>>>
>>>       AUTH_NONE_PEERAUTH      400001  /* peer authentication */
>>>       AUTH_NONE_ENC           400002  /* encryption */
>>>       AUTH_NONE_PA_ENC        400003  /* authentication and encryption */
>>>
>>>       AUTH_SYS_PEERAUTH       410001  /* peer authentication */
>>>       AUTH_SYS_ENC            410002  /* encryption */
>>>       AUTH_SYS_PA_ENC         410003  /* authentication and encryption */
>> I think this sounds reasonable. There is another case that might be worth
>> considering. I am thinking of a rather specific case where an X.509
>> certificate provided by a client is pinned to a fixed IP address/DNS name.
>> --> The server expects that the X.509 certificate will have a DNS or IP component
>>       in subjectAltName that matches the IP address used by the client to connect
>>       to the server. (There is an RFC that discusses this for the case where a client is
>>       checking a server's certificate.)
>>
>> Maybe a generic term for it could be something like:
>>          AUTH_xxx_PEERAUTH_FIXED_IPADDR
>
>I'm not understanding why a server would need to communicate
>this to a client during security negotiation. Wouldn't it
>just be a matter of setting up this policy on the server?
>Does a client choose a special certificate to use in this
>case?
No. To be honest, I do not see a reason for a client to not present a certificate to
the server during TLS handshake, if it has one.

I think the only decision the client will make is whether or not to do TLS
at all. (It might choose not to for performance reasons.)

If more pseudo-flavors are useful, I think it would be to tell the client that
security negotiation is not going to work unless the client can do X,
which would allow the client to log why security negotiation cannot
be completed (if it cannot do X). (Some security types prefer "security
via obscurity", but that can make it difficult for sysadmins to determine
why a failure is occurring.)

I would be fine with just a pseudo-flavor for TLS or similar is required,
since I think that is the only case where the client might optionally choose
to not do it.

>But also, I think we have some leeway here to introduce a
>narrow basic set of pseudoflavors now and then expand them
>as needs arise, via additional documents.
Of course, although it can take a long time for a document to get
published, plus implementation get deployed.

>> Btw, there are a couple of things that I don't recall being in the draft I read (an
>> earlier one). If they are there now, please just ignore the following...
>>
>> machine credential - It seems that a TLS handshake and/or verification of a
>>    client's X.509 peer certificate establishes a "client machine credential".
>>    However, there is no "machine principal" that can be used by the client
>>    for RPCs that must be done with a "machine principal" (such as EXCHANGE_ID...)
>>    --> One possibility I can think of is adding a new authentication flavor called
>>          something like "AUTH_MACHINE_PRINCIPAL" that would indicate
>>          "use the machine credential established via TLS handshake and/or X.509
>>            certificate verification" as the credentials for this RPC.
>
>I had forgotten about that!
>
>Again, not sure there needs to be a unique p-flavor, but
>I agree there needs to be some documentation about
>promoting a client's peer credential for authenticating
>lease management operations.
Yes, I'm fine with anything that works. Maybe just saying that,
when done with TLS, the RPC credential should be ignored for these operations
and "same principal" should be assumed?

>> Then there is the case of the NFSv4.0 callback TCP connection.
>> Should the server attempt to use RPC-with-TLS if the client-->server TCP connection is doing so?
>> And, should the server stop doing callbacks if the RPC-with-TLS probe or handshake fails?
>
>IMO those are (reasonable) security policy choices.
>>
>>
>> RFC 7530 Sec. 3.3.3 addresses the use of the credentials in the callback RPCs, but I don't
>> think it answers the above questions.
>> If an NFSv4.0 server were to do a successful TLS handshake and/or provide an appropriate
>> X.509 certificate to the client, it could use the AUTH_MACHINE_PRINCIPAL described above.
>
>Or the client and server could be required to use the same
>certificate pair that was used to establish the forward
>channel? I recall there is a similar restriction on which
>GSS service principals are used for callback operation.
Yes, I think that "if TLS with certificates is required, using the same certificates makes sense".

>Establishing a TLS-protected callback channel would
>necessitate that the client have a certificate/PSK. The
>server-only encryption mode would not work at all.
Yes, that is one reason why requiring this may not be appropriate.
Another might be that an NFS server may not know how to do the TLS-probe and client
end of TLS handshake, due to lack of implementation.

The question really comes down to "is TLS security on the callback TCP connection needed?"
or is it better to just advise against it and allow extant rules from RFC7530 Sec. 3.3.3 to be
applied?

rick

> --> Although you could argue this is a server implementation choice, interoperability will be
>      impacted negatively if there is no guidance in this (or a companion) document, I think?

--
Chuck Lever