All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Grubb <sgrubb-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Aristeu Rozanski <arozansk-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org,
	pmoore-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	linux-audit-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	eparis-FjpueFixGhCM4zKIHC2jIg@public.gmane.org,
	zohar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org
Subject: Re: [PATCH V6 05/10] audit: log creation and deletion of namespace instances
Date: Tue, 05 May 2015 10:46:44 -0400	[thread overview]
Message-ID: <2513346.AIlk1LAo6p@x2> (raw)
In-Reply-To: <20150505143119.GA4350-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>

On Tuesday, May 05, 2015 10:31:20 AM Aristeu Rozanski wrote:
> Hi Steve,
> 
> On Tue, May 05, 2015 at 10:22:32AM -0400, Steve Grubb wrote:
> > The requirements for auditing of containers should be derived from VPP. In
> > it, it asks for selectable auditing, selective audit, and selective audit
> > review. What this means is that we need the container and all its
> > children to have one identifier that is inserted into all the events that
> > are associated with the container.
> > 
> > With this, its possible to do a search for all events related to a
> > container. Its possible to exclude events from a container. Its possible
> > to not get any events.
> > 
> > The requirements also call out for the identification of the subject. This
> > means that the event should be bound to a syscall such as clone, setns, or
> > unshare.
> > 
> > Also, any user space events originating inside the container needs to have
> > the container ID added to the user space event - just like auid and
> > session id.
> > 
> > Recording each instance of a name space is giving me something that I
> > cannot use to do queries required by the security target. Given these
> > events, how do I locate a web server event where it accesses a watched
> > file? That authentication failed? That an update within the container
> > failed?
> > 
> > The requirements are that we have to log the creation, suspension,
> > migration, and termination of a container. The requirements are not on
> > the individual name space.
> > 
> > Maybe I'm missing how these events give me that. But I'd like to hear how
> > I  would be able to meet requirements with these 12 events.
> 
> what about cases you don't use lxc, libvirt to create namespaces?

There's a pretty good chance that we don't care. We've had file system 
namespace for about 8 or 9 years and we never needed to have a namespace 
identifier added.

> It's easier if the logging is done by namespaces and in case they're created
> by any container manager, it can generate a new event notifying it
> created a container named "foo" with these namespaces: x, y, z, w and
> from that you can piece together everything that happened.

OK, if they are emitted they should be an auxiliary record to clone, setns, or 
unshare system calls. But lets go down this path. We have 6 or so name spaces. 
These identifiers will need to be added to every single event in the system so 
that I can figure out what event belongs to which container. 


> Userspace tools can change to adapt to using namespaces and the idea of
> container to make it easier to lookup for events instead of relying on a
> number that might not be there (think someone using unshare, ip netns, ...).

That's what I am trying to do...figure out how I can these identifiers to see if 
this actually solves the problem. This is why I wanted to state the actual 
requirements. Its easy to lose the overall view.

Also, I am concerned about how much extra disk space this is going to eat up.


> It was discussed in the past and having the concept of "container" in
> kernel space and it's not going to happen, so userspace should deal with
> it.

This is what I am asking for help with. How do I locate an authentication 
event from container using the information in these events?

-Steve

WARNING: multiple messages have this Message-ID (diff)
From: Steve Grubb <sgrubb@redhat.com>
To: Aristeu Rozanski <arozansk@redhat.com>
Cc: Richard Guy Briggs <rgb@redhat.com>,
	containers@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, linux-audit@redhat.com,
	eparis@parisplace.org, pmoore@redhat.com, ebiederm@xmission.com,
	serge@hallyn.com, zohar@linux.vnet.ibm.com,
	viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org,
	linux-api@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH V6 05/10] audit: log creation and deletion of namespace instances
Date: Tue, 05 May 2015 10:46:44 -0400	[thread overview]
Message-ID: <2513346.AIlk1LAo6p@x2> (raw)
In-Reply-To: <20150505143119.GA4350@redhat.com>

On Tuesday, May 05, 2015 10:31:20 AM Aristeu Rozanski wrote:
> Hi Steve,
> 
> On Tue, May 05, 2015 at 10:22:32AM -0400, Steve Grubb wrote:
> > The requirements for auditing of containers should be derived from VPP. In
> > it, it asks for selectable auditing, selective audit, and selective audit
> > review. What this means is that we need the container and all its
> > children to have one identifier that is inserted into all the events that
> > are associated with the container.
> > 
> > With this, its possible to do a search for all events related to a
> > container. Its possible to exclude events from a container. Its possible
> > to not get any events.
> > 
> > The requirements also call out for the identification of the subject. This
> > means that the event should be bound to a syscall such as clone, setns, or
> > unshare.
> > 
> > Also, any user space events originating inside the container needs to have
> > the container ID added to the user space event - just like auid and
> > session id.
> > 
> > Recording each instance of a name space is giving me something that I
> > cannot use to do queries required by the security target. Given these
> > events, how do I locate a web server event where it accesses a watched
> > file? That authentication failed? That an update within the container
> > failed?
> > 
> > The requirements are that we have to log the creation, suspension,
> > migration, and termination of a container. The requirements are not on
> > the individual name space.
> > 
> > Maybe I'm missing how these events give me that. But I'd like to hear how
> > I  would be able to meet requirements with these 12 events.
> 
> what about cases you don't use lxc, libvirt to create namespaces?

There's a pretty good chance that we don't care. We've had file system 
namespace for about 8 or 9 years and we never needed to have a namespace 
identifier added.

> It's easier if the logging is done by namespaces and in case they're created
> by any container manager, it can generate a new event notifying it
> created a container named "foo" with these namespaces: x, y, z, w and
> from that you can piece together everything that happened.

OK, if they are emitted they should be an auxiliary record to clone, setns, or 
unshare system calls. But lets go down this path. We have 6 or so name spaces. 
These identifiers will need to be added to every single event in the system so 
that I can figure out what event belongs to which container. 


> Userspace tools can change to adapt to using namespaces and the idea of
> container to make it easier to lookup for events instead of relying on a
> number that might not be there (think someone using unshare, ip netns, ...).

That's what I am trying to do...figure out how I can these identifiers to see if 
this actually solves the problem. This is why I wanted to state the actual 
requirements. Its easy to lose the overall view.

Also, I am concerned about how much extra disk space this is going to eat up.


> It was discussed in the past and having the concept of "container" in
> kernel space and it's not going to happen, so userspace should deal with
> it.

This is what I am asking for help with. How do I locate an authentication 
event from container using the information in these events?

-Steve

  parent reply	other threads:[~2015-05-05 14:46 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-17  7:35 [PATCH V6 00/10] namespaces: log namespaces per task Richard Guy Briggs
2015-04-17  7:35 ` Richard Guy Briggs
2015-04-17  7:35 ` [PATCH V6 08/10] fork: audit on creation of new namespace(s) Richard Guy Briggs
     [not found] ` <cover.1429252659.git.rgb-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-04-17  7:35   ` [PATCH V6 01/10] namespaces: expose ns_entries Richard Guy Briggs
2015-04-17  7:35     ` Richard Guy Briggs
2015-04-17  7:35   ` [PATCH V6 02/10] proc_ns: define PROC_*_INIT_INO in terms of PROC_DYNAMIC_FIRST Richard Guy Briggs
2015-04-17  7:35     ` Richard Guy Briggs
2015-04-17  7:35   ` [PATCH V6 03/10] audit: log namespace ID numbers Richard Guy Briggs
2015-04-17  7:35     ` Richard Guy Briggs
2015-04-17  7:35   ` [PATCH V6 04/10] audit: initialize at subsystem time rather than device time Richard Guy Briggs
2015-04-17  7:35     ` Richard Guy Briggs
2015-04-17  7:35   ` [PATCH V6 05/10] audit: log creation and deletion of namespace instances Richard Guy Briggs
2015-04-17  7:35     ` Richard Guy Briggs
     [not found]     ` <11270b0b1afd0a25b108915673e1e1b38dfeeafa.1429252659.git.rgb-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-05 14:22       ` Steve Grubb
2015-05-05 14:22         ` Steve Grubb
2015-05-05 14:31         ` Aristeu Rozanski
2015-05-05 14:31           ` Aristeu Rozanski
     [not found]           ` <20150505143119.GA4350-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-05 14:46             ` Steve Grubb [this message]
2015-05-05 14:46               ` Steve Grubb
2015-05-05 14:56         ` Eric W. Biederman
2015-05-05 14:56           ` Eric W. Biederman
     [not found]           ` <87pp6fhy4c.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-05 15:16             ` Steve Grubb
2015-05-05 15:16               ` Steve Grubb
2015-05-12 19:57         ` Richard Guy Briggs
2015-05-12 19:57           ` Richard Guy Briggs
     [not found]           ` <20150512195759.GA9832-bcJWsdo4jJjeVoXN4CMphl7TgLCtbB0G@public.gmane.org>
2015-05-14 14:57             ` Steve Grubb
2015-05-14 14:57           ` Steve Grubb
2015-05-14 14:57             ` Steve Grubb
2015-05-14 15:12             ` LC Bruzenak
2015-05-14 15:42             ` Eric W. Biederman
2015-05-14 15:42               ` Eric W. Biederman
     [not found]               ` <87iobvnp1t.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-14 16:21                 ` Steve Grubb
2015-05-14 16:21                   ` Steve Grubb
2015-05-14 16:36                   ` LC Bruzenak
2015-05-15  2:03                 ` Richard Guy Briggs
2015-05-15  2:03               ` Richard Guy Briggs
2015-05-15  2:03                 ` Richard Guy Briggs
2015-05-14 15:42             ` Eric W. Biederman
2015-05-14 19:19             ` Paul Moore
2015-05-15  1:31               ` Eric W. Biederman
2015-05-15  1:31               ` Eric W. Biederman
2015-05-15  1:31                 ` Eric W. Biederman
     [not found]                 ` <87bnhmbp8e.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-15  2:25                   ` Richard Guy Briggs
2015-05-15 13:17                   ` Steve Grubb
2015-05-15 21:01                   ` Paul Moore
2015-05-15  2:25                 ` Richard Guy Briggs
2015-05-15 13:17                 ` Steve Grubb
2015-05-15 13:17                   ` Steve Grubb
2015-05-15 14:51                   ` Eric W. Biederman
2015-05-15 14:51                     ` Eric W. Biederman
2015-05-15 21:01                 ` Paul Moore
2015-05-15  2:32               ` Richard Guy Briggs
     [not found]                 ` <20150515023221.GC965-bcJWsdo4jJjeVoXN4CMphl7TgLCtbB0G@public.gmane.org>
2015-05-15  6:23                   ` Andy Lutomirski
2015-05-15  6:23                 ` Andy Lutomirski
2015-05-15  6:23                   ` Andy Lutomirski
     [not found]                   ` <CALCETrWzM4+Vs8OVJWBcWJfbR_DRSb+e7SmUyy6CS4sHQaTkRw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-15 12:38                     ` Steve Grubb
2015-05-15 12:38                       ` Steve Grubb
2015-05-15 13:17                       ` Andy Lutomirski
2015-05-15 13:17                         ` Andy Lutomirski
2015-05-15 21:05                     ` Paul Moore
2015-05-15 21:05                       ` Paul Moore
2015-05-16  9:46                       ` Daniel J Walsh
2015-05-16  9:46                         ` Daniel J Walsh
2015-05-16 12:16                         ` Paul Moore
2015-05-16 14:46                           ` Eric W. Biederman
2015-05-16 14:46                             ` Eric W. Biederman
2015-05-16 14:46                             ` Eric W. Biederman
     [not found]                             ` <87r3qgpol6.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-16 22:49                               ` Paul Moore
2015-05-16 22:49                                 ` Paul Moore
2015-05-16 22:49                                 ` Paul Moore
2015-05-19 13:09                                 ` Richard Guy Briggs
     [not found]                                   ` <20150519130911.GB20131-bcJWsdo4jJjeVoXN4CMphl7TgLCtbB0G@public.gmane.org>
2015-05-19 14:27                                     ` Paul Moore
2015-05-19 14:27                                   ` Paul Moore
     [not found]                                 ` <CAHC9VhQs6pxFC3dvZic5XzuJr1xdJZyPjXdBoipwY3OOkng0ng-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-19 13:09                                   ` Richard Guy Briggs
     [not found]                           ` <CAHC9VhRKSK9=9qPF3dgALS=x1g3LinNeQvuhNV5TvQ=D7Szuag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-16 14:46                             ` Eric W. Biederman
     [not found]                         ` <555711FA.50703-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-05-16 12:16                           ` Paul Moore
2015-05-15  2:32               ` Richard Guy Briggs
2015-05-14 19:19             ` Paul Moore
2015-05-15  0:48             ` Richard Guy Briggs
2015-05-15  0:48             ` Richard Guy Briggs
2015-05-15  0:48               ` Richard Guy Briggs
2015-05-15 20:26               ` Paul Moore
     [not found]               ` <20150515004855.GB10526-bcJWsdo4jJjeVoXN4CMphl7TgLCtbB0G@public.gmane.org>
2015-05-15  1:10                 ` Oren Laadan
2015-05-15  2:11                   ` Richard Guy Briggs
2015-05-15  2:11                     ` Richard Guy Briggs
     [not found]                     ` <20150515021126.GA965-bcJWsdo4jJjeVoXN4CMphl7TgLCtbB0G@public.gmane.org>
2015-05-15 13:19                       ` Daniel J Walsh
2015-05-15 13:19                         ` Daniel J Walsh
     [not found]                   ` <CAA4jN2bgynVTwF+owtXgq06JMLQJpy_qokpD0mAguNYeDxmh1A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-05-15  2:11                     ` Richard Guy Briggs
2015-05-15 20:42                     ` Paul Moore
2015-05-15 20:42                   ` Paul Moore
2015-05-15 20:42                     ` Paul Moore
2015-05-15 20:26                 ` Paul Moore
2015-05-12 19:57         ` Richard Guy Briggs
2015-04-17  7:35   ` [PATCH V6 06/10] audit: dump namespace IDs for pid on receipt of AUDIT_NS_INFO Richard Guy Briggs
2015-04-17  7:35     ` Richard Guy Briggs
2015-04-17  7:35   ` [PATCH V6 07/10] sched: add a macro to ref all CLONE_NEW* flags Richard Guy Briggs
2015-04-17  7:35     ` Richard Guy Briggs
     [not found]     ` <cf1ed24f71743ea7f85682f26f3185202a1f8a32.1429252659.git.rgb-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-04-17  8:18       ` Peter Zijlstra
2015-04-17  8:18         ` Peter Zijlstra
     [not found]         ` <20150417081843.GE23123-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-04-17 15:42           ` Richard Guy Briggs
2015-04-17 15:42         ` Richard Guy Briggs
     [not found]           ` <20150417154250.GA26233-bcJWsdo4jJjeVoXN4CMphl7TgLCtbB0G@public.gmane.org>
2015-04-17 17:41             ` Peter Zijlstra
2015-04-17 17:41               ` Peter Zijlstra
     [not found]               ` <20150417174131.GL23123-ndre7Fmf5hadTX5a5knrm8zTDFooKrT+cvkQGrU6aU0@public.gmane.org>
2015-04-17 22:00                 ` Richard Guy Briggs
2015-04-17 22:00                   ` Richard Guy Briggs
2015-04-17  7:35   ` [PATCH V6 08/10] fork: audit on creation of new namespace(s) Richard Guy Briggs
2015-04-17  7:35   ` [PATCH V6 09/10] audit: log on switching namespace (setns) Richard Guy Briggs
2015-04-17  7:35     ` Richard Guy Briggs
2015-04-17  7:35   ` [PATCH V6 10/10] audit: emit AUDIT_NS_INFO record with AUDIT_VIRT_CONTROL record Richard Guy Briggs
2015-04-17  7:35     ` Richard Guy Briggs
2015-04-21  4:33   ` [PATCH V6 00/10] namespaces: log namespaces per task Eric W. Biederman
2015-04-21  4:33     ` Eric W. Biederman
     [not found]     ` <87vbgqw163.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-04-23  3:07       ` Richard Guy Briggs
2015-04-23  3:07         ` Richard Guy Briggs
2015-04-23 20:44         ` Richard Guy Briggs
     [not found]           ` <20150423204429.GA25794-bcJWsdo4jJjeVoXN4CMphl7TgLCtbB0G@public.gmane.org>
2015-04-24 19:36             ` Eric W. Biederman
2015-04-24 19:36           ` Eric W. Biederman
     [not found]             ` <87bnid9v4f.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-04-28  2:05               ` Richard Guy Briggs
2015-04-28  2:05                 ` Richard Guy Briggs
     [not found]                 ` <20150428020555.GB20713-bcJWsdo4jJjeVoXN4CMphl7TgLCtbB0G@public.gmane.org>
2015-04-28  2:16                   ` Eric W. Biederman
2015-04-28  2:16                     ` Eric W. Biederman
2015-05-08 14:42                     ` Richard Guy Briggs
     [not found]                     ` <87zj5tgfpb.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2015-05-08 14:42                       ` Richard Guy Briggs
     [not found]         ` <20150423030751.GA6712-bcJWsdo4jJjeVoXN4CMphl7TgLCtbB0G@public.gmane.org>
2015-04-23 20:44           ` Richard Guy Briggs

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=2513346.AIlk1LAo6p@x2 \
    --to=sgrubb-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=arozansk-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
    --cc=eparis-FjpueFixGhCM4zKIHC2jIg@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-audit-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=pmoore-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org \
    --cc=zohar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.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.