Re: Strange context on unix_stream_socket

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

 



On Thu, Jan 30, 2014 at 03:10:21PM +0000, Richard Haines wrote:
> Out of idle curiosity would a range_transition rule resolve this problem ?
> 
> range_transition source target : unix_stream_socket s0;

It wouldn't help as the current labeling behavior is a function 
of types _and ranges_ while range_transition is merely a function 
of types. As far as I can see the current behavior cannot be 
expressed with current policy language.

> 
> 
> 
> ----- Original Message -----
> > From: Stephen Smalley <sds@xxxxxxxxxxxxx>
> > To: Ole Kliemann <ole@xxxxxxxxxxxxxxx>
> > Cc: selinux@xxxxxxxxxxxxx
> > Sent: Tuesday, 28 January 2014, 17:22
> > Subject: Re: Strange context on unix_stream_socket
> > 
> > On 01/28/2014 12:12 PM, Ole Kliemann wrote:
> >>  On Mon, Jan 27, 2014 at 11:20:23AM -0500, Stephen Smalley wrote:
> >>>  On 01/26/2014 05:46 PM, Ole Kliemann wrote:
> >>>>  I have written my own little socket test program. Process P1 with 
> >>>>  context TYPE1:RANGE1 creates a socket and listens on it. P2 with 
> >>>>  context TYPE2:RANGE2 connects to this socket.
> >>>> 
> >>>>  Process P1 accepts the connection. The socket created throught 
> >>>>  accept() in P1 has actually the context TYPE1:RANGE2.
> >>>> 
> >>>>  Is this expected behavior? 
> >>> 
> >>>  Yes.  That was the behavior desired by the MLS/LSPP community, as they
> >>>  want the socket to mirror the client level for multi-level servers, and
> >>>  in the single-level server case, you are only allowed to connect at the
> >>>  same level.
> >> 
> >>  Thank you for the clarification.
> >> 
> >>  Is there no way to control this? To state more precisly: I can 
> >>  very well _connect_ to everything the policy allows me to, I then 
> >>  just cannot use this connection. That's a bit weird.
> >> 
> >>  Although I admit, the problems arise from my specific situation 
> >>  where I have one realm the consist of only one type but is 
> >>  separated by MLS and another realm that is MLS-ignorant and uses 
> >>  TE. All vectors running between the two realms are also only 
> >>  controll by TE. When I now use sockets between the MLS and 
> >>  non-MLS realm these connections should only be controlled by TE,
> >>  but as a result of above mentioned labeling behavior, MLS 
> >>  suddenly gets in the way.
> >> 
> >>  I can imagine, in an MLS-only environment this behavior makes 
> >>  more sense; specificly in the case of multi-level servers. All 
> >>  the more desirable it would be if the policy was to make such 
> >>  labeling decisions at the discretion of the policy writer.
> > 
> > Yes, in prior implementations we allowed it to be configurable as a
> > transition on the listening socket security context and the incoming
> > packet security context.  That would be preferable IMHO, but is not
> > possible today without kernel code changes.
> > 
> > 
> > _______________________________________________
> > Selinux mailing list
> > Selinux@xxxxxxxxxxxxx
> > To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
> > To get help, send an email containing "help" to 
> > Selinux-request@xxxxxxxxxxxxx.
> >

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.

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

  Powered by Linux