Blame view
security/Kconfig
10.7 KB
ec8f24b7f treewide: Add SPD... |
1 |
# SPDX-License-Identifier: GPL-2.0-only |
1da177e4c Linux-2.6.12-rc2 |
2 3 4 5 6 |
# # Security configuration # menu "Security options" |
8636a1f96 treewide: surroun... |
7 |
source "security/keys/Kconfig" |
1da177e4c Linux-2.6.12-rc2 |
8 |
|
eaf06b241 Restrict unprivil... |
9 10 11 12 13 14 15 16 17 18 19 |
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 Linux-2.6.12-rc2 |
20 21 |
config SECURITY bool "Enable different security models" |
2c40579bd [PATCH] SECURITY ... |
22 |
depends on SYSFS |
2813893f8 kernel: condition... |
23 |
depends on MULTIUSER |
1da177e4c Linux-2.6.12-rc2 |
24 25 26 27 28 29 30 31 |
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 security: introdu... |
32 33 34 35 |
config SECURITY_WRITABLE_HOOKS depends on SECURITY bool default n |
da31894ed securityfs: do no... |
36 37 38 39 |
config SECURITYFS bool "Enable the securityfs filesystem" help This will build the securityfs filesystem. It is currently used by |
b102c11e1 LSM: Update list ... |
40 |
various security modules (AppArmor, IMA, SafeSetID, TOMOYO, TPM). |
da31894ed securityfs: do no... |
41 42 |
If you are unsure how to answer this question, answer N. |
1da177e4c 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 [LSM-IPSec]: Secu... |
51 |
|
385ce0ea4 x86/mm/pti: Add K... |
52 53 |
config PAGE_TABLE_ISOLATION bool "Remove the kernel mapping in user mode" |
87faa0d9b x86/pti: Enable P... |
54 |
default y |
61a6bd83a Revert "x86/mm/le... |
55 |
depends on (X86_64 || X86_PAE) && !UML |
385ce0ea4 x86/mm/pti: Add K... |
56 57 58 59 |
help This feature reduces the number of hardware side channels by ensuring that the majority of kernel addresses are not mapped into userspace. |
cb1aaebea docs: fix broken ... |
60 |
See Documentation/x86/pti.rst for more details. |
385ce0ea4 x86/mm/pti: Add K... |
61 |
|
d291f1a65 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 [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 Linux-2.6.12-rc2 |
82 |
|
be6d3e56a 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 x86, intel_txt: I... |
91 92 |
config INTEL_TXT bool "Enable Intel(R) Trusted Execution Technology (Intel(R) TXT)" |
69575d388 x86, intel_txt: c... |
93 |
depends on HAVE_INTEL_TXT |
316253406 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 x86, intel_txt: F... |
100 |
Intel TXT will provide higher assurance of system configuration and |
316253406 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 x86, intel_txt: F... |
109 |
it was configured with, especially since they may be responsible for |
316253406 x86, intel_txt: I... |
110 111 112 113 114 |
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. |
e8d776f20 docs: x86: move t... |
115 |
See Documentation/x86/intel_txt.rst for a description of how to enable |
316253406 x86, intel_txt: I... |
116 117 118 |
Intel TXT support in a kernel boot. If you are unsure as to whether this is required, answer N. |
788084aba Security/SELinux:... |
119 |
config LSM_MMAP_MIN_ADDR |
024e6cb40 security: Fix pro... |
120 |
int "Low address space for LSM to protect from user allocation" |
788084aba Security/SELinux:... |
121 |
depends on SECURITY && SECURITY_SELINUX |
530b099df security: select ... |
122 |
default 32768 if ARM || (ARM64 && COMPAT) |
a58578e47 security: Make LS... |
123 |
default 65536 |
788084aba 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 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 mm: Hardened user... |
141 142 |
config HARDENED_USERCOPY bool "Harden memory copies between kernel and userspace" |
6040e5765 Make the hardened... |
143 |
depends on HAVE_HARDENED_USERCOPY_ALLOCATOR |
22ec1a2ae /dev/mem: Add bou... |
144 |
imply STRICT_DEVMEM |
f5509cc18 mm: Hardened user... |
145 146 147 148 149 |
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 security: Grammar... |
150 |
separately allocated pages, are not on the process stack, |
f5509cc18 mm: Hardened user... |
151 152 |
or are part of the kernel text. This kills entire classes of heap overflow exploits and similar kernel memory exposures. |
2d891fbc3 usercopy: Allow s... |
153 154 155 156 157 158 159 160 161 162 163 164 165 |
config HARDENED_USERCOPY_FALLBACK bool "Allow usercopy whitelist violations to fallback to object size" depends on HARDENED_USERCOPY default y help This is a temporary option that allows missing usercopy whitelists to be discovered via a WARN() to the kernel log, instead of rejecting the copy, falling back to non-whitelisted hardened usercopy that checks the slab allocation size instead of the whitelist size. This option will be removed once it seems like all missing usercopy whitelists have been identified and fixed. Booting with "slab_common.usercopy_fallback=Y/N" can change this setting. |
8e1f74ea0 usercopy: remove ... |
166 167 168 |
config HARDENED_USERCOPY_PAGESPAN bool "Refuse to copy allocations that span multiple pages" depends on HARDENED_USERCOPY |
80a77045d Merge tag 'userco... |
169 |
depends on EXPERT |
8e1f74ea0 usercopy: remove ... |
170 171 172 173 174 175 |
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 include/linux/str... |
176 177 178 179 180 181 |
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 Introduce STATIC_... |
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
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. ""). |
8636a1f96 treewide: surroun... |
216 217 218 219 220 221 |
source "security/selinux/Kconfig" source "security/smack/Kconfig" source "security/tomoyo/Kconfig" source "security/apparmor/Kconfig" source "security/loadpin/Kconfig" source "security/yama/Kconfig" |
aeca4e2ca LSM: add SafeSetI... |
222 |
source "security/safesetid/Kconfig" |
000d388ed security: Add a s... |
223 |
source "security/lockdown/Kconfig" |
1da177e4c Linux-2.6.12-rc2 |
224 |
|
8636a1f96 treewide: surroun... |
225 |
source "security/integrity/Kconfig" |
3323eec92 integrity: IMA as... |
226 |
|
2623c4fbe LSM: Revive CONFI... |
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 |
choice prompt "First legacy 'major LSM' to be initialized" default DEFAULT_SECURITY_SELINUX if SECURITY_SELINUX default DEFAULT_SECURITY_SMACK if SECURITY_SMACK default DEFAULT_SECURITY_TOMOYO if SECURITY_TOMOYO default DEFAULT_SECURITY_APPARMOR if SECURITY_APPARMOR default DEFAULT_SECURITY_DAC help This choice is there only for converting CONFIG_DEFAULT_SECURITY in old kernel configs to CONFIG_LSM in new kernel configs. Don't change this choice unless you are creating a fresh kernel config, for this choice will be ignored after CONFIG_LSM has been set. Selects the legacy "major security module" that will be initialized first. Overridden by non-default CONFIG_LSM. 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 config DEFAULT_SECURITY_APPARMOR bool "AppArmor" if SECURITY_APPARMOR=y config DEFAULT_SECURITY_DAC bool "Unix Discretionary Access Controls" endchoice |
13e735c0e LSM: Introduce CO... |
260 261 |
config LSM string "Ordered list of enabled LSMs" |
000d388ed security: Add a s... |
262 263 264 265 266 |
default "lockdown,yama,loadpin,safesetid,integrity,smack,selinux,tomoyo,apparmor" if DEFAULT_SECURITY_SMACK default "lockdown,yama,loadpin,safesetid,integrity,apparmor,selinux,smack,tomoyo" if DEFAULT_SECURITY_APPARMOR default "lockdown,yama,loadpin,safesetid,integrity,tomoyo" if DEFAULT_SECURITY_TOMOYO default "lockdown,yama,loadpin,safesetid,integrity" if DEFAULT_SECURITY_DAC default "lockdown,yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor" |
13e735c0e LSM: Introduce CO... |
267 268 |
help A comma-separated list of LSMs, in initialization order. |
79f7865d8 LSM: Introduce "l... |
269 270 |
Any LSMs left off this list will be ignored. This can be controlled at boot with the "lsm=" parameter. |
13e735c0e LSM: Introduce CO... |
271 272 |
If unsure, leave this as the default. |
9f671e581 security: Create ... |
273 |
source "security/Kconfig.hardening" |
1da177e4c Linux-2.6.12-rc2 |
274 |
endmenu |