| config SECURITY_SELINUX |
| bool "NSA SELinux Support" |
| depends on SECURITY_NETWORK && AUDIT && NET && INET |
| select NETWORK_SECMARK |
| default n |
| help |
| This selects NSA Security-Enhanced Linux (SELinux). |
| You will also need a policy configuration and a labeled filesystem. |
| You can obtain the policy compiler (checkpolicy), the utility for |
| labeling filesystems (setfiles), and an example policy configuration |
| from <http://www.nsa.gov/selinux/>. |
| If you are unsure how to answer this question, answer N. |
| |
| config SECURITY_SELINUX_BOOTPARAM |
| bool "NSA SELinux boot parameter" |
| depends on SECURITY_SELINUX |
| default n |
| help |
| This option adds a kernel parameter 'selinux', which allows SELinux |
| to be disabled at boot. If this option is selected, SELinux |
| functionality can be disabled with selinux=0 on the kernel |
| command line. The purpose of this option is to allow a single |
| kernel image to be distributed with SELinux built in, but not |
| necessarily enabled. |
| |
| If you are unsure how to answer this question, answer N. |
| |
| config SECURITY_SELINUX_BOOTPARAM_VALUE |
| int "NSA SELinux boot parameter default value" |
| depends on SECURITY_SELINUX_BOOTPARAM |
| range 0 1 |
| default 1 |
| help |
| This option sets the default value for the kernel parameter |
| 'selinux', which allows SELinux to be disabled at boot. If this |
| option is set to 0 (zero), the SELinux kernel parameter will |
| default to 0, disabling SELinux at bootup. If this option is |
| set to 1 (one), the SELinux kernel parameter will default to 1, |
| enabling SELinux at bootup. |
| |
| If you are unsure how to answer this question, answer 1. |
| |
| config SECURITY_SELINUX_DISABLE |
| bool "NSA SELinux runtime disable" |
| depends on SECURITY_SELINUX |
| default n |
| help |
| This option enables writing to a selinuxfs node 'disable', which |
| allows SELinux to be disabled at runtime prior to the policy load. |
| SELinux will then remain disabled until the next boot. |
| This option is similar to the selinux=0 boot parameter, but is to |
| support runtime disabling of SELinux, e.g. from /sbin/init, for |
| portability across platforms where boot parameters are difficult |
| to employ. |
| |
| If you are unsure how to answer this question, answer N. |
| |
| config SECURITY_SELINUX_DEVELOP |
| bool "NSA SELinux Development Support" |
| depends on SECURITY_SELINUX |
| default y |
| help |
| This enables the development support option of NSA SELinux, |
| which is useful for experimenting with SELinux and developing |
| policies. If unsure, say Y. With this option enabled, the |
| kernel will start in permissive mode (log everything, deny nothing) |
| unless you specify enforcing=1 on the kernel command line. You |
| can interactively toggle the kernel between enforcing mode and |
| permissive mode (if permitted by the policy) via /selinux/enforce. |
| |
| config SECURITY_SELINUX_AVC_STATS |
| bool "NSA SELinux AVC Statistics" |
| depends on SECURITY_SELINUX |
| default y |
| help |
| This option collects access vector cache statistics to |
| /selinux/avc/cache_stats, which may be monitored via |
| tools such as avcstat. |
| |
| config SECURITY_SELINUX_CHECKREQPROT_VALUE |
| int "NSA SELinux checkreqprot default value" |
| depends on SECURITY_SELINUX |
| range 0 1 |
| default 1 |
| help |
| This option sets the default value for the 'checkreqprot' flag |
| that determines whether SELinux checks the protection requested |
| by the application or the protection that will be applied by the |
| kernel (including any implied execute for read-implies-exec) for |
| mmap and mprotect calls. If this option is set to 0 (zero), |
| SELinux will default to checking the protection that will be applied |
| by the kernel. If this option is set to 1 (one), SELinux will |
| default to checking the protection requested by the application. |
| The checkreqprot flag may be changed from the default via the |
| 'checkreqprot=' boot parameter. It may also be changed at runtime |
| via /selinux/checkreqprot if authorized by policy. |
| |
| If you are unsure how to answer this question, answer 1. |
| |
| config SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT |
| bool "NSA SELinux enable new secmark network controls by default" |
| depends on SECURITY_SELINUX |
| default n |
| help |
| This option determines whether the new secmark-based network |
| controls will be enabled by default. If not, the old internal |
| per-packet controls will be enabled by default, preserving |
| old behavior. |
| |
| If you enable the new controls, you will need updated |
| SELinux userspace libraries, tools and policy. Typically, |
| your distribution will provide these and enable the new controls |
| in the kernel they also distribute. |
| |
| Note that this option can be overridden at boot with the |
| selinux_compat_net parameter, and after boot via |
| /selinux/compat_net. See Documentation/kernel-parameters.txt |
| for details on this parameter. |
| |
| If you enable the new network controls, you will likely |
| also require the SECMARK and CONNSECMARK targets, as |
| well as any conntrack helpers for protocols which you |
| wish to control. |
| |
| If you are unsure what to do here, select N. |
| |
| config SECURITY_SELINUX_POLICYDB_VERSION_MAX |
| bool "NSA SELinux maximum supported policy format version" |
| depends on SECURITY_SELINUX |
| default n |
| help |
| This option enables the maximum policy format version supported |
| by SELinux to be set to a particular value. This value is reported |
| to userspace via /selinux/policyvers and used at policy load time. |
| It can be adjusted downward to support legacy userland (init) that |
| does not correctly handle kernels that support newer policy versions. |
| |
| Examples: |
| For the Fedora Core 3 or 4 Linux distributions, enable this option |
| and set the value via the next option. For Fedora Core 5 and later, |
| do not enable this option. |
| |
| If you are unsure how to answer this question, answer N. |
| |
| config SECURITY_SELINUX_POLICYDB_VERSION_MAX_VALUE |
| int "NSA SELinux maximum supported policy format version value" |
| depends on SECURITY_SELINUX_POLICYDB_VERSION_MAX |
| range 15 23 |
| default 19 |
| help |
| This option sets the value for the maximum policy format version |
| supported by SELinux. |
| |
| Examples: |
| For Fedora Core 3, use 18. |
| For Fedora Core 4, use 19. |
| |
| If you are unsure how to answer this question, look for the |
| policy format version supported by your policy toolchain, by |
| running 'checkpolicy -V'. Or look at what policy you have |
| installed under /etc/selinux/$SELINUXTYPE/policy, where |
| SELINUXTYPE is defined in your /etc/selinux/config. |
| |