linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: Theodore Ts'o <tytso@mit.edu>, Andreas Dilger <adilger@dilger.ca>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	lsf-pc@lists.linux-foundation.org
Subject: Re: [Lsf-pc] [LSF/MM TOPIC] fs-verity: file system-level integrity protection
Date: Mon, 29 Jan 2018 22:47:20 -0800	[thread overview]
Message-ID: <1517294840.3969.62.camel@HansenPartnership.com> (raw)
In-Reply-To: <4AAA034F-1195-4569-9448-1555C7BF49B6@oracle.com>

On Mon, 2018-01-29 at 10:22 -0500, Chuck Lever wrote:
> > On Jan 29, 2018, at 1:39 AM, James Bottomley <James.Bottomley@Hanse
> > nPartnership.com> wrote:
> > On Sun, 2018-01-28 at 10:19 -0800, Chuck Lever wrote:
[...]
> > > > I do think the "special format magic file" is a violation of
> > > > the unix principles of files being "just files" but if it's the
> > > > only way, I suppose I could be persuaded.  However, this part
> > > > should also be discussed; it does seem like, to satisfy unix
> > > > principles, the merkle tree should be provided separately from
> > > > the file, possibly as a fcntl().
> > > 
> > > For NFS, storing the tree or even an IMA signature in a trusted
> > > xattr is currently off the table because the protocol does not
> > > convey non-user xattrs.
> > 
> > OK, but are you sure fixing that with a binary format interpreter
> > is the correct thing to do?  I think it should work both for IMA
> > and selinux if you go this road, right?
> 
> NFSv4.2 does have the ability to convey security labels between NFS
> client and server. One thing that has been suggested is to define a
> security label that can store information such as file capabilities.
> The same tactic could be used to store a limited size item such as
> the signed root hash.

In xattr terms, IMA *is* a security label (it's under the "security."
xattr namespace), so that should work for both IMA and selinux, so it
sounds like the problem is solved on V4.2+

> Given the ability to reconstitute the Merkle tree instead of storing
> it, that might be enough to allow NFS to play (using the mechanism
> that you and Ted are developing here).

To me that's an implementation detail.  The only problem is if we need
to provide the tree instead of reconstructing it, how should that be
done?

> > > My interest is finding a way to get binary signing
> > > without the need of the xattr.
> > > 
> > > Interestingly, Solaris puts the signature in an ELF header. That
> > > would certainly work for NFS.
> > 
> > That would work ... sort of the ELF equivalent of authenticode.
> >  However, it only works for binaries ... what about the IMA uses of
> > non binary files?
> 
> Fair enough, though I'm not sure Oracle (for example) has a non-
> executable use case. We are focusing largely on similar
> virtualization use cases as yours.

Even in my use case, I want to provide a mechanism to make *some*
configuration immutable, which means applying signatures to non-binary
files.  I expect the amount of config files which can be made immutable
to grow as the OS people work on separating /etc from /run.

James

  reply	other threads:[~2018-01-30  6:47 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-25 19:11 [LSF/MM TOPIC] fs-verity: file system-level integrity protection Theodore Ts'o
2018-01-25 21:49 ` Chuck Lever
2018-01-25 23:39   ` Theodore Ts'o
2018-01-26  0:47 ` James Bottomley
2018-01-26  2:30   ` Theodore Ts'o
2018-01-26  4:50     ` James Bottomley
2018-01-26 14:58       ` Theodore Ts'o
2018-01-26 16:44         ` [Lsf-pc] " James Bottomley
2018-01-26 21:55           ` Theodore Ts'o
2018-01-27  7:58             ` Andreas Dilger
2018-01-27 16:19               ` James Bottomley
2018-01-27 17:08                 ` James Bottomley
2018-01-28  2:46                 ` Theodore Ts'o
2018-01-28 17:19                   ` James Bottomley
2018-01-28 18:03                   ` James Bottomley
2018-01-28 18:19                     ` Chuck Lever
2018-01-29  6:39                       ` James Bottomley
2018-01-29 15:22                         ` Chuck Lever
2018-01-30  6:47                           ` James Bottomley [this message]
2018-01-28 21:49                     ` Theodore Ts'o
2018-01-28 22:49                       ` Theodore Ts'o
2018-01-28 23:04                       ` Mimi Zohar
2018-01-29  0:38                         ` Theodore Ts'o
2018-01-29  1:53                           ` Mimi Zohar
2018-01-29  2:38                             ` Theodore Ts'o
2018-01-29  3:39                               ` Mimi Zohar
2018-01-29  4:40                                 ` Theodore Ts'o
2018-01-29  4:50                                 ` Theodore Ts'o
2018-01-29 12:09                                   ` Mimi Zohar
2018-01-29 13:58                                     ` Mimi Zohar
2018-01-29 23:02                                     ` Theodore Ts'o
2018-01-30 23:25                                       ` Mimi Zohar
2018-01-31 16:05                                         ` Theodore Ts'o
2018-01-31 17:12                                           ` James Bottomley
2018-01-31 18:46                                             ` Theodore Ts'o
2018-01-31 20:41                                               ` James Bottomley
2018-02-01  0:03                                                 ` Theodore Ts'o
2018-02-01 23:04                                                   ` Dave Chinner
2018-02-01 23:43                                                     ` Andreas Dilger
2018-02-02  0:13                                                       ` Dave Chinner
2018-02-02  5:34                                                       ` James Bottomley
2018-02-02  2:40                                                     ` Theodore Ts'o
2018-02-02  9:05                                                       ` Dave Chinner
2018-01-31 20:40                                           ` Mimi Zohar
2018-01-31 22:00                                             ` Theodore Ts'o
2018-02-01 15:17                                               ` Mimi Zohar
2018-01-29  0:21                       ` James Bottomley
2018-01-29  1:03                         ` Theodore Ts'o
2018-01-29 21:21                           ` Andreas Dilger
2018-01-26 18:13         ` Mimi Zohar
2018-01-29 18:54   ` Michael Halcrow
2018-01-26  7:58 ` Colin Walters
2018-01-26 15:29   ` Theodore Ts'o
2018-01-26 16:40     ` Colin Walters
2018-01-26 16:49       ` [Lsf-pc] " James Bottomley
2018-01-26 17:05         ` Colin Walters
2018-01-26 17:54 ` Mimi Zohar
2018-02-02  0:02 ` Steve French
2018-02-07 13:04 ` David Gstir

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1517294840.3969.62.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=adilger@dilger.ca \
    --cc=chuck.lever@oracle.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).