From: Ole Kliemann <ole@plastictree.net>
To: Daniel J Walsh <dwalsh@redhat.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>,
Russell Coker <russell@coker.com.au>,
selinux@tycho.nsa.gov
Subject: Re: Information about XSELinux
Date: Thu, 19 Jul 2012 16:44:05 +0200 [thread overview]
Message-ID: <20120719144405.GB19890@telvanni> (raw)
In-Reply-To: <50081541.3040909@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3266 bytes --]
On Thu, Jul 19, 2012 at 10:10:09AM -0400, Daniel J Walsh wrote:
> On 07/19/2012 09:29 AM, Stephen Smalley wrote:
> > XSELinux is included in Fedora, but they don't enable it by default so it
> > doesn't get much testing. They took a different approach for isolating X
> > applications via nested Xephyr servers in their sandbox tool.
> >
>
> My opinion is that XAce or XSELinux works ok with the MLS model, but not with
> the type enforcement model. In my opinion isolating applications within the
> own sandbox/containers is a simpler and more sustainable approach.
>
> XClients that get a permission denied, are likely to misbehave (die) since
> they were coded with the assumption that they either get full access to X or
> no access to X.
>
> Finally trying to write confinement policy for a type enforcement model on X
> is very difficult, how do I isolate two instances of firefox? If Firefox
> execs a open office, how does this libreoffice interact with the existing
> libreoffice that might be running under a different context. How does
> cut/paste work, how about one window obscuring another, transparent windows
> ... Way too complicated. Sandbox model is just total separation. They do
> not even know the other apps exist.
Xephyr is what I have been using so far under Ubuntu. I don't
know how it runs under Fedora, but I notice here a performance
decrease. Sluggish cursor, sluggish scrolling etc.
So I wanted to get away from this. But I think my goals are
simple.
Right now I have one (standard linux) user as main user and
several (standard linux) users as subusers. I have a suid root
program that checks a database on disk and allows the main user
to drop privileges to one of his subusers. I use a subuser for
each job (mail, browser, writing etc.).
Seperation under X is achieved using "terminal-chains" (mainuser
starts a subuser with X access who starts a terminal and a
subuser of his own with no X access who than runs the shell
inside the terminal - an idea my brother had years ago), or using
"xephyr-chains" which I think is more or less how sandbox does
it.
Terminal-chains are fast but have no X, xephyr-chains have X but
lose performance.
What I want to do is to extend the standard linux user seperation
to X. Assign the mainuser and every subuser a context and then
make sure X-applications in one context can't mess with those in
other contexts. Selinux here has only to make sure X is secured.
I'll still be using different linux users for every context.
I don't need no "fancy stuff" like automatic domain transitions
using certain applications as entrypoints. I can perfectly
understand the beauty of this in an integrated desktop
environment. But something in my wants simplicity when it comes
to security concepts. ;-)
I'm not exactly sure how MLS works, but I'd intuitively would
say, my approach is more MLS-like because change of privileges
only goes in one direction. Privileges are only dropped, never
gained. (Mainuser drops to subuser, subuser never elevates back
to mainuser or any other subuser.)
I started working on a policy for X using TE. Do you think, what
I want could be better expressed in MLS?
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2012-07-19 14:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-16 16:10 Information about XSELinux Ole Kliemann
2012-07-16 18:23 ` Russell Coker
2012-07-16 22:18 ` Ole Kliemann
2012-07-19 13:29 ` Stephen Smalley
2012-07-19 14:10 ` Daniel J Walsh
2012-07-19 14:44 ` Ole Kliemann [this message]
2012-07-27 4:02 ` Russell Coker
2012-08-07 12:53 ` Ole Kliemann
2012-07-17 17:31 ` James Carter
[not found] <1342534966.11916.YahooMailClassic@web87705.mail.ir2.yahoo.com>
2012-07-19 14:18 ` Ole Kliemann
2012-07-19 17:01 ` Richard Haines
2012-07-23 14:12 ` Ted Toth
2012-07-24 11:05 ` Ole Kliemann
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=20120719144405.GB19890@telvanni \
--to=ole@plastictree.net \
--cc=dwalsh@redhat.com \
--cc=russell@coker.com.au \
--cc=sds@tycho.nsa.gov \
--cc=selinux@tycho.nsa.gov \
/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.