Re: odd policy behavior

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

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Stephen Smalley wrote:
> On Wed, 2009-02-04 at 11:12 -0500, Daniel J Walsh wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Stephen Smalley wrote:
>>> On Tue, 2009-02-03 at 16:31 -0600, Xavier Toth wrote:
>>>> On Tue, Feb 3, 2009 at 3:49 PM, Xavier Toth <txtoth@xxxxxxxxx> wrote:
>>>>> On Tue, Feb 3, 2009 at 3:28 PM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
>>>>>> On Tue, 2009-02-03 at 13:59 -0600, Xavier Toth wrote:
>>>>>>> On Tue, Feb 3, 2009 at 10:38 AM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
>>>>>>>> On Tue, 2009-02-03 at 10:28 -0600, Xavier Toth wrote:
>>>>>>>>> I have an app that wasn't working in enforcing but there are no AVCs.
>>>>>>>>> So I did 'semodule -DB' to see if there were any dontaudit denials and
>>>>>>>>> restarted the app. The problem is that the app then ran fine. So I
>>>>>>>>> tried load_policy which had no affect and 'semodule -B' which makes it
>>>>>>>>> work. Any ideas what could be happening? I've verified with 'semodule
>>>>>>>>> --list' that the module is loaded prior to doing the 'semodule -B'.
>>>>>>>> - How was the app failing?
>>>>>>> This is our security banner app that draw a window across the top of
>>>>>>> the screen with the users MLS range and with the appropriate
>>>>>>> background color. When it fails there is just a window with a gray
>>>>>>> background no text or color.
>>>>>>>
>>>>>>>> - Did you try running the app in permissive as well?
>>>>>>>> - Is this reproducible at all or are you unable to reproduce the
>>>>>>>> application failure now under any conditions?
>>>>>>>> - Did the app create/use any transient resources (temporary files,
>>>>>>>> system v ipc objects, etc) that could have prevented it from succeeding
>>>>>>>> on subsequent execution if they weren't properly cleaned up on prior
>>>>>>>> exit?
>>>>>>> After further investigation I found that a call to getseuserbyname for
>>>>>>> the login user is returning the user name passed in and nothing for
>>>>>>> the range which would be used in the banner. During our installation
>>>>>>> we don't explicitly map this user to a SELinux user but our experience
>>>>>>> has been that the when there is no mapping the user and range of the
>>>>>>> '__default__' login are returned. Indeed once I rebuild policy this
>>>>>>> appears to be what is happening. How rebuilding and reloading policy
>>>>>>> would affect this is unclear.
>>>>>> If the installed seusers file (i.e. /etc/selinux/$SELINUXTYPE/seusers)
>>>>>> did not exist originally or was unreadable (e.g. wrong context or mode),
>>>>>> then getseuserbyname() would behave the way you described.  Rebuilding
>>>>>> policy would have caused the regenerated seusers file to be installed,
>>>>>> possibly with different context or mode than the original state.
>>>>>>
>>>>>> --
>>>>>> Stephen Smalley
>>>>>> National Security Agency
>>>>>>
>>>>>>
>>>>> You nailed it for some reason seusers is SystemHigh. Still
>>>>> investigating ... Thanks
>>>>>
>>>>> Ted
>>>>>
>>>> The plot thickens. semodule -B causes seusers to be relabeled
>>>> SystemLow. restorecon /etc/selinux/mls/seusers causes the file to be
>>>> relabeled SystemHigh. Which is right?
>>> I don't think that semodule/libsemanage explicitly set the context of
>>> files they create, so they would just follow the default policy behavior
>>> (in this case, inheriting the level of the creating process and the type
>>> of the parent directory).
>>>
>>> restorecon just applies whatever the file_contexts configuration
>>> specifies, which appears to be SystemHigh in the mls policy.  I'm not
>>> sure if that is truly justified.
>>>
>> Since all the login programs have to read this file it should be at the
>> SystemLow, So that a login program running at a SystemLow can work.
> 
> Makes sense to me, but I assume that someone thought otherwise or it
> wouldn't have been marked as SystemHigh in the first place?  Does the
> LSPP impose a particular restriction on it?  There are
> other /etc/selinux files in file_contexts as well that are marked with
> SystemHigh (or to be precise, s15:c0.c1023) in the -mls policy.
> 
I would think they were trying to protect these files from being
written, but the assumption is wrong, since if I can write to
/etc/passwd I can override controls also, and that is SystemLow.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iEYEARECAAYFAkmJwLAACgkQrlYvE4MpobPXzQCgq8lCmOfRSh5WtVH83v9Y8iwb
l/kAn3DCoC4armEq2NgcP+Vwto6kbYHl
=7U1X
-----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