From: Alexander Larsson <alexl-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
Serge Hallyn
<serge.hallyn-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org>
Subject: Re: Limiting access to abstract unix domain sockets
Date: Thu, 11 Dec 2014 21:32:24 +0100 [thread overview]
Message-ID: <1418329944.9942.12.camel@redhat.com> (raw)
In-Reply-To: <87zjauatbt.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
On tor, 2014-12-11 at 13:18 -0600, Eric W. Biederman wrote:
> Serge Hallyn <serge.hallyn-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org> writes:
>
> > Quoting Alexander Larsson (alexl-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org):
> >> I'm working on using container technology to sandbox desktop
> >> applications, and I've run into an issue with abstract unix domain
> >> sockets. Generally unix domain sockets work fine in a container
> >> situation because they are naturally namespaced via the filesystem
> >> namespace.
> >>
> >> However, abstract socket addresses are global to the *network*
> >> namespace. This means that if you need to share the host network
> >> namespace (typically so you have full ip networking access) you can't
> >> limit access to *any* service that listens to an abstract unix socket.
> >>
> >> I don't particularly need to use abstract sockets, so it would be ok to
> >> just disallow its use in the container. I've looked at using seccomp for
> >> this, but it doesn't seem to help here, as it needs to dereference the
> >> socket address to tell if its abstract or not.
> >>
> >> Does anyone have any idea how to do this?
> >
> > You should be able to use recent apparmor or selinux.
>
> Agreed. If you are trying to firewall an application the lsm's are the
> firewall mechanism we have.
>
> If you are building an application from scratch I would tend to
> recommend the use of privilege separation, and only allowing the
> ``privileged'' part of your application to setup network sockets.
>
> To me one of the scaries things an application can have is a network
> socket to the outside world.
Well, a great many apps don't need network access. Like say a game. For
these there would not be a problem, just give them their own network
namespace.
But, if we're talking about an existing (not privilege separated)
complex networking app, say an email client. How would you recommend
that such an app be contained (network-wise) in a generic framework? We
could give it its own network and IP that we NAT. But is this really
more "secure" in any sense? The app can still send stuff on the outside
network. I guess the inability to handle inbound traffic helps, but is
this all?
next prev parent reply other threads:[~2014-12-11 20:32 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-11 17:36 Limiting access to abstract unix domain sockets Alexander Larsson
[not found] ` <1418319385.9942.9.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-12-11 17:49 ` Serge Hallyn
2014-12-11 19:18 ` Eric W. Biederman
[not found] ` <87zjauatbt.fsf-JOvCrm2gF+uungPnsOpG7nhyD016LWXt@public.gmane.org>
2014-12-11 20:32 ` Alexander Larsson [this message]
[not found] ` <1418329944.9942.12.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-12-12 3:38 ` Serge Hallyn
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=1418329944.9942.12.camel@redhat.com \
--to=alexl-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
--cc=serge.hallyn-GeWIH/nMZzLQT0dZR+AlfA@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.