From: Daniel J Walsh <dwalsh@redhat.com>
To: "Christopher J. PeBenito" <cpebenito@tresys.com>
Cc: Joshua Brindle <jbrindle@tresys.com>,
Stephen Smalley <sds@tycho.nsa.gov>,
Eric Paris <eparis@redhat.com>, selinux <selinux@tycho.nsa.gov>,
jmorris@namei.org, method@manicmethod.com,
Karl MacMillan <kmacmillan@tresys.com>,
setools <setools@tresys.com>,
pmoore@hp.com, Todd Miller <tmiller@tresys.com>
Subject: Re: how to implement permissive domains + an old bug
Date: Mon, 25 Feb 2008 16:09:51 -0500 [thread overview]
Message-ID: <47C32E9F.7060601@redhat.com> (raw)
In-Reply-To: <1203973402.32061.158.camel@gorn>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Christopher J. PeBenito wrote:
> On Mon, 2008-02-25 at 15:40 -0500, Joshua Brindle wrote:
>> Stephen Smalley wrote:
>>> On Mon, 2008-02-25 at 09:53 -0500, Joshua Brindle wrote:
>>>> Daniel J Walsh wrote:
>>>>> Stephen Smalley wrote:
>>>>>> On Fri, 2008-02-15 at 15:17 -0500, Joshua Brindle wrote:
>>>>>>> Stephen Smalley wrote:
>>>>>>>> Crazy idea: Make "permissive" a special type attribute name, and
>>>>>>>> mark types that should be permissive with that attribute via
>>>>>>>> typeattribute. Then let the usual type attribute handling
>>>>>>>> propagate it throughout.
>>>>>>>>
>>>>>>> Aaahhh! Here we got rid of those magic mls attributes and you
>>>>>>> want to add more :)
>>>>>>>
>>>>>>> I'd much prefer a proper feature instead of special cased
>>>>>>> attribute names, just me though.
>>>>>> I'm not as convinced, so possibly others should chime in too.
>>>>>>
>>>>>> Type attributes are intended to indicate "properties" of types. It
>>>>>> just happens that at present, the names and semantics of those
>>>>>> properties are entirely defined within the policy configuration.
>>>>>> But reserving some attribute names to have well-defined semantics
>>>>>> encoded in the policy engine itself seems a natural extension, and
>>>>>> we did do that in the original MLS implementation for trusted
>>>>>> subjects (and I didn't view that as necessarily a bad thing).
>>>>>>
>>>>>> Introducing a new language primitive each time we want to mark a
>>>>>> set of types for special handling by the policy engine logic seems
>>>>>> less clean to me, even aside from implementation aspects.
>>>>>>
>>>>>> It also makes Eric's life a lot simpler ;) No need to modify
>>>>>> checkpolicy or the policy module logic at all. A new kernel policy
>>>>>> version would still be required, but we would get a side benefit
>>>>>> from it in addition to permissive domains - preservation of type
>>>>>> attribute names in the kernel policy.
>>>>>>
>>>> I understand. I want to note though, that the TE part of the SS has
>>>> not had policy logic built into it, at least since I've been using
>>>> SELinux. The old hardcoded attributes were part of the hardcoded MLS
>>>> logic but we've even replaced that with a flexible system.
>>>>
>>>> I'm going to borrow a page from Chad's book here and say, during
>>>> SELinux tutorials and classes we reiterate "types and attributes have
>>>> no meaning other than what you give them in policy" say it over and
>>>> over til it sink in.. Oh yea, and there is this one that does (d'oh).
>>>>
>>>>>>> The last time we got rid of magic attributes with new contraints,
>>>>>>> maybe we need an 'unconstrain' :)
>>>>> I tend to agree. I think we are making policy writing far to
>>>>> complex, with additional semantics.
>>>>>
>>>> Eh? When was the last time you saw a user have to modify a constraint
>>>> or mlsconstraint? Those additional semantics were to make the policy
>>>> more flexible, the users almost never interact with them.
>>> I think that's the point - here we want users to be able to
>>> make existing domains permissive or introduce permissive
>>> domains w/o having to write or modify a constraint at all.
>>>
>> It wouldn't require modifying a constraint any more than making
>> something mls privileged currently does.
>>
>>> Also, this notion of permissive domains goes beyond the
>>> existing security server interface. As I recall, it doesn't
>>> just change what gets returned by security_compute_av() but
>>> rather is something that the AVC queries (based on SID) on
>>> the permission denied code path, like current enforcing mode.
>>>
>> Even better, that means we are using a magic attribute (part of the TE
>> system) to change the behavior of the avc. AFAIK nothing in the policy
>> really changes the avc behavior (right?).
>>
>> I don't want to stand in the way of this feature or anything, I'm just
>> concerned about doing it in a hacky way vs. something more elegant. I'd
>> like to hear others opinions, Chris? Todd?
>
> I don't like the magic attributes as permissive is a mechanism option.
> It has no meaning in the policy, only in the enforcement. I'd really
> prefer some other option in selinuxfs or a proc/pid/attr, but since that
> doesn't seem to be an option, I'd rather have a policy primitive.
>
I would really rather just have it done. As we continue to talk about
the feature 9 months after it was suggested. :^(
Fedora 9 Beta 1 Freeze is March 4th...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iEYEARECAAYFAkfDLp4ACgkQrlYvE4MpobMKYwCgrCFKAhS95iqlZMcgE24VPVYQ
nW4Anj97+OgRj2WQK+tYduuFipku1OrG
=WLRn
-----END PGP SIGNATURE-----
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
next prev parent reply other threads:[~2008-02-25 21:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-15 17:50 how to implement permissive domains + an old bug Eric Paris
2008-02-15 18:14 ` Stephen Smalley
2008-02-15 18:35 ` Joshua Brindle
2008-02-15 18:57 ` Stephen Smalley
2008-02-15 19:43 ` Eric Paris
2008-02-15 19:54 ` Stephen Smalley
2008-02-15 20:16 ` Stephen Smalley
2008-02-15 20:17 ` Joshua Brindle
2008-02-25 13:51 ` Stephen Smalley
2008-02-25 14:01 ` Daniel J Walsh
2008-02-25 14:53 ` Joshua Brindle
2008-02-25 19:48 ` Stephen Smalley
2008-02-25 20:16 ` Eric Paris
2008-02-25 20:40 ` Joshua Brindle
2008-02-25 21:03 ` Christopher J. PeBenito
2008-02-25 21:09 ` Daniel J Walsh [this message]
2008-02-25 21:52 ` Todd Miller
2008-02-25 22:13 ` Daniel J Walsh
2008-02-25 21:08 ` Stephen Smalley
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=47C32E9F.7060601@redhat.com \
--to=dwalsh@redhat.com \
--cc=cpebenito@tresys.com \
--cc=eparis@redhat.com \
--cc=jbrindle@tresys.com \
--cc=jmorris@namei.org \
--cc=kmacmillan@tresys.com \
--cc=method@manicmethod.com \
--cc=pmoore@hp.com \
--cc=sds@tycho.nsa.gov \
--cc=selinux@tycho.nsa.gov \
--cc=setools@tresys.com \
--cc=tmiller@tresys.com \
/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.