Blame view

security/Kconfig 9.2 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
  #
  # Security configuration
  #
  
  menu "Security options"
f0894940a   David Howells   KEYS: Move the ke...
6
  source security/keys/Kconfig
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
7

eaf06b241   Dan Rosenberg   Restrict unprivil...
8
9
10
11
12
13
14
15
16
17
18
  config SECURITY_DMESG_RESTRICT
  	bool "Restrict unprivileged access to the kernel syslog"
  	default n
  	help
  	  This enforces restrictions on unprivileged users reading the kernel
  	  syslog via dmesg(8).
  
  	  If this option is not selected, no restrictions will be enforced
  	  unless the dmesg_restrict sysctl is explicitly set to (1).
  
  	  If you are unsure how to answer this question, answer N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
19
20
  config SECURITY
  	bool "Enable different security models"
2c40579bd   Adrian Bunk   [PATCH] SECURITY ...
21
  	depends on SYSFS
2813893f8   Iulia Manda   kernel: condition...
22
  	depends on MULTIUSER
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
23
24
25
26
27
28
29
30
  	help
  	  This allows you to choose different security modules to be
  	  configured into your kernel.
  
  	  If this option is not selected, the default Linux security
  	  model will be used.
  
  	  If you are unsure how to answer this question, answer N.
dd0859dcc   James Morris   security: introdu...
31
32
33
34
  config SECURITY_WRITABLE_HOOKS
  	depends on SECURITY
  	bool
  	default n
da31894ed   Eric Paris   securityfs: do no...
35
36
37
38
  config SECURITYFS
  	bool "Enable the securityfs filesystem"
  	help
  	  This will build the securityfs filesystem.  It is currently used by
3323eec92   Mimi Zohar   integrity: IMA as...
39
40
  	  the TPM bios character driver and IMA, an integrity provider.  It is
  	  not used by SELinux or SMACK.
da31894ed   Eric Paris   securityfs: do no...
41
42
  
  	  If you are unsure how to answer this question, answer N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
43
44
45
46
47
48
49
50
  config SECURITY_NETWORK
  	bool "Socket and Networking Security Hooks"
  	depends on SECURITY
  	help
  	  This enables the socket and networking security hooks.
  	  If enabled, a security module can use these hooks to
  	  implement socket and networking access controls.
  	  If you are unsure how to answer this question, answer N.
df71837d5   Trent Jaeger   [LSM-IPSec]: Secu...
51

3dfd9fd8d   Dave Hansen   x86/mm/pti: Add K...
52
53
54
55
56
57
58
59
  config PAGE_TABLE_ISOLATION
  	bool "Remove the kernel mapping in user mode"
  	depends on X86_64 && !UML
  	default y
  	help
  	  This feature reduces the number of hardware side channels by
  	  ensuring that the majority of kernel addresses are not mapped
  	  into userspace.
c3e7fc965   W. Trevor King   security/Kconfig:...
60
  	  See Documentation/x86/pti.txt for more details.
3dfd9fd8d   Dave Hansen   x86/mm/pti: Add K...
61

d291f1a65   Daniel Jurgens   IB/core: Enforce ...
62
63
64
65
66
67
68
69
  config SECURITY_INFINIBAND
  	bool "Infiniband Security Hooks"
  	depends on SECURITY && INFINIBAND
  	help
  	  This enables the Infiniband security hooks.
  	  If enabled, a security module can use these hooks to
  	  implement Infiniband access controls.
  	  If you are unsure how to answer this question, answer N.
df71837d5   Trent Jaeger   [LSM-IPSec]: Secu...
70
71
72
73
74
75
76
77
78
79
80
81
  config SECURITY_NETWORK_XFRM
  	bool "XFRM (IPSec) Networking Security Hooks"
  	depends on XFRM && SECURITY_NETWORK
  	help
  	  This enables the XFRM (IPSec) networking security hooks.
  	  If enabled, a security module can use these hooks to
  	  implement per-packet access controls based on labels
  	  derived from IPSec policy.  Non-IPSec communications are
  	  designated as unlabelled, and only sockets authorized
  	  to communicate unlabelled data can send without using
  	  IPSec.
  	  If you are unsure how to answer this question, answer N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
82

be6d3e56a   Kentaro Takeda   introduce new LSM...
83
84
85
86
87
88
89
90
  config SECURITY_PATH
  	bool "Security hooks for pathname based access control"
  	depends on SECURITY
  	help
  	  This enables the security hooks for pathname based access control.
  	  If enabled, a security module can use these hooks to
  	  implement pathname based access controls.
  	  If you are unsure how to answer this question, answer N.
316253406   Joseph Cihula   x86, intel_txt: I...
91
92
  config INTEL_TXT
  	bool "Enable Intel(R) Trusted Execution Technology (Intel(R) TXT)"
69575d388   Shane Wang   x86, intel_txt: c...
93
  	depends on HAVE_INTEL_TXT
316253406   Joseph Cihula   x86, intel_txt: I...
94
95
96
97
98
99
  	help
  	  This option enables support for booting the kernel with the
  	  Trusted Boot (tboot) module. This will utilize
  	  Intel(R) Trusted Execution Technology to perform a measured launch
  	  of the kernel. If the system does not support Intel(R) TXT, this
  	  will have no effect.
3c556e419   Arnaldo Carvalho de Melo   x86, intel_txt: F...
100
  	  Intel TXT will provide higher assurance of system configuration and
316253406   Joseph Cihula   x86, intel_txt: I...
101
102
103
104
105
106
107
108
  	  initial state as well as data reset protection.  This is used to
  	  create a robust initial kernel measurement and verification, which
  	  helps to ensure that kernel security mechanisms are functioning
  	  correctly. This level of protection requires a root of trust outside
  	  of the kernel itself.
  
  	  Intel TXT also helps solve real end user concerns about having
  	  confidence that their hardware is running the VMM or kernel that
3c556e419   Arnaldo Carvalho de Melo   x86, intel_txt: F...
109
  	  it was configured with, especially since they may be responsible for
316253406   Joseph Cihula   x86, intel_txt: I...
110
111
112
113
114
115
116
117
118
  	  providing such assurances to VMs and services running on it.
  
  	  See <http://www.intel.com/technology/security/> for more information
  	  about Intel(R) TXT.
  	  See <http://tboot.sourceforge.net> for more information about tboot.
  	  See Documentation/intel_txt.txt for a description of how to enable
  	  Intel TXT support in a kernel boot.
  
  	  If you are unsure as to whether this is required, answer N.
788084aba   Eric Paris   Security/SELinux:...
119
  config LSM_MMAP_MIN_ADDR
024e6cb40   Andreas Schwab   security: Fix pro...
120
  	int "Low address space for LSM to protect from user allocation"
788084aba   Eric Paris   Security/SELinux:...
121
  	depends on SECURITY && SECURITY_SELINUX
530b099df   Colin Cross   security: select ...
122
  	default 32768 if ARM || (ARM64 && COMPAT)
a58578e47   Dave Jones   security: Make LS...
123
  	default 65536
788084aba   Eric Paris   Security/SELinux:...
124
125
126
127
128
129
130
131
132
133
134
  	help
  	  This is the portion of low virtual memory which should be protected
  	  from userspace allocation.  Keeping a user from writing to low pages
  	  can help reduce the impact of kernel NULL pointer bugs.
  
  	  For most ia64, ppc64 and x86 users with lots of address space
  	  a value of 65536 is reasonable and should cause no problems.
  	  On arm and other archs it should not be higher than 32768.
  	  Programs which use vm86 functionality or have some need to map
  	  this low address space will need the permission specific to the
  	  systems running LSM.
f5509cc18   Kees Cook   mm: Hardened user...
135
136
137
138
139
140
  config HAVE_HARDENED_USERCOPY_ALLOCATOR
  	bool
  	help
  	  The heap allocator implements __check_heap_object() for
  	  validating memory ranges against heap object sizes in
  	  support of CONFIG_HARDENED_USERCOPY.
f5509cc18   Kees Cook   mm: Hardened user...
141
142
  config HARDENED_USERCOPY
  	bool "Harden memory copies between kernel and userspace"
6040e5765   Linus Torvalds   Make the hardened...
143
  	depends on HAVE_HARDENED_USERCOPY_ALLOCATOR
f5509cc18   Kees Cook   mm: Hardened user...
144
  	select BUG
ea60e54b2   Kees Cook   /dev/mem: Add bou...
145
  	imply STRICT_DEVMEM
f5509cc18   Kees Cook   mm: Hardened user...
146
147
148
149
150
  	help
  	  This option checks for obviously wrong memory regions when
  	  copying memory to/from the kernel (via copy_to_user() and
  	  copy_from_user() functions) by rejecting memory ranges that
  	  are larger than the specified heap object, span multiple
99c55fb18   Geert Uytterhoeven   security: Grammar...
151
  	  separately allocated pages, are not on the process stack,
f5509cc18   Kees Cook   mm: Hardened user...
152
153
  	  or are part of the kernel text. This kills entire classes
  	  of heap overflow exploits and similar kernel memory exposures.
8e1f74ea0   Kees Cook   usercopy: remove ...
154
155
156
  config HARDENED_USERCOPY_PAGESPAN
  	bool "Refuse to copy allocations that span multiple pages"
  	depends on HARDENED_USERCOPY
80a77045d   Linus Torvalds   Merge tag 'userco...
157
  	depends on EXPERT
8e1f74ea0   Kees Cook   usercopy: remove ...
158
159
160
161
162
163
  	help
  	  When a multi-page allocation is done without __GFP_COMP,
  	  hardened usercopy will reject attempts to copy it. There are,
  	  however, several cases of this in the kernel that have not all
  	  been removed. This config is intended to be used only while
  	  trying to find such users.
6974f0c45   Daniel Micay   include/linux/str...
164
165
166
167
168
169
  config FORTIFY_SOURCE
  	bool "Harden common str/mem functions against buffer overflows"
  	depends on ARCH_HAS_FORTIFY_SOURCE
  	help
  	  Detect overflows of buffers in common string and memory functions
  	  where the compiler can determine and validate the buffer sizes.
64e90a8ac   Greg Kroah-Hartman   Introduce STATIC_...
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
  config STATIC_USERMODEHELPER
  	bool "Force all usermode helper calls through a single binary"
  	help
  	  By default, the kernel can call many different userspace
  	  binary programs through the "usermode helper" kernel
  	  interface.  Some of these binaries are statically defined
  	  either in the kernel code itself, or as a kernel configuration
  	  option.  However, some of these are dynamically created at
  	  runtime, or can be modified after the kernel has started up.
  	  To provide an additional layer of security, route all of these
  	  calls through a single executable that can not have its name
  	  changed.
  
  	  Note, it is up to this single binary to then call the relevant
  	  "real" usermode helper binary, based on the first argument
  	  passed to it.  If desired, this program can filter and pick
  	  and choose what real programs are called.
  
  	  If you wish for all usermode helper programs are to be
  	  disabled, choose this option and then set
  	  STATIC_USERMODEHELPER_PATH to an empty string.
  
  config STATIC_USERMODEHELPER_PATH
  	string "Path to the static usermode helper binary"
  	depends on STATIC_USERMODEHELPER
  	default "/sbin/usermode-helper"
  	help
  	  The binary called by the kernel when any usermode helper
  	  program is wish to be run.  The "real" application's name will
  	  be in the first argument passed to this program on the command
  	  line.
  
  	  If you wish for all usermode helper programs to be disabled,
  	  specify an empty string here (i.e. "").
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
204
  source security/selinux/Kconfig
e114e4737   Casey Schaufler   Smack: Simplified...
205
  source security/smack/Kconfig
00d7d6f84   Kentaro Takeda   Kconfig and Makefile
206
  source security/tomoyo/Kconfig
f9ad1af53   John Johansen   AppArmor: Enable ...
207
  source security/apparmor/Kconfig
9b091556a   Kees Cook   LSM: LoadPin for ...
208
  source security/loadpin/Kconfig
2d514487f   Kees Cook   security: Yama LSM
209
  source security/yama/Kconfig
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
210

f381c2722   Mimi Zohar   integrity: move i...
211
  source security/integrity/Kconfig
3323eec92   Mimi Zohar   integrity: IMA as...
212

6e65f92ff   John Johansen   Config option to ...
213
214
215
216
217
  choice
  	prompt "Default security module"
  	default DEFAULT_SECURITY_SELINUX if SECURITY_SELINUX
  	default DEFAULT_SECURITY_SMACK if SECURITY_SMACK
  	default DEFAULT_SECURITY_TOMOYO if SECURITY_TOMOYO
f9ad1af53   John Johansen   AppArmor: Enable ...
218
  	default DEFAULT_SECURITY_APPARMOR if SECURITY_APPARMOR
6e65f92ff   John Johansen   Config option to ...
219
220
221
222
223
224
225
226
227
228
229
230
231
232
  	default DEFAULT_SECURITY_DAC
  
  	help
  	  Select the security module that will be used by default if the
  	  kernel parameter security= is not specified.
  
  	config DEFAULT_SECURITY_SELINUX
  		bool "SELinux" if SECURITY_SELINUX=y
  
  	config DEFAULT_SECURITY_SMACK
  		bool "Simplified Mandatory Access Control" if SECURITY_SMACK=y
  
  	config DEFAULT_SECURITY_TOMOYO
  		bool "TOMOYO" if SECURITY_TOMOYO=y
f9ad1af53   John Johansen   AppArmor: Enable ...
233
234
  	config DEFAULT_SECURITY_APPARMOR
  		bool "AppArmor" if SECURITY_APPARMOR=y
6e65f92ff   John Johansen   Config option to ...
235
236
237
238
239
240
241
242
243
244
  	config DEFAULT_SECURITY_DAC
  		bool "Unix Discretionary Access Controls"
  
  endchoice
  
  config DEFAULT_SECURITY
  	string
  	default "selinux" if DEFAULT_SECURITY_SELINUX
  	default "smack" if DEFAULT_SECURITY_SMACK
  	default "tomoyo" if DEFAULT_SECURITY_TOMOYO
f9ad1af53   John Johansen   AppArmor: Enable ...
245
  	default "apparmor" if DEFAULT_SECURITY_APPARMOR
6e65f92ff   John Johansen   Config option to ...
246
  	default "" if DEFAULT_SECURITY_DAC
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
247
  endmenu