All of lore.kernel.org
 help / color / mirror / Atom feed
From: James.Bottomley@HansenPartnership.com (James Bottomley)
To: linux-security-module@vger.kernel.org
Subject: [RFC PATCH 1/5] ima: extend clone() with IMA namespace support
Date: Tue, 25 Jul 2017 13:31:35 -0700	[thread overview]
Message-ID: <1501014695.3689.41.camel@HansenPartnership.com> (raw)
In-Reply-To: <1501012082.27413.17.camel@linux.vnet.ibm.com>

On Tue, 2017-07-25 at 15:48 -0400, Mimi Zohar wrote:
> On Tue, 2017-07-25 at 12:08 -0700, James Bottomley wrote:
> > 
> > On Tue, 2017-07-25 at 14:04 -0500, Serge E. Hallyn wrote:
> > > 
> > > On Tue, Jul 25, 2017 at 11:49:14AM -0700, James Bottomley wrote:
> > > > 
> > > > 
> > > > On Tue, 2017-07-25 at 12:53 -0500, Serge E. Hallyn wrote:
[...]
> > > > the latter, it does seem that this should be a property of
> > > > either the mount or user ns rather than its own separate ns. ?I
> > > > could see a use where even a container might want multiple ima
> > > > keyrings within the container (say containerised apache service
> > > > with multiple tenants), so instinct tells me that mount ns is
> > > > the correct granularity for this.
> > > 
> > > I wonder whether we could use echo 1 >
> > > /sys/kernel/security/ima/newns
> > > as the trigger for requesting a new ima ns on the next
> > > clone(CLONE_NEWNS).
> > 
> > I could go with that, but what about the trigger being installing
> > or updating the keyring? ?That's the only operation that needs
> > namespace separation, so on mount ns clone, you get a pointer to
> > the old ima_ns until you do something that requires a new key,
> > which then triggers the copy of the namespace and installing it?
> 
> It isn't just the keyrings that need to be namespaced, but the
> measurement list and policy as well.

OK, so trigger to do a just in time copy would be new key or new
policy. ?The measurement list is basically just a has of a file taken
at a policy point. ?Presumably it doesn't change if we install a new
policy or key, so it sounds like it should be tied to the underlying
mount point? ?I'm thinking if we set up a hundred mount ns each
pointing to /var/container, we don't want /var/container/bin/something
to have 100 separate measurements each with the same hash.

> IMA-measurement, IMA-appraisal and IMA-audit are all policy based.
> 
> As soon as the namespace starts, measurements should be added to the
> namespace specific measurement list, not it's parent.

Would the measurement in a child namespace yield a different
measurement in the parent? ?I'm thinking not, because a measurement is
just a hash. ?Now if the signature of the hash in the xattr needs a
different key, obviously this differs, but the expensive part
(computing the hash) shouldn't change.

James


> Mimi
> 
> _______________________________________________
> Containers mailing list
> Containers at lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/containers

--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Mimi Zohar <zohar@linux.vnet.ibm.com>,
	"Serge E. Hallyn" <serge@hallyn.com>
Cc: Mehmet Kayaalp <mkayaalp@cs.binghamton.edu>,
	Mehmet Kayaalp <mkayaalp@linux.vnet.ibm.com>,
	Yuqiong Sun <sunyuqiong1988@gmail.com>,
	containers <containers@lists.linux-foundation.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	David Safford <david.safford@ge.com>,
	linux-security-module <linux-security-module@vger.kernel.org>,
	ima-devel <linux-ima-devel@lists.sourceforge.net>,
	Yuqiong Sun <suny@us.ibm.com>
Subject: Re: [RFC PATCH 1/5] ima: extend clone() with IMA namespace support
Date: Tue, 25 Jul 2017 13:31:35 -0700	[thread overview]
Message-ID: <1501014695.3689.41.camel@HansenPartnership.com> (raw)
In-Reply-To: <1501012082.27413.17.camel@linux.vnet.ibm.com>

