Re: how to implement permissive domains + an old bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----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@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux