Re: mcs_systemhigh use

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

 



On Fri, 2010-06-11 at 00:48 +0800, Andy Warner wrote:
> 
> On 6/10/2010 7:21 PM, Christopher J. PeBenito wrote:
> > On Thu, 2010-06-10 at 19:12 +0800, Andy Warner wrote:
> >    
> >> On 6/10/2010 7:09 PM, Christopher J. PeBenito wrote:
> >>      
> >>> On Thu, 2010-06-10 at 17:15 +0800, Andy Warner wrote:
> >>>
> >>>        
> >>>> In the policy for the Trusted RUBIX DBMS, we assign file contexts
> >>>> using the following (only one representative dir, 'backups', shown):
> >>>>
> >>>> ifdef(`enable_mls',`
> >>>> /var/lib/RUBIXdbms/backups(/.*)?
> >>>> gen_context(system_u:object_r:rubix_backup_t,mls_systemhigh)
> >>>> ')
> >>>> ifdef(`enable_mcs',`
> >>>> /var/lib/RUBIXdbms/backups(/.*)?
> >>>> gen_context(system_u:object_r:rubix_backup_t,mcs_systemhigh)
> >>>> ')
> >>>>
> >>>> When using the mls policy, I get the expected level of mls_systemhigh
> >>>> (s15:c0.c1023). But when using the targeted policy, I get an
> >>>> unexpected value for mcs_systemhigh. I would expect to get
> >>>> s0:c0.c1023, but get s0. I have verified this behavior on Fedora 9 and
> >>>> 12. Is my assumption wrong about what mcs_systemhigh should be or am I
> >>>> missing something?
> >>>>
> >>>> Relevant output from 'semanage fcontext -l'
> >>>> /var/lib/RUBIXdbms/backups(/.*)?                   all files
> >>>> system_u:object_r:rubix_backup_t:s0
> >>>>
> >>>>          
> >>> Actually, you shouldn't need any of those ifdefs.  The gen_context()
> >>> macro is sensitive to if MLS or MCS is enabled.  The first parameter is
> >>> the first three fields of the context.  The second parameter is the MLS
> >>> label, and there is a third optional parameter to specify the MCS
> >>> categories for the file (there are no examples in refpolicy).  So this
> >>> is sufficient:
> >>>
> >>> /var/lib/RUBIXdbms/backups(/.*)?     gen_context(system_u:object_r:rubix_backup_t,mls_systemhigh,mcs_allcats)
> >>>
> >>> The thing to note is that gen_context() abstracts away the sensitivity
> >>> (s0) portion of the label, so there is an mcs_allcats macro.
> >>>
> >>>        
> >> Thanks for the reply. So, then is the mcs_systemhigh basically meaningless?
> >>      
> > Its useful for range transitions, eg:
> >
> > range_transition foo_t bar_t s0-mcs_systemhigh;
> >    
> In this case, whill mcs_systemhigh evaluate to s0 or s0:c0.c1023?

The latter.

> We use the following to allow a transition to system high, expecting for 
> mcs that to be s0:c0.c1023. Should we expect that behavior or should we 
> use mcs_allcats here as well?
> 
> ifdef(`enable_mls',`
>      range_transition $1 $2:process mls_systemhigh;
> ')
> ifdef(`enable_mcs',`
>      range_transition $1 $2:process mcs_systemhigh;
> ')

These are valid.

> > Perhaps we should consider changing the gen_context() macro to accept
> > mcs_systemhigh instead of mcs_allcats, for consistency.
> >    
> At first glance it would sure seem mcs_systemhigh and mcs_allcats would 
> (should?) evaluate to the same thing.

They don't.

mcs_systemhigh = s0:c0.c1024
mcs_allcats = c0.c1024

Which is why I'm saying we should probably get rid of mcs_allcats and
fix gen_context() to not add in the "s0:" for MCS.  Then we wouldn't
have this confusion.

-- 
Chris PeBenito
Tresys Technology, LLC
www.tresys.com | oss.tresys.com


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