xref: /linux/security/selinux/Kconfig (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
1*1da177e4SLinus Torvaldsconfig SECURITY_SELINUX
2*1da177e4SLinus Torvalds	bool "NSA SELinux Support"
3*1da177e4SLinus Torvalds	depends on SECURITY && NET && INET
4*1da177e4SLinus Torvalds	default n
5*1da177e4SLinus Torvalds	help
6*1da177e4SLinus Torvalds	  This selects NSA Security-Enhanced Linux (SELinux).
7*1da177e4SLinus Torvalds	  You will also need a policy configuration and a labeled filesystem.
8*1da177e4SLinus Torvalds	  You can obtain the policy compiler (checkpolicy), the utility for
9*1da177e4SLinus Torvalds	  labeling filesystems (setfiles), and an example policy configuration
10*1da177e4SLinus Torvalds	  from <http://www.nsa.gov/selinux/>.
11*1da177e4SLinus Torvalds	  If you are unsure how to answer this question, answer N.
12*1da177e4SLinus Torvalds
13*1da177e4SLinus Torvaldsconfig SECURITY_SELINUX_BOOTPARAM
14*1da177e4SLinus Torvalds	bool "NSA SELinux boot parameter"
15*1da177e4SLinus Torvalds	depends on SECURITY_SELINUX
16*1da177e4SLinus Torvalds	default n
17*1da177e4SLinus Torvalds	help
18*1da177e4SLinus Torvalds	  This option adds a kernel parameter 'selinux', which allows SELinux
19*1da177e4SLinus Torvalds	  to be disabled at boot.  If this option is selected, SELinux
20*1da177e4SLinus Torvalds	  functionality can be disabled with selinux=0 on the kernel
21*1da177e4SLinus Torvalds	  command line.  The purpose of this option is to allow a single
22*1da177e4SLinus Torvalds	  kernel image to be distributed with SELinux built in, but not
23*1da177e4SLinus Torvalds	  necessarily enabled.
24*1da177e4SLinus Torvalds
25*1da177e4SLinus Torvalds	  If you are unsure how to answer this question, answer N.
26*1da177e4SLinus Torvalds
27*1da177e4SLinus Torvaldsconfig SECURITY_SELINUX_BOOTPARAM_VALUE
28*1da177e4SLinus Torvalds	int "NSA SELinux boot parameter default value"
29*1da177e4SLinus Torvalds	depends on SECURITY_SELINUX_BOOTPARAM
30*1da177e4SLinus Torvalds	range 0 1
31*1da177e4SLinus Torvalds	default 1
32*1da177e4SLinus Torvalds	help
33*1da177e4SLinus Torvalds	  This option sets the default value for the kernel parameter
34*1da177e4SLinus Torvalds	  'selinux', which allows SELinux to be disabled at boot.  If this
35*1da177e4SLinus Torvalds	  option is set to 0 (zero), the SELinux kernel parameter will
36*1da177e4SLinus Torvalds	  default to 0, disabling SELinux at bootup.  If this option is
37*1da177e4SLinus Torvalds	  set to 1 (one), the SELinux kernel parameter will default to 1,
38*1da177e4SLinus Torvalds	  enabling SELinux at bootup.
39*1da177e4SLinus Torvalds
40*1da177e4SLinus Torvalds	  If you are unsure how to answer this question, answer 1.
41*1da177e4SLinus Torvalds
42*1da177e4SLinus Torvaldsconfig SECURITY_SELINUX_DISABLE
43*1da177e4SLinus Torvalds	bool "NSA SELinux runtime disable"
44*1da177e4SLinus Torvalds	depends on SECURITY_SELINUX
45*1da177e4SLinus Torvalds	default n
46*1da177e4SLinus Torvalds	help
47*1da177e4SLinus Torvalds	  This option enables writing to a selinuxfs node 'disable', which
48*1da177e4SLinus Torvalds	  allows SELinux to be disabled at runtime prior to the policy load.
49*1da177e4SLinus Torvalds	  SELinux will then remain disabled until the next boot.
50*1da177e4SLinus Torvalds	  This option is similar to the selinux=0 boot parameter, but is to
51*1da177e4SLinus Torvalds	  support runtime disabling of SELinux, e.g. from /sbin/init, for
52*1da177e4SLinus Torvalds	  portability across platforms where boot parameters are difficult
53*1da177e4SLinus Torvalds	  to employ.
54*1da177e4SLinus Torvalds
55*1da177e4SLinus Torvalds	  If you are unsure how to answer this question, answer N.
56*1da177e4SLinus Torvalds
57*1da177e4SLinus Torvaldsconfig SECURITY_SELINUX_DEVELOP
58*1da177e4SLinus Torvalds	bool "NSA SELinux Development Support"
59*1da177e4SLinus Torvalds	depends on SECURITY_SELINUX
60*1da177e4SLinus Torvalds	default y
61*1da177e4SLinus Torvalds	help
62*1da177e4SLinus Torvalds	  This enables the development support option of NSA SELinux,
63*1da177e4SLinus Torvalds	  which is useful for experimenting with SELinux and developing
64*1da177e4SLinus Torvalds	  policies.  If unsure, say Y.  With this option enabled, the
65*1da177e4SLinus Torvalds	  kernel will start in permissive mode (log everything, deny nothing)
66*1da177e4SLinus Torvalds	  unless you specify enforcing=1 on the kernel command line.  You
67*1da177e4SLinus Torvalds	  can interactively toggle the kernel between enforcing mode and
68*1da177e4SLinus Torvalds	  permissive mode (if permitted by the policy) via /selinux/enforce.
69*1da177e4SLinus Torvalds
70*1da177e4SLinus Torvaldsconfig SECURITY_SELINUX_AVC_STATS
71*1da177e4SLinus Torvalds	bool "NSA SELinux AVC Statistics"
72*1da177e4SLinus Torvalds	depends on SECURITY_SELINUX
73*1da177e4SLinus Torvalds	default y
74*1da177e4SLinus Torvalds	help
75*1da177e4SLinus Torvalds	  This option collects access vector cache statistics to
76*1da177e4SLinus Torvalds	  /selinux/avc/cache_stats, which may be monitored via
77*1da177e4SLinus Torvalds	  tools such as avcstat.
78*1da177e4SLinus Torvalds
79*1da177e4SLinus Torvaldsconfig SECURITY_SELINUX_CHECKREQPROT_VALUE
80*1da177e4SLinus Torvalds	int "NSA SELinux checkreqprot default value"
81*1da177e4SLinus Torvalds	depends on SECURITY_SELINUX
82*1da177e4SLinus Torvalds	range 0 1
83*1da177e4SLinus Torvalds	default 1
84*1da177e4SLinus Torvalds	help
85*1da177e4SLinus Torvalds	  This option sets the default value for the 'checkreqprot' flag
86*1da177e4SLinus Torvalds	  that determines whether SELinux checks the protection requested
87*1da177e4SLinus Torvalds	  by the application or the protection that will be applied by the
88*1da177e4SLinus Torvalds	  kernel (including any implied execute for read-implies-exec) for
89*1da177e4SLinus Torvalds	  mmap and mprotect calls.  If this option is set to 0 (zero),
90*1da177e4SLinus Torvalds	  SELinux will default to checking the protection that will be applied
91*1da177e4SLinus Torvalds	  by the kernel.  If this option is set to 1 (one), SELinux will
92*1da177e4SLinus Torvalds	  default to checking the protection requested by the application.
93*1da177e4SLinus Torvalds	  The checkreqprot flag may be changed from the default via the
94*1da177e4SLinus Torvalds	  'checkreqprot=' boot parameter.  It may also be changed at runtime
95*1da177e4SLinus Torvalds	  via /selinux/checkreqprot if authorized by policy.
96*1da177e4SLinus Torvalds
97*1da177e4SLinus Torvalds	  If you are unsure how to answer this question, answer 1.
98