Re: "Policy inclusion" tool ... ?

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

 



On Tue, 2009-06-30 at 11:53 -0700, Tom London wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> I quite often am testing the latest Fedora selinux-policy packages
> against Fedora Rawhide.
> 
> When I bump into SELinux policy "slippage" with new packages and
> components, I typically email off the evidence to Dan Walsh, and
> create some local policy "fixes" to patch around the potholes.
> 
> Typically, Dan fixes these pretty quickly.  I am then left with the
> following question: Does the currently installed policy "include" the
> rules added by my local .{te,pp} fixes.
> 
> Of course, I can "semodule -r" the local module and then try to
> recreate the trigger, but this is sometimes not all that easy to do.
> 
> What would be handy would be a tool that would check a .{te,pp} file
> against the currently running  policy, something like "se-is-included
> localfoo.{te,pp}".
> 
> I would think this could be of interest beyond my use case.
> 
> As a quick and dirty hack, I composed the following shell script to
> leverage "sesearch":
> 
> #!/bin/bash
> 
> while read a b c d e
> do
>        if [ "$a" == "allow" ]; then
>                source=$b
>                target=${c%%:*}
>                class=${c##*:}
>                if [ "$target" == "self" ]; then
>                        target=$source
>                fi
>                echo "sesearch --allow -s $source -t $target -c $class"
>                sesearch --allow -s $source -t $target -c $class
>        fi
> done
> 
> Is something like this more generally interesting/useful?  Of course,
> I'm certain there are better ways to implement this (e.g., parse the
> .pp file instead of the .te file, handle more stuff from the modules,
> etc.) but is the use of interest?

Yes, that seems useful.

I wouldn't invest in parsing .pp files at this point, as we anticipate
phasing them out in favor of source modules.

What your script won't presently handle are things like adding a type
attribute to a type in your module and thereby changing the expansion of
an allow rule in another module.  At present, I think the only way to
truly check that the module is completely subsumed by the policy would
be to take the policy before and after module insertion and sediff it.

-- 
Stephen Smalley
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.

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

  Powered by Linux