Re: [PATCH security-next v4 23/32] selinux: Remove boot parameter

From: Stephen Smalley
Date: Wed Oct 03 2018 - 09:37:23 EST


On 10/02/2018 07:54 PM, Kees Cook wrote:
On Tue, Oct 2, 2018 at 4:46 PM, John Johansen
<john.johansen@xxxxxxxxxxxxx> wrote:
On 10/02/2018 04:06 PM, Kees Cook wrote:
I think the current proposal (in the other thread) is likely the
sanest approach:

- Drop CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE
- Drop CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE
- All enabled LSMs are listed at build-time in CONFIG_LSM_ENABLE

Hrrmmm isn't this a Kconfig selectable list, with each built-in LSM
available to be enabled by default at boot.

That's not how I have it currently. It's a comma-separated a string,
including the reserved name "all". The default would just be
"CONFIG_LSM_ENABLE=all". Casey and I wanted this to have a way to
capture new LSMs by default at build-time.

- Boot time enabling for selinux= and apparmor= remain
- lsm.enable= is explicit: overrides above and omissions are disabled
wfm

Okay, this is closer to v3 than v4. Paul or Stephen, how do you feel
about losing the SELinux bootparam CONFIG? (i.e. CONFIG_LSM_ENABLE
would be replacing its functionality.)

I'd like to know how distro kernel maintainers feel about it. They would need to understand that if they were previously setting CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE to 0 and want to preserve that behavior, then they must set CONFIG_LSM_ENABLE explicitly to a list of security modules (that does not include selinux, of course). In practice, this means that even the distros that choose to build all security modules into their kernels must explicitly set CONFIG_LSM_ENABLE to a specific list of security modules. So no one would use "all" in practice.