Re: [RFC] Install SELinux policies from rpm package header

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

 




On Jul 13, 2009, at 12:40 PM, Joshua Brindle wrote:

Joe Nall wrote:

On Jul 13, 2009, at 11:15 AM, Chad Sellers wrote:

On 7/10/09 4:26 PM, "Joshua Brindle" <jbrindle@xxxxxxxxxx> wrote:

From: James Carter [mailto:jwcart2@xxxxxxxxxxxxx]

Its alot worse than that. What about files on backup
drives? Offline drives?
transient files that will get relabeled to something inappropriate? I'm not confortable relabeling databases with potentially sensitive
data to var_lib_t because mysql was uninstalled.


The argument seems to be for removing the ability to remove modules.
It would be the roach motel style of policy management.


I like it, policies check in but don't check out. I haven't heard an
argument about 1) how I'm crazy and wrong or 2) how to keep systems
running as expected otherwise though.

There's certainly a case for leaving all policy installed. Policy is
configuration data, which RPM also leaves installed when removing
packages.
We could easily treat policy the same.

Our app has 140 rpms that install policy. They install in the %post and
do a restorecon of the relevant installed files and
/etc/selinux/mls/modules. Daemons are stopped in the %preun. Policy is removed in the %postun and more restorecon occurs. The biggest annoyance
with this approach is the 140 individual transactions are ssllooww.


Yes, if you want to test out the patch sent to the rpm list and report results with lots of policy packages that would be awesome :)

I would really like to see policy batched up and installed early in the transaction. I think blindly leaving the policy behind on uninstall is
configuration management insanity. When an rpm is removed, all of the
unmodified installation should be removed with it. Files should be
relabeled to match the post installation policy. That way a subsequent
install behaves the way you would intuitively expect.


I see the claim but I don't see the argument. A subsequent install will either replace the old module or do nothing (if its the same) and all the old files will already be labeled properly, in fact this is the main reason I want to leave old policies around. Note that users will always be able to remove policies themselves, I just don't think we can make rpm smart enough to know the users intentions (perhaps if it was written in python we could just import psychic :) )

We are going to have to disagree on what is proper. Based on our experience with multiple policies, I think you are going to get into trouble with policy upgrades when type declarations move or multiple rpms declare the same type in policy. You have to think about how policies and rpms evolve over time.

joe

If the app developer is concerned about the post-uninstall type
enforcement on application created files, a separate policy rpm solves
the problem.


This isn't practical. Sure some app developer may write an uninstall module but those aren't going to exist for all the policies in refpolicy.

A kind-of-like-this idea I came up with was to have an "uninstall template" that would take the old module, find the file types and fill in the uninstall template policy with that, that way files would keep their types and the uninstall template could give admins/ backup apps/etc continuing access. I feel like this would be far too fragile and easy to mess up though.

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


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