Hi guys 'n gals,

Like I suggested in the "SELinux and no-multilib" thread [1], I would like
to take a stab at the SELinux Gentoo profiles to make them easy to manage
(and to get that weird (no)multilib thing back on track). As the thread
said, I am focussing on creating a "features/selinux" profile which, like
the "features/multilib" or "features/no-nptl" ones, cannot be used
directly but is used by a parent file within a profile.

When a good "features/selinux" profile is created, we can then create
        hardened/linux/amd64/selinux
        hardened/linux/amd64/no-multilib/selinux
        hardened/linux/x86/selinux
        ...
profiles in which only a single file exists, namely "parent", with the
contents of
        ../
        ../../../../features/selinux

To verify that this is indeed possible, I've already started with a
"features/selinux" profile on my own overlay [2] and am currently testing
it (both a "hardened/linux/amd64/selinux" and ..."amd64/no-multilib/selinux"
guest) to see if they generate any issues.

Until now, I have not found any issue. What I do find is that the
hardened/linux/amd64/* ones are more aligned with the hardened profiles
than the selinux/v2refpolicy/amd64/hardened profile (current
production-use profile) with respect to USE changes and such.

In my opinion, this method has many advantages:
- the selinux profiles are close to their master profile (and as such
  inherit the updates and management of those profiles)
- the new profiles can be used simultaneously with the old ones, allowing
  for a transition period
- the SELinux specific changes are tied in a single location, making
  administration a bit more easy (and we're all for easy, aren't we?)
- if new profiles would like to support a selinux-specific one as well, it
  is far easier with a "features/selinux" approach than it is with the
  current selinux/v2refpolicy/* I think

Now my question(s):
- Does anyone know of a problem with this approach?
- Does anyone have any objections if I (or someone else) puts this
  information in hardened-dev.git (blueness, you did last profile updates
  with a staging in hardened-dev.git, but in a separate branch [3], do you
  think this approach is needed here as well or can this be put in the
  master)?
- And if people have objections, any other ideas on how to tackle the
  problem that current SELinux profiles do not support no-multilib (but do
  not enable "multilib" USE flag) [4]?

Wkr,
        Sven Vermeulen

[1] http://thread.gmane.org/gmane.linux.gentoo.hardened/4820/focus=4824
[2] https://github.com/sjvermeu/gentoo.overlay/tree/master/profiles
[3] https://bugs.gentoo.org/show_bug.cgi?id=344861
[4] https://bugs.gentoo.org/show_bug.cgi?id=298434 and
    https://bugs.gentoo.org/show_bug.cgi?id=346563


Reply via email to