Re: rbacsep: collapsing xserver

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

 



Xavier Toth wrote:
> On Wed, May 28, 2008 at 1:59 PM, Eamon Walsh <ewalsh@xxxxxxxxxxxxx> wrote:
>> Christopher J. PeBenito wrote:
>>> On Wed, 2008-05-28 at 11:42 -0500, Joe Nall wrote:
>>>
>>>> On Wed, May 28, 2008 at 11:02 AM, Christopher J. PeBenito
>>>> <cpebenito@xxxxxxxxxx> wrote:
>>>>
>>>>> On Wed, 2008-05-28 at 10:16 -0500, Joe Nall wrote:
>>>>>
>>>>>> On Wed, May 28, 2008 at 9:38 AM, Christopher J. PeBenito
>>>>>> <cpebenito@xxxxxxxxxx> wrote:
>>>>>>
>>>>>>> I've got to the point where I am collapsing the derived types in the
>>>>>>> xserver module.  It would be nice to collapse all of the X server
>>>>>>> domains into xserver_t, but we have xdm_xserver_t which has
>>>>>>> permissions
>>>>>>> greater than user_xserver_t, staff_server_t, etc.  However, just about
>>>>>>> everyone runs their xserver in xdm_xserver_t due to logging in via
>>>>>>> xdm.
>>>>>>> Thoughts on collapsing all of the xservers anyway?
>>>>>>>
>>>>>> Why is the way the xserver gets launched important once it is running?
>>>>>>
>>>>> If you log into the console and run startx, your xserver is
>>>>> user_xserver_t, staff_xserver_t, etc.  If you log in via a display
>>>>> manager, your xserver is xdm_xserver_t, since the server is started by
>>>>> xdm before a user logs in.  So you lose separation if you log in via
>>>>> xdm.
>>>>>
>>>> Understood.
>>>>
>>>>
>>>>> There have been suggestions about either restarting the xserver or
>>>>> dyntransitioning it to the correct context after logging in, but nothing
>>>>> materialized on that.
>>>>>
>>>>>
>>>>>> Does that change when X is an object manager?
>>>>>>
>>>>> No.
>>>>>
>>>> Poorly worded question. _Should_ that change when X is a object manager?
>>>>
>>> We would certainly prefer that each role always has their derived type
>>> xserver (or role is set on xserver, if rbacsep succeeds), regardless if
>>> its an object manager or not.
>>>
>> I have always disliked xdm_xserver_t and its associated policy shenanigans
>> (what if someone creates a role named "xdm"?)
>>
>> The problem has always been the display manager behavior described above.
>>  However this can be solved in at least three ways: 1) Restart the X server
>> after the user logs in.  2) Have the X server setcon itself to the new
>> context.  3) Multi-user switching where xdm stays up all the time and users
>> get new X servers on different consoles.
>>
>> The easiest solution for me to work on is 2) because I don't have to touch
>> the GDM code.  I'd like to see rbacsep succeed though.
>>
>>>> What is the driver for the derived types? User preference files in
>>>> their home directory?
>>>>
>>
>> There's some argument to be made that the X server is part of the user's
>> session.  For example, in mulit-user switching there is more than one server
>> running, one for each user.
>>
>> If rbacsep succeeds then the derived types will go away regardless.
>>
>>>>>> On a related topic, what is the type enforcement strategy for window
>>>>>> managers?
>>>>>>
>>>>> They currently run in the user's context.  The basic templates in the
>>>>> policy should still allow for separations.  The policy for X objects is
>>>>> still immature, so I'm definitely open to suggestions.
>>>>>
>>>> I did some brief experiments with the X server in MLS enforcing mode a
>>>> while back and it looked like a separate type would be required to
>>>> avoid giving the user silly levels of privilege. I'll try to get back
>>>> to those experiments next week.
>>>>
>> The window manager must have full access to all windows on the screens that
>> it's managing.  In non-MLS this means at least full privileges on the role
>> and probably for other roles too, if you're going to be popping up sysadm
>> windows.  In MLS this means access across all levels, there's really no way
>> around this.
>>
>>
>>>> Any opinions on spitting the display manager (gdm/xdm) policy out of
>>>> the xserver policy? The current xserver policy is quite a bit bigger
>>>> than apache and several times the average policy size (te + if).
>>>>
>>> You can blame me for that.  The xdm policy used to be separate before
>>> refpolicy, but it was so intertwined with the xserver policy that there
>>> wasn't a sane way to write the policies separately and still keep the
>>> refpolicy encapsulation.  If we collapse all xservers into xserver_t, it
>>> may be possible to separate xdm again.  If not, xdm will be put into a
>>> tunable when we get real tunable support in the compiler.
>>>
>>
>> --
>> Eamon Walsh <ewalsh@xxxxxxxxxxxxx>
>> National Security Agency
>>
>>
>> --
>> 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.
>>
> 
> From http://www.gnome.org/projects/gdm/docs/2.20/overview.html:
> 
> "On Solaris, GDM (since version 2.8.0.3) uses the SDTLOGIN interface
> after user authentication to tell the X server to be restarted as the
> user instead of as root for added security. When the user's session
> exits, the GDM daemon will run the PostSession script as root."
> 
> Couldn't we utilize the same functionality on Fedora?
> 
> 
> --
> 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.
Probably better asked on the Fedora List.

--
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