Gentoo Archives: gentoo-hardened

From: Robert Sharp <selinux@×××××××××××××××.org>
To: gentoo-hardened@l.g.o
Subject: Re: [gentoo-hardened] Missing use flags from new profiles
Date: Mon, 18 Dec 2017 16:15:31
Message-Id: 8cc5bb6e-ff4e-f375-755e-1fb6207a11c1@sharp.homelinux.org
In Reply to: Re: [gentoo-hardened] Missing use flags from new profiles by Michael Orlitzky
1 On 15/12/17 14:49, Michael Orlitzky wrote:
2 > On 12/15/2017 06:09 AM, Robert Sharp wrote:
3 >> MISSING="berkdb gdbm tcpd ptpax session dri urandom"
4 >>
5 >> Is this a deliberate change or are they actually missing?
6 >>
7 > These are all intentional, but perhaps with an unintended side effect.
8 > The default/linux profile sets,
9 >
10 > USE="berkdb crypt ipv6 ncurses nls pam readline ssl tcpd zlib"
11 > ...
12 > USE="${USE} cli pcre session"
13 >
14 > Most of those flags are unnecessary, so the hardened profile disables
15 > them (to reduce the surface area for attack):
16 >
17 > # Default starting set of USE flags for all default/linux profiles.
18 > # We unset them so we get a clean use flag profile.
19 > USE="${USE} -berkdb -gdbm -tcpd"
20 > USE="${USE} -fortran"
21 > USE="${USE} -cli -session"
22 > USE="${USE} -dri"
23 > USE="${USE} -modules"
24 >
25 > What that's trying to accomplish is to undo the overzealous USE in the
26 > default/linux profile, but unfortunately, the "-foo" flags (with the
27 > default stacking order in portage) will override the IUSE="+foo"
28 > defaults set in the ebuilds themselves. So, for example, dev-lang/php
29 > sets IUSE="+cli +session", but they'll be disabled when using the
30 > hardened profile.
31 >
32 > USE=ptpax is something else entirely. By now, everyone should be using
33 > the default xattr markings with PAX_MARKINGS=XT in make.conf (the new
34 > profile does this for you). USE=ptpax was dropped by default because you
35 > shouldn't need it any more.
36 >
37 > At least for "modules" and "session", we will eventually drop them as
38 > defaults so that everything works right again:
39 >
40 > *https://bugs.gentoo.org/635720 (modules)
41 > *https://bugs.gentoo.org/635742 (session)
42 >
43 So just to be sure I am doing the right thing, I should keep my MISSING
44 use flags excluding ptpax because that way the packages that use them by
45 default will be unchanged? I guess the more correct solution would be to
46 add per-package use flags so that I don't add them for packages that
47 have that flag but not by default? Seems like a bit more effort so I
48 probably won't bother unless there is a good reason to take that approach.
49
50 Thanks, Robert