Blame view

security/Kconfig 7.84 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  #
  # Security configuration
  #
  
  menu "Security options"
  
  config KEYS
  	bool "Enable access key retention support"
  	help
  	  This option provides support for retaining authentication tokens and
  	  access keys in the kernel.
  
  	  It also includes provision of methods by which such keys might be
  	  associated with a process so that network filesystems, encryption
  	  support and the like can find them.
  
  	  Furthermore, a special type of key is available that acts as keyring:
  	  a searchable sequence of keys. Each process is equipped with access
  	  to five standard keyrings: UID-specific, GID-specific, session,
  	  process and thread.
  
  	  If you are unsure as to whether this is required, answer N.
d00a1c72f   Mimi Zohar   keys: add new tru...
23
24
25
26
27
28
29
30
31
32
33
34
35
36
  config TRUSTED_KEYS
  	tristate "TRUSTED KEYS"
  	depends on KEYS && TCG_TPM
  	select CRYPTO
  	select CRYPTO_HMAC
  	select CRYPTO_SHA1
  	help
  	  This option provides support for creating, sealing, and unsealing
  	  keys in the kernel. Trusted keys are random number symmetric keys,
  	  generated and RSA-sealed by the TPM. The TPM only unseals the keys,
  	  if the boot PCRs and other criteria match.  Userspace will only ever
  	  see encrypted blobs.
  
  	  If you are unsure as to whether this is required, answer N.
7e70cb497   Mimi Zohar   keys: add new key...
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  config ENCRYPTED_KEYS
  	tristate "ENCRYPTED KEYS"
  	depends on KEYS && TRUSTED_KEYS
  	select CRYPTO_AES
  	select CRYPTO_CBC
  	select CRYPTO_SHA256
  	select CRYPTO_RNG
  	help
  	  This option provides support for create/encrypting/decrypting keys
  	  in the kernel.  Encrypted keys are kernel generated random numbers,
  	  which are encrypted/decrypted with a 'master' symmetric key. The
  	  'master' key can be either a trusted-key or user-key type.
  	  Userspace only ever sees/stores encrypted blobs.
  
  	  If you are unsure as to whether this is required, answer N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
52
  config KEYS_DEBUG_PROC_KEYS
06ec7be55   Michael LeMay   [PATCH] keys: res...
53
  	bool "Enable the /proc/keys file by which keys may be viewed"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
54
55
  	depends on KEYS
  	help
06ec7be55   Michael LeMay   [PATCH] keys: res...
56
57
58
  	  This option turns on support for the /proc/keys file - through which
  	  can be listed all the keys on the system that are viewable by the
  	  reading process.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
59

06ec7be55   Michael LeMay   [PATCH] keys: res...
60
61
62
63
64
65
66
67
68
  	  The only keys included in the list are those that grant View
  	  permission to the reading process whether or not it possesses them.
  	  Note that LSM security checks are still performed, and may further
  	  filter out keys that the current process is not authorised to view.
  
  	  Only key attributes are listed here; key payloads are not included in
  	  the resulting table.
  
  	  If you are unsure as to whether this is required, answer N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
69

eaf06b241   Dan Rosenberg   Restrict unprivil...
70
71
72
73
74
75
76
77
78
79
80
  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
81
82
  config SECURITY
  	bool "Enable different security models"
2c40579bd   Adrian Bunk   [PATCH] SECURITY ...
83
  	depends on SYSFS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
84
85
86
87
88
89
90
91
  	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...
92
93
94
95
  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...
96
97
  	  the TPM bios character driver and IMA, an integrity provider.  It is
  	  not used by SELinux or SMACK.
da31894ed   Eric Paris   securityfs: do no...
98
99
  
  	  If you are unsure how to answer this question, answer N.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
100
101
102
103
104
105
106
107
  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...
108
109
110
111
112
113
114
115
116
117
118
119
120
  
  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
121

be6d3e56a   Kentaro Takeda   introduce new LSM...
122
123
124
125
126
127
128
129
  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...
130
131
  config INTEL_TXT
  	bool "Enable Intel(R) Trusted Execution Technology (Intel(R) TXT)"
69575d388   Shane Wang   x86, intel_txt: c...
132
  	depends on HAVE_INTEL_TXT
316253406   Joseph Cihula   x86, intel_txt: I...
133
134
135
136
137
138
  	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...
139
  	  Intel TXT will provide higher assurance of system configuration and
316253406   Joseph Cihula   x86, intel_txt: I...
140
141
142
143
144
145
146
147
  	  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...
148
  	  it was configured with, especially since they may be responsible for
316253406   Joseph Cihula   x86, intel_txt: I...
149
150
151
152
153
154
155
156
157
  	  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:...
158
  config LSM_MMAP_MIN_ADDR
024e6cb40   Andreas Schwab   security: Fix pro...
159
  	int "Low address space for LSM to protect from user allocation"
788084aba   Eric Paris   Security/SELinux:...
160
  	depends on SECURITY && SECURITY_SELINUX
580689601   Paul Gortmaker   security: select ...
161
  	default 32768 if ARM
a58578e47   Dave Jones   security: Make LS...
162
  	default 65536
788084aba   Eric Paris   Security/SELinux:...
163
164
165
166
167
168
169
170
171
172
173
  	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.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
174
  source security/selinux/Kconfig
e114e4737   Casey Schaufler   Smack: Simplified...
175
  source security/smack/Kconfig
00d7d6f84   Kentaro Takeda   Kconfig and Makefile
176
  source security/tomoyo/Kconfig
f9ad1af53   John Johansen   AppArmor: Enable ...
177
  source security/apparmor/Kconfig
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
178

3323eec92   Mimi Zohar   integrity: IMA as...
179
  source security/integrity/ima/Kconfig
6e65f92ff   John Johansen   Config option to ...
180
181
182
183
184
  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 ...
185
  	default DEFAULT_SECURITY_APPARMOR if SECURITY_APPARMOR
6e65f92ff   John Johansen   Config option to ...
186
187
188
189
190
191
192
193
194
195
196
197
198
199
  	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 ...
200
201
  	config DEFAULT_SECURITY_APPARMOR
  		bool "AppArmor" if SECURITY_APPARMOR=y
6e65f92ff   John Johansen   Config option to ...
202
203
204
205
206
207
208
209
210
211
  	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 ...
212
  	default "apparmor" if DEFAULT_SECURITY_APPARMOR
6e65f92ff   John Johansen   Config option to ...
213
  	default "" if DEFAULT_SECURITY_DAC
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
214
  endmenu