On Tue, 2017-07-25 at 15:48 -0400, Mimi Zohar wrote:
> On Tue, 2017-07-25 at 12:08 -0700, James Bottomley wrote:
> > 
> > On Tue, 2017-07-25 at 14:04 -0500, Serge E. Hallyn wrote:
> > > 
> > > On Tue, Jul 25, 2017 at 11:49:14AM -0700, James Bottomley wrote:
> > > > 
> > > > 
> > > > On Tue, 2017-07-25 at 12:53 -0500, Serge E. Hallyn wrote:
[...]
> > > > the latter, it does seem that this should be a property of
> > > > either the mount or user ns rather than its own separate ns.  I
> > > > could see a use where even a container might want multiple ima
> > > > keyrings within the container (say containerised apache service
> > > > with multiple tenants), so instinct tells me that mount ns is
> > > > the correct granularity for this.
> > > 
> > > I wonder whether we could use echo 1 >
> > > /sys/kernel/security/ima/newns
> > > as the trigger for requesting a new ima ns on the next
> > > clone(CLONE_NEWNS).
> > 
> > I could go with that, but what about the trigger being installing
> > or updating the keyring?  That's the only operation that needs
> > namespace separation, so on mount ns clone, you get a pointer to
> > the old ima_ns until you do something that requires a new key,
> > which then triggers the copy of the namespace and installing it?
> 
> It isn't just the keyrings that need to be namespaced, but the
> measurement list and policy as well.

OK, so trigger to do a just in time copy would be new key or new
policy.  The measurement list is basically just a has of a file taken
at a policy point.  Presumably it doesn't change if we install a new
policy or key, so it sounds like it should be tied to the underlying
mount point?  I'm thinking if we set up a hundred mount ns each
pointing to /var/container, we don't want /var/container/bin/something
to have 100 separate measurements each with the same hash.

> IMA-measurement, IMA-appraisal and IMA-audit are all policy based.
> 
> As soon as the namespace starts, measurements should be added to the
> namespace specific measurement list, not it's parent.

Would the measurement in a child namespace yield a different
measurement in the parent?  I'm thinking not, because a measurement is
just a hash.  Now if the signature of the hash in the xattr needs a
different key, obviously this differs, but the expensive part
(computing the hash) shouldn't change.

James


> Mimi
> 
> _______________________________________________
> Containers mailing list
> Containers@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/containers

  reply	other threads:[~2017-07-25 20:31 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-20 22:50 [RFC PATCH 0/5] ima: namespacing IMA audit messages Mehmet Kayaalp
2017-07-20 22:50 ` Mehmet Kayaalp
2017-07-20 22:50 ` [RFC PATCH 1/5] ima: extend clone() with IMA namespace support Mehmet Kayaalp
2017-07-20 22:50   ` Mehmet Kayaalp
2018-03-08 13:39   ` Stefan Berger
2018-03-08 13:39     ` Stefan Berger
     [not found]     ` <2fac8414-6957-1fce-6b40-ad4b687ca83c-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2018-03-08 20:19       ` Serge E. Hallyn
2018-03-08 20:19     ` Serge E. Hallyn
2018-03-08 20:19       ` Serge E. Hallyn
     [not found]       ` <20180308201931.GA6462-7LNsyQBKDXoIagZqoN9o3w@public.gmane.org>
2018-03-08 22:53         ` Stefan Berger
2018-03-08 23:31           ` Serge E. Hallyn
2018-03-08 23:31             ` Serge E. Hallyn
     [not found]           ` <a6ef5679-6aef-21de-7cdb-48e8af83f874-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2018-03-08 23:31             ` Serge E. Hallyn
     [not found]   ` <20170720225033.21298-2-mkayaalp-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-25 17:53     ` Serge E. Hallyn
2017-07-25 17:53       ` Serge E. Hallyn
2017-07-25 17:53       ` Serge E. Hallyn
     [not found]       ` <20170725175317.GA727-7LNsyQBKDXoIagZqoN9o3w@public.gmane.org>
2017-07-25 18:49         ` James Bottomley
2017-07-25 18:49       ` James Bottomley
2017-07-25 18:49         ` James Bottomley
     [not found]         ` <1501008554.3689.30.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2017-07-25 19:04           ` Serge E. Hallyn
2017-07-25 19:04             ` Serge E. Hallyn
2017-07-25 19:04             ` Serge E. Hallyn
     [not found]             ` <20170725190406.GA1883-7LNsyQBKDXoIagZqoN9o3w@public.gmane.org>
2017-07-25 19:08               ` James Bottomley
2017-07-25 19:08             ` James Bottomley
2017-07-25 19:08               ` James Bottomley
     [not found]               ` <1501009739.3689.33.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2017-07-25 19:48                 ` Mimi Zohar
2017-07-25 19:48               ` Mimi Zohar
2017-07-25 19:48                 ` Mimi Zohar
2017-07-25 20:31                 ` James Bottomley [this message]
2017-07-25 20:31                   ` James Bottomley
     [not found]                   ` <1501014695.3689.41.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2017-07-25 20:47                     ` Mimi Zohar
2017-07-25 20:47                       ` Mimi Zohar
2017-07-25 20:47                       ` Mimi Zohar
     [not found]                 ` <1501012082.27413.17.camel-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-25 20:11                   ` Stefan Berger
2017-07-25 20:11                     ` Stefan Berger
2017-07-25 20:11                     ` Stefan Berger
     [not found]                     ` <645db815-7773-e351-5db7-89f38cd88c3d-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-25 20:46                       ` Serge E. Hallyn
2017-07-25 20:46                         ` Serge E. Hallyn
2017-07-25 20:46                         ` Serge E. Hallyn
     [not found]                         ` <20170725204622.GA4969-7LNsyQBKDXoIagZqoN9o3w@public.gmane.org>
2017-07-25 20:57                           ` Mimi Zohar
2017-07-25 20:57                             ` Mimi Zohar
2017-07-25 20:57                             ` Mimi Zohar
     [not found]                             ` <1501016277.27413.50.camel-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-25 21:08                               ` Serge E. Hallyn
2017-07-25 21:08                             ` Serge E. Hallyn
2017-07-25 21:08                               ` Serge E. Hallyn
     [not found]                               ` <20170725210801.GA5628-7LNsyQBKDXoIagZqoN9o3w@public.gmane.org>
2017-07-25 21:28                                 ` Mimi Zohar
2017-07-25 21:28                                   ` Mimi Zohar
2017-07-25 21:28                                   ` Mimi Zohar
     [not found]                                   ` <1501018134.27413.66.camel-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-27 12:51                                     ` [Linux-ima-devel] " Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-27 12:51                                       ` Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-27 12:51                                       ` Magalhaes, Guilherme (Brazil R&D-CL)
     [not found]                                       ` <TU4PR84MB03021F7FDF1B89ECAA8F7FFFFFBE0-cn0wsXH2uUebani3oaRudNicc1VoeDReZmpNikb/MY7jO8Y7rvWZVA@public.gmane.org>
2017-07-27 14:39                                         ` Mimi Zohar
2017-07-27 14:39                                       ` Mimi Zohar
2017-07-27 14:39                                         ` Mimi Zohar
2017-07-27 17:18                                         ` Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-27 17:18                                           ` Magalhaes, Guilherme (Brazil R&D-CL)
     [not found]                                           ` <TU4PR84MB03025AD26718A173FB3E3F94FFBE0-cn0wsXH2uUebani3oaRudNicc1VoeDReZmpNikb/MY7jO8Y7rvWZVA@public.gmane.org>
2017-07-27 17:49                                             ` Stefan Berger
2017-07-27 17:49                                           ` Stefan Berger
2017-07-27 17:49                                             ` Stefan Berger
     [not found]                                             ` <3c3d8594-9958-5f53-ec0b-f33c36967f95-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-27 19:39                                               ` Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-27 19:39                                             ` Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-27 19:39                                               ` Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-27 20:51                                               ` Stefan Berger
2017-07-27 20:51                                                 ` Stefan Berger
     [not found]                                               ` <TU4PR84MB030243E7071B5A7455334886FFBE0-cn0wsXH2uUebani3oaRudNicc1VoeDReZmpNikb/MY7jO8Y7rvWZVA@public.gmane.org>
2017-07-27 20:51                                                 ` Stefan Berger
     [not found]                                         ` <1501166369.28419.171.camel-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-27 17:18                                           ` Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-28 14:19                                           ` Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-28 14:19                                         ` Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-28 14:19                                           ` Magalhaes, Guilherme (Brazil R&D-CL)
2017-07-31 11:31                                           ` Mimi Zohar
2017-07-31 11:31                                             ` Mimi Zohar
     [not found]                                           ` <TU4PR84MB03025BC4B8DEC44A0D63A298FFBF0-cn0wsXH2uUebani3oaRudNicc1VoeDReZmpNikb/MY7jO8Y7rvWZVA@public.gmane.org>
2017-07-31 11:31                                             ` Mimi Zohar
2017-07-25 21:35                           ` Stefan Berger
2017-07-25 21:35                             ` Stefan Berger
2017-07-25 21:35                             ` Stefan Berger
2018-03-08 14:04                           ` Stefan Berger
2018-03-08 14:04                         ` Stefan Berger
2018-03-08 14:04                           ` Stefan Berger
     [not found]                           ` <97839865-b0ab-8e5d-114e-0603ef2edf6f-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2018-03-09  2:59                             ` Serge E. Hallyn
2018-03-09  2:59                           ` Serge E. Hallyn
2018-03-09  2:59                             ` Serge E. Hallyn
     [not found]                             ` <20180309025942.GA15295-7LNsyQBKDXoIagZqoN9o3w@public.gmane.org>
2018-03-09 13:52                               ` Stefan Berger
2018-03-09 13:52                                 ` Stefan Berger
2018-03-09 13:52                                 ` Stefan Berger
     [not found]                                 ` <ec137677-34f8-df91-0d1c-6c6d6c951496-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2018-03-11 22:58                                   ` James Morris
2018-03-11 22:58                                 ` James Morris
2018-03-11 22:58                                   ` James Morris
     [not found]                                   ` <alpine.LRH.2.21.1803120953310.26512-gx6/JNMH7DfYtjvyW6yDsg@public.gmane.org>
2018-03-13 18:02                                     ` Stefan Berger
2018-03-13 18:02                                       ` Stefan Berger
2018-03-13 18:02                                       ` Stefan Berger
     [not found]                                       ` <c39350db-046f-ea70-15e4-210884548b1e-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2018-03-13 21:51                                         ` James Morris
2018-03-13 21:51                                           ` James Morris
2018-03-13 21:51                                           ` James Morris
2017-07-25 20:31                   ` James Bottomley
2018-03-08 13:39     ` Stefan Berger
2017-07-20 22:50 ` [RFC PATCH 2/5] ima: Add ns_status for storing namespaced iint data Mehmet Kayaalp
2017-07-20 22:50   ` Mehmet Kayaalp
     [not found]   ` <20170720225033.21298-3-mkayaalp-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-25 19:43     ` Serge E. Hallyn
2017-07-25 19:43       ` Serge E. Hallyn
2017-07-25 19:43       ` Serge E. Hallyn
     [not found]       ` <20170725194315.GA2397-7LNsyQBKDXoIagZqoN9o3w@public.gmane.org>
2017-07-25 20:15         ` Mimi Zohar
2017-07-25 20:15           ` Mimi Zohar
2017-07-25 20:15           ` Mimi Zohar
     [not found]           ` <1501013725.27413.27.camel-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-25 20:25             ` Stefan Berger
2017-07-25 20:25               ` Stefan Berger
2017-07-25 20:25               ` Stefan Berger
2017-07-25 20:49             ` Serge E. Hallyn
2017-07-25 20:49               ` Serge E. Hallyn
2017-07-25 20:49               ` Serge E. Hallyn
2017-08-11 15:00     ` Stefan Berger
2017-08-11 15:00   ` Stefan Berger
2017-08-11 15:00     ` Stefan Berger
     [not found] ` <20170720225033.21298-1-mkayaalp-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-07-20 22:50   ` [RFC PATCH 1/5] ima: extend clone() with IMA namespace support Mehmet Kayaalp
2017-07-20 22:50   ` [RFC PATCH 2/5] ima: Add ns_status for storing namespaced iint data Mehmet Kayaalp
2017-07-20 22:50   ` [RFC PATCH 3/5] ima: mamespace audit status flags Mehmet Kayaalp
2017-07-20 22:50   ` [RFC PATCH 4/5] ima: differentiate auditing policy rules from "audit" actions Mehmet Kayaalp
2017-07-20 22:50     ` Mehmet Kayaalp
2017-07-20 22:50     ` Mehmet Kayaalp
2017-07-20 22:50   ` [RFC PATCH 5/5] ima: Add ns_mnt, dev, ino fields to IMA audit measurement msgs Mehmet Kayaalp
2017-07-20 22:50 ` [RFC PATCH 3/5] ima: mamespace audit status flags Mehmet Kayaalp
2017-07-20 22:50   ` Mehmet Kayaalp
2017-08-01 17:17   ` Tycho Andersen
2017-08-01 17:17     ` Tycho Andersen
2017-08-01 17:25     ` Mehmet Kayaalp
2017-08-01 17:25       ` Mehmet Kayaalp
2017-08-02 21:48       ` Tycho Andersen
2017-08-02 21:48         ` Tycho Andersen
2017-08-01 17:25     ` Mehmet Kayaalp
     [not found]   ` <20170720225033.21298-4-mkayaalp-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2017-08-01 17:17     ` Tycho Andersen via Containers
2017-07-20 22:50 ` [RFC PATCH 5/5] ima: Add ns_mnt, dev, ino fields to IMA audit measurement msgs Mehmet Kayaalp
2017-07-20 22:50   ` Mehmet Kayaalp

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=1501014695.3689.41.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=linux-security-module@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.