Re: [nfsv4] Linux IMA on NFS follow-up

Chuck Lever <chuck.lever@oracle.com> Tue, 28 August 2018 23:22 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 DBC68124BE5 for <nfsv4@ietfa.amsl.com>; Tue, 28 Aug 2018 16:22:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.309
X-Spam-Level:
X-Spam-Status: No, score=-4.309 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, UNPARSEABLE_RELAY=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=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 oB-C_AoZcR-A for <nfsv4@ietfa.amsl.com>; Tue, 28 Aug 2018 16:22:21 -0700 (PDT)
Received: from aserp2120.oracle.com (aserp2120.oracle.com [141.146.126.78]) (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 721B412426A for <nfsv4@ietf.org>; Tue, 28 Aug 2018 16:22:21 -0700 (PDT)
Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w7SNIicL109006; Tue, 28 Aug 2018 23:22:19 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-2018-07-02; bh=Gr9H8FydO8/o9b49IxJRrEcJFbRtsoMlSIHAT+t9RIQ=; b=jmifSM/TNIktWjdQJofgcTG/NQK4SjGlK05lRHOsBk8ZBSTIIlu008kQdXIUYGl5BwyC q877mt7DKIrc+f0WoAZs/SZXDokiFxZu/vHXNmocv0B2C4SWkOtogIRGOKbhwMrZBfQM /J3+mpgDsY/ymxU97kfau0U+5lwJ6GLhCc1bAeiT1Z01u32bQYtl48f/tZmXd0TMnbF9 yTDiODs7LLm+jpAc6M15sI+5i8Ba+5We8rKSm8YwXbh3ocd2PZsrdR9ubCAhhqud2YvT PRufNir0L8sCEKKbK8sbhFiy7I/I+mQ2RWB48wrdIO9oX9Xo7VazhwRB1kj0CTHKRJ60 dA==
Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by aserp2120.oracle.com with ESMTP id 2m2y2pes4t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Aug 2018 23:22:19 +0000
Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w7SNMDMV007241 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Aug 2018 23:22:13 GMT
Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w7SNMDiU010617; Tue, 28 Aug 2018 23:22:13 GMT
Received: from anon-dhcp-171.1015granger.net (/68.61.232.219) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 28 Aug 2018 16:22:12 -0700
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Chuck Lever <chuck.lever@oracle.com>
In-Reply-To: <BL0PR2101MB099349DA26CAEFACA5CD3C66A00A0@BL0PR2101MB0993.namprd21.prod.outlook.com>
Date: Tue, 28 Aug 2018 19:22:11 -0400
Cc: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, NFSv4 <nfsv4@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <501EFD14-0E07-42A3-87E5-C223FB110718@oracle.com>
References: <C3D8FCD5-D792-43DA-BF4C-A56053AD85D3@oracle.com> <CAKKJt-dn1WbxYOx-CeWyGpWrpHxtVqLpFxroVj5LC4w9E8HZkw@mail.gmail.com> <ED4BDE8F-6AD4-4F96-A300-136C0BF2C43E@oracle.com> <BL0PR2101MB099349DA26CAEFACA5CD3C66A00A0@BL0PR2101MB0993.namprd21.prod.outlook.com>
To: Tom Talpey <ttalpey@microsoft.com>
X-Mailer: Apple Mail (2.3445.9.1)
X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8999 signatures=668708
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=8 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-1807170000 definitions=main-1808280225
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/WCzV8Ed4mi8yzbDKT9lJT61ekeQ>
Subject: Re: [nfsv4] Linux IMA on NFS follow-up
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.27
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, 28 Aug 2018 23:22:24 -0000

Hi Tom-

> On Aug 28, 2018, at 4:42 PM, Tom Talpey <ttalpey@microsoft.com> wrote:
> 
>> The issue of interoperation is IMA's problem: they need to
>> be able to add/remove features while remaining compatible
>> with what's already in on-disk filesystems, as their vision
>> of IMA evolves. IOW they already have to solve this problem
>> with local filesystems.
> 
> Is your intention to limit the discussion to IMA? What about filesystems
> which support native integrity, such as ReFS, ZFS, etc?

I think it is limited to integrity measurement. It is
different than "native integrity", where the data is
protected only while it's at rest on the NFS server.
Native integrity metadata is generated on the fly by 
the filesystem itself.

Native integrity also would not seem to be suitable for
protecting the data while in transit. NFS has a separate
mechanism for that too.

IMA provides provenance: the content hash is signed by a
software provider. The signature plus the content hash
guarantee that the content hasn't been altered since the
file was written by the software provider. It ensures
integrity from the "factory" all the way to the
execution environment of the end user.

So this is a piece of long-lived security metadata that
is generated independently of users or local storage
devices.

Our approach to this class of metadata has been to create
additional fattr4 attributes: ACLs, security labels, and
so on. Here we have something that has a definite purpose,
but no defined format.


> It seems that if
> those are present, there should be a story for NFS to use them. Or if not,
> then a portable, interoperable NFS-level definition.

The NFS protocol and NFS implementations do not have any
role in interpreting this metadata. All that is needed
is to store some additional bits that will be interpreted
elsewhere.

Seems like we've done this before: NFS security labels
are defined elsewhere, and are not interpreted by NFS
itself. User extended attributes, named streams are not
interpreted by NFS, and are separate from file content.

IMO it's valid to claim that interoperability in this
case is out of scope.


> Hitching onto a
> sidetracked train doesn't seem, to me, a recipe for success.
> Just my view from another cheap seat.
> 
> Tom.
> 
>> -----Original Message-----
>> From: nfsv4 <nfsv4-bounces@ietf.org> On Behalf Of Chuck Lever
>> Sent: Tuesday, August 28, 2018 4:06 PM
>> To: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
>> Cc: NFSv4 <nfsv4@ietf.org>
>> Subject: Re: [nfsv4] Linux IMA on NFS follow-up
>> 
>> 
>> 
>>> On Aug 28, 2018, at 3:13 PM, Spencer Dawkins at IETF
>> <spencerdawkins.ietf@gmail.com> wrote:
>>> 
>>> Hi, Chuck,
>>> 
>>> You invited comments from the "cheap seats" in your note, but I think that's
>> actually me, and people who understand what's going on better than I do
>> would be in the orchestra pit seats. So I'd also invite comments from people
>> who understand what's going on better than I do.
>> 
>> According to the RFC Editor, as AD you are the final
>> authority on what is an adequate set of citations
>> for the NFS specs we publish, so you get to be the
>> conductor today.
>> 
>> Or anyway, you get first crack at an opinion.
>> 
>> 
>>> Having said that ...
>>> 
>>>> On Tue, Aug 28, 2018 at 1:38 PM Chuck Lever <chuck.lever@oracle.com>
>> wrote:
>>>> Hi Spencer D. !
>>>> 
>>>> During our meeting in Montreal last month, I presented a backgrounder
>>>> on supporting Linux IMA (file integrity measurement) on NFS.
>>>> 
>>>> A stumbling block to forward progress of the IMA-on-NFS specification
>>>> is the lack of any standard describing IMA. You recommended reaching
>>>> out to the Linux IMA community to inquire if they had plans for
>>>> standardizing IMA. I have done this:
>>>> 
>>>> 
>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.spi
>> nics.net%2Flists%2Flinux-
>> integrity%2Fmsg03399.html&amp;data=02%7C01%7Cttalpey%40microsoft.co
>> m%7C18f04391586c4fcee43308d60d21a54e%7C72f988bf86f141af91ab2d7cd
>> 011db47%7C1%7C0%7C636710835491618174&amp;sdata=Up9RBEFvcwXzx9
>> hcDCBnYO3U1usX4MEwHlOZGbFZ83s%3D&amp;reserved=0
>>>> 
>>>> And received no response. I conclude that there is no active effort
>>>> and perhaps no desire to standardize Linux IMA.
>>> 
>>> I THINK what we're talking about here, is a stable reference for draft-ietf-
>> nfsv4-integrity-measurement to point to. Does that sound right?
>> 
>> Yes, that was the problem described in Montreal.
>> 
>> 
>>> I'd like to better understand what reference is available - whether it is
>>> 	• a versioned description with a stable URL
>>> 	• an unversioned description
>>> 	• "the code is in github, good luck"
>>> 	• or some variation along that spectrum
>> 
>> There is a wiki with a white paper, and there is what
>> is implemented in Linux.
>> 
>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourcefor
>> ge.net%2Fp%2Flinux-
>> ima%2Fwiki%2FHome%2F&amp;data=02%7C01%7Cttalpey%40microsoft.com
>> %7C18f04391586c4fcee43308d60d21a54e%7C72f988bf86f141af91ab2d7cd01
>> 1db47%7C1%7C0%7C636710835491618174&amp;sdata=iIaZX2iTXbmTvIqGuz
>> OTJ97Zm7Sz6Y6MaWezWZA9vj0%3D&amp;reserved=0
>> 
>> So, some from row B and some from row C. And some man
>> pages. It's a practical implementation, not something
>> that was conceived by standard and later implemented.
>> 
>> However, all the participating filesystem needs to do
>> is store some security metadata. So I would like the
>> NFS pieces to be entirely agnostic to the metadata
>> format, and instead focus on:
>> 
>> a) how to find this metadata
>> b) how large it can be
>> c) how to protect it in-transit
>> d) how to authorize access and updates to it
>> 
>> 
>>> I think having a stable reference matters more than something being a
>> "standard", from our perspective.
>> 
>> We could cite the URL where the white paper resides, as
>> an Informative reference, but I'm not certain that is a
>> "stable" URL. Maybe the wiki is stable enough?
>> 
>> 
>>>> Therefore I propose the following changes to
>>>> draft-ietf-nfsv4-integrity-measurement:
>>>> 
>>>> - Replace all specific mention of IMA with general discussion of
>>>>   purpose and use cases
>>>> - Rename the new attributes with non-specific names; for example
>>>>   fattr4_signature_content, fattr4_signature_attributes, and
>>>>   fattr_signature_attrlist
>>>> - REQUIRE that the material stored in the first two attributes is
>>>>   self-describing, such that the integrity measurement subsystems
>>>>   on NFS endpoints can properly interpret and utilize their content
>>> 
>>> So, is the goal here to be resilient to changes in IMA, or to be resilient to
>> replacing IMA with something else?
>> 
>> Mostly the former goal. The latter is hypothetical at this
>> point, but possible down the road.
>> 
>> 
>>>> Do you feel this is adequate for the purposes of standardization? Are
>>>> there other approaches you would like me to consider?
>>> 
>>> I'd only be looking for some way to achieve interoperation, so I'd be listening
>> for feedback from people who will implement this and deploy this mechanism.
>> 
>> Fair enough.
>> 
>> The issue of interoperation is IMA's problem: they need to
>> be able to add/remove features while remaining compatible
>> with what's already in on-disk filesystems, as their vision
>> of IMA evolves. IOW they already have to solve this problem
>> with local filesystems.
>> 
>> 
>>> I hope that's helpful!
>>> 
>>> Spencer (D)
>>> 
>>>> Comments/suggestions from the cheap seats (tm David Black) also welcome.
>>>> 
>>>> --
>>>> Chuck Lever
>> 
>> --
>> Chuck Lever
>> 
>> 
>> 
>> _______________________________________________
>> nfsv4 mailing list
>> nfsv4@ietf.org
>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf
>> .org%2Fmailman%2Flistinfo%2Fnfsv4&amp;data=02%7C01%7Cttalpey%40micr
>> osoft.com%7C18f04391586c4fcee43308d60d21a54e%7C72f988bf86f141af91a
>> b2d7cd011db47%7C1%7C0%7C636710835491628183&amp;sdata=NQQdpaw
>> GC19QWioBOPkj2O7SnLlvweZvYSNhsLEt1MU%3D&amp;reserved=0

--
Chuck Lever