Re: [nfsv4] Comments on draft-ietf-nfsv4-integrity-measurement-07

Chuck Lever <chuck.lever@oracle.com> Mon, 28 October 2019 15:00 UTC

Return-Path: <chuck.lever@oracle.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 8DCBA1200E9 for <nfsv4@ietfa.amsl.com>; Mon, 28 Oct 2019 08:00:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.301
X-Spam-Level:
X-Spam-Status: No, score=-4.301 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=oracle.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 jkTA5iDSsFqm for <nfsv4@ietfa.amsl.com>; Mon, 28 Oct 2019 08:00:34 -0700 (PDT)
Received: from userp2130.oracle.com (userp2130.oracle.com [156.151.31.86]) (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 98895120071 for <nfsv4@ietf.org>; Mon, 28 Oct 2019 08:00:34 -0700 (PDT)
Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9SEmtpM164046; Mon, 28 Oct 2019 15:00:32 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=content-type : mime-version : subject : from : in-reply-to : date : cc : content-transfer-encoding : message-id : references : to; s=corp-2019-08-05; bh=Ob8zmhsth8P3ZJCyhXoUXEGWaU8JotkP8RHP3B20ZSw=; b=E7yN/2ro/BczvvFLqEnd+ntohvmEmG9P9diJ7w8C62GPuCea6pG9ld62NbNWiJkLT4l+ i093y5Dce3foW8iXw2BSXwToo5I+wbc2lHzacPNVD+X9dn21L/a1Neo55xupw/OUOCgp Jw0mt0sd4dM2hf7mgDe5fpTIXK/qKoHyjzCUL+FF1Zfgr7QK8Qz5B/UnFNSqKWS0+04+ ISxQGS4ktM0lzMVCZUVbKtBEN9mY4ya7W/r6G10RdDqOcq3pQNy/ZBehApd8QeZUAvH/ pPpWS4lzdh6iKti9fpzJievSZKu0vYwD0cfG6gAyGBj0HpNUFHFRtnnqnPRqvdBJn5A6 UQ==
Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2130.oracle.com with ESMTP id 2vvdju2pp8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 28 Oct 2019 15:00:32 +0000
Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x9SEtmUP120434; Mon, 28 Oct 2019 15:00:31 GMT
Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3030.oracle.com with ESMTP id 2vvyks17nb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 28 Oct 2019 15:00:31 +0000
Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id x9SF0UVV014888; Mon, 28 Oct 2019 15:00:30 GMT
Received: from anon-dhcp-153.1015granger.net (/68.61.232.219) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 28 Oct 2019 08:00:30 -0700
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <CAFt6BakApq=FJWs+r-jwxvTdXYs9yOg9KS47no93kdnp2gZ_+Q@mail.gmail.com>
Date: Mon, 28 Oct 2019 11:00:29 -0400
Cc: NFSv4 <nfsv4@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <9BEBDE7A-522A-4A6B-8132-D9C3A8A4922C@oracle.com>
References: <CAFt6BakApq=FJWs+r-jwxvTdXYs9yOg9KS47no93kdnp2gZ_+Q@mail.gmail.com>
To: spencer shepler <spencer.shepler@gmail.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9423 signatures=668685
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910280153
X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9423 signatures=668685
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1910280153
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/dd-gid5Ikad5rQFKY3o0BVFaDPc>
Subject: Re: [nfsv4] Comments on draft-ietf-nfsv4-integrity-measurement-07
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, 28 Oct 2019 15:00:37 -0000

Hi Spencer, thanks for taking time to review this document. Responses
to individual comments are below.


> On Oct 28, 2019, at 2:50 AM, spencer shepler <spencer.shepler@gmail.com> wrote:
> 
>  
> Feedback and comments on the draft “Integrity Measurement for Network File System version 4” - draft-ietf-nfsv4-integrity-measurement-07.
> 
>  
> Note that these comments are personal contribution and do not reflect my position as working group co-chair.
> 
> In short, I am opposed to moving this draft to last call in its current state.  Generally, the draft describes the Linux implementation of a feature that is to be extended via NFS.  However, the description provided is insufficient for interoperable implementations to be achieved.

Issues about interoperation have already been raised and addressed
multiple times both on the mailing list and in presentations at IETF
meetings. The metadata stored in this attribute is opaque to the NFS
protocol and implementations, just like file data is opaque.

The metadata is not created by the NFS implementation; it is created
by a user space tool. It is not interpreted by the NFS implementation;
it is interpreted by a separate privileged security module.

NetApp, for instance, could create a fully interoperating implementation
today, based solely on this document, simply by enabling clients to store
and retrieve this attribute. There is no more to it than that.

NFS, in this case, is used as a transport. It is an intermediary. There's
no reason it needs to interpret the metadata. It's only job is to ensure
that data and metadata is not maliciously or accidentally altered.


> There are two options, in my opinion, to moving this document forward:
> 
> 1)  Limit the description to the addition of the new, opaque attribute and corresponding errors that can be returned as a result of the interpretation of that attribute.
> 
> 2)  Fully define the contents of the new attribute such that independent implementations can be achieved. This would include, but is not limited to, the open definition of the content of the new attribute and the procedures associated with defining new content and interpretation thereof.
> 
> If option 1) were chosen, I would still be of the opinion that the draft should not move forward since it would present another barrier to open, interoperable implementations.

"To move this document forward, pick option 1 or 2. But if you pick option
1, I will still object."

That means there is really only one option in your opinion. I have repeatedly
stated why option 2 is not practical or necessary. The nfsv4 working group
and the IETF does not want to be the bearer of the IMA standard for Linux.

Further, there is no need for it do so, because the metadata stored in this
attribute is opaque to the NFS protocol and to NFS implementations.

"Barrier to open implementations." The Linux implementation is open source.
It would certainly be possible to port the Linux implementation, or with a
little more work, provide a clean-room implementation. In an era in which
open source dominates, "open" no longer means just that there is an open
standard. Maybe "open" is not what you actually meant here.

Seems to me that rejecting a protocol mechanism that enables the use of a
data format with an open source implementation but no published standard is
also a barrier to open implementations.


> Note that I am also doubtful of the use case being presented. Using NFS to directly store and supply application executables seems to be in rapid decline or has already fallen out of use.  Given the rise of virtualization and the hosting of virtual disks on NFS along with the rise of containers and distribution thereof, application distribution seems to be a thing of the past with respect to their store/retrieval from NFS mounts.

Do you have evidence that this change is taking place? Sharing the same
application executable on NFS seems pretty common in Oracle deployments.

Do you believe IMA is not also useful for the read-only virtual disk use
case?

One reason that virtual disks are used is /because/ NFS does not support
things like xattrs, capabilities, and integrity metadata. Otherwise,
maintaining guest root filesystems on NFS would be a popular solution.

How about protection of other types of read-mostly data like configuration
files?


> If the effort was more focused on more traditional data integrity from source to consumption, that would be a more interesting use case.  With the rise of large scale data center usage of NFS (e.g. cloud computing) where customers expect data integrity or the identification of failure, the scale of cloud computing presents many opportunities for the loss of data integrity and NFS (and the client and server implementations thereof) do nothing to ensure data integrity.  The draft does mention spot fixes of data-at-rest methods, and in-transit methods, but there are many points that present areas of potential failure, and these are ignored in today’s implementations (at least to this commenter's knowledge).

There is no claim made in the document that this mechanism closes all
integrity exposures. Can you identify particular areas that need to be
addressed by this mechanism but are not? Do you have specific alternative
proposals?


--
Chuck Lever