Blame view

security/Kconfig 7.09 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.
da31894ed   Eric Paris   securityfs: do no...
31
32
33
34
  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...
35
36
  	  the TPM bios character driver and IMA, an integrity provider.  It is
  	  not used by SELinux or SMACK.
da31894ed   Eric Paris   securityfs: do no...
37
38
  
  	  If you are unsure how to answer this question, answer N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
39
40
41
42
43
44
45
46
  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...
47
48
49
50
51
52
53
54
55
56
57
58
59
  
  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
60

be6d3e56a   Kentaro Takeda   introduce new LSM...
61
62
63
64
65
66
67
68
  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...
69
70
  config INTEL_TXT
  	bool "Enable Intel(R) Trusted Execution Technology (Intel(R) TXT)"
69575d388   Shane Wang   x86, intel_txt: c...
71
  	depends on HAVE_INTEL_TXT
316253406   Joseph Cihula   x86, intel_txt: I...
72
73
74
75
76
77
  	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...
78
  	  Intel TXT will provide higher assurance of system configuration and
316253406   Joseph Cihula   x86, intel_txt: I...
79
80
81
82
83
84
85
86
  	  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...
87
  	  it was configured with, especially since they may be responsible for
316253406   Joseph Cihula   x86, intel_txt: I...
88
89
90
91
92
93
94
95
96
  	  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:...
97
  config LSM_MMAP_MIN_ADDR
024e6cb40   Andreas Schwab   security: Fix pro...
98
  	int "Low address space for LSM to protect from user allocation"
788084aba   Eric Paris   Security/SELinux:...
99
  	depends on SECURITY && SECURITY_SELINUX
530b099df   Colin Cross   security: select ...
100
  	default 32768 if ARM || (ARM64 && COMPAT)
a58578e47   Dave Jones   security: Make LS...
101
  	default 65536
788084aba   Eric Paris   Security/SELinux:...
102
103
104
105
106
107
108
109
110
111
112
  	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...
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
  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.
  
  config HAVE_ARCH_HARDENED_USERCOPY
  	bool
  	help
  	  The architecture supports CONFIG_HARDENED_USERCOPY by
  	  calling check_object_size() just before performing the
  	  userspace copies in the low level implementation of
  	  copy_to_user() and copy_from_user().
  
  config HARDENED_USERCOPY
  	bool "Harden memory copies between kernel and userspace"
  	depends on HAVE_ARCH_HARDENED_USERCOPY
6040e5765   Linus Torvalds   Make the hardened...
131
  	depends on HAVE_HARDENED_USERCOPY_ALLOCATOR
f5509cc18   Kees Cook   mm: Hardened user...
132
133
134
135
136
137
138
139
140
  	select BUG
  	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
  	  separately allocates pages, are not on the process stack,
  	  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 ...
141
142
143
  config HARDENED_USERCOPY_PAGESPAN
  	bool "Refuse to copy allocations that span multiple pages"
  	depends on HARDENED_USERCOPY
80a77045d   Linus Torvalds   Merge tag 'userco...
144
  	depends on EXPERT
8e1f74ea0   Kees Cook   usercopy: remove ...
145
146
147
148
149
150
  	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.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
151
  source security/selinux/Kconfig
e114e4737   Casey Schaufler   Smack: Simplified...
152
  source security/smack/Kconfig
00d7d6f84   Kentaro Takeda   Kconfig and Makefile
153
  source security/tomoyo/Kconfig
f9ad1af53   John Johansen   AppArmor: Enable ...
154
  source security/apparmor/Kconfig
9b091556a   Kees Cook   LSM: LoadPin for ...
155
  source security/loadpin/Kconfig
2d514487f   Kees Cook   security: Yama LSM
156
  source security/yama/Kconfig
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
157

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

6e65f92ff   John Johansen   Config option to ...
160
161
162
163
164
  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 ...
165
  	default DEFAULT_SECURITY_APPARMOR if SECURITY_APPARMOR
6e65f92ff   John Johansen   Config option to ...
166
167
168
169
170
171
172
173
174
175
176
177
178
179
  	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 ...
180
181
  	config DEFAULT_SECURITY_APPARMOR
  		bool "AppArmor" if SECURITY_APPARMOR=y
6e65f92ff   John Johansen   Config option to ...
182
183
184
185
186
187
188
189
190
191
  	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 ...
192
  	default "apparmor" if DEFAULT_SECURITY_APPARMOR
6e65f92ff   John Johansen   Config option to ...
193
  	default "" if DEFAULT_SECURITY_DAC
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
194
  endmenu