Blame view

security/Kconfig 7.85 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
  config ENCRYPTED_KEYS
  	tristate "ENCRYPTED KEYS"
982e617a3   Mimi Zohar   encrypted-keys: r...
39
40
41
  	depends on KEYS
  	select CRYPTO
  	select CRYPTO_HMAC
7e70cb497   Mimi Zohar   keys: add new key...
42
43
44
45
46
47
48
49
50
51
52
53
  	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
54
  config KEYS_DEBUG_PROC_KEYS
06ec7be55   Michael LeMay   [PATCH] keys: res...
55
  	bool "Enable the /proc/keys file by which keys may be viewed"
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
56
57
  	depends on KEYS
  	help
06ec7be55   Michael LeMay   [PATCH] keys: res...
58
59
60
  	  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
61

06ec7be55   Michael LeMay   [PATCH] keys: res...
62
63
64
65
66
67
68
69
70
  	  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
71

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

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

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

6e65f92ff   John Johansen   Config option to ...
183
184
185
186
187
  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 ...
188
  	default DEFAULT_SECURITY_APPARMOR if SECURITY_APPARMOR
6e65f92ff   John Johansen   Config option to ...
189
190
191
192
193
194
195
196
197
198
199
200
201
202
  	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 ...
203
204
  	config DEFAULT_SECURITY_APPARMOR
  		bool "AppArmor" if SECURITY_APPARMOR=y
6e65f92ff   John Johansen   Config option to ...
205
206
207
208
209
210
211
212
213
214
  	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 ...
215
  	default "apparmor" if DEFAULT_SECURITY_APPARMOR
6e65f92ff   John Johansen   Config option to ...
216
  	default "" if DEFAULT_SECURITY_DAC
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
217
  endmenu