1 # SPDX-License-Identifier: GPL-2.0-only << 2 config SECURITY_APPARMOR 1 config SECURITY_APPARMOR 3 bool "AppArmor support" 2 bool "AppArmor support" 4 depends on SECURITY && NET 3 depends on SECURITY && NET 5 select AUDIT 4 select AUDIT 6 select SECURITY_PATH 5 select SECURITY_PATH 7 select SECURITYFS 6 select SECURITYFS 8 select SECURITY_NETWORK 7 select SECURITY_NETWORK 9 default n 8 default n 10 help 9 help 11 This enables the AppArmor security m 10 This enables the AppArmor security module. 12 Required userspace tools (if they ar 11 Required userspace tools (if they are not included in your 13 distribution) and further informatio 12 distribution) and further information may be found at 14 http://apparmor.wiki.kernel.org 13 http://apparmor.wiki.kernel.org 15 14 16 If you are unsure how to answer this 15 If you are unsure how to answer this question, answer N. 17 16 >> 17 config SECURITY_APPARMOR_HASH >> 18 bool "Enable introspection of sha1 hashes for loaded profiles" >> 19 depends on SECURITY_APPARMOR >> 20 select CRYPTO >> 21 select CRYPTO_SHA1 >> 22 default y >> 23 help >> 24 This option selects whether introspection of loaded policy >> 25 is available to userspace via the apparmor filesystem. >> 26 >> 27 config SECURITY_APPARMOR_HASH_DEFAULT >> 28 bool "Enable policy hash introspection by default" >> 29 depends on SECURITY_APPARMOR_HASH >> 30 default y >> 31 help >> 32 This option selects whether sha1 hashing of loaded policy >> 33 is enabled by default. The generation of sha1 hashes for >> 34 loaded policy provide system administrators a quick way >> 35 to verify that policy in the kernel matches what is expected, >> 36 however it can slow down policy load on some devices. In >> 37 these cases policy hashing can be disabled by default and >> 38 enabled only if needed. >> 39 18 config SECURITY_APPARMOR_DEBUG 40 config SECURITY_APPARMOR_DEBUG 19 bool "Build AppArmor with debug code" 41 bool "Build AppArmor with debug code" 20 depends on SECURITY_APPARMOR 42 depends on SECURITY_APPARMOR 21 default n 43 default n 22 help 44 help 23 Build apparmor with debugging logic 45 Build apparmor with debugging logic in apparmor. Not all 24 debugging logic will necessarily be 46 debugging logic will necessarily be enabled. A submenu will 25 provide fine grained control of the 47 provide fine grained control of the debug options that are 26 available. 48 available. 27 49 28 config SECURITY_APPARMOR_DEBUG_ASSERTS 50 config SECURITY_APPARMOR_DEBUG_ASSERTS 29 bool "Build AppArmor with debugging as 51 bool "Build AppArmor with debugging asserts" 30 depends on SECURITY_APPARMOR_DEBUG 52 depends on SECURITY_APPARMOR_DEBUG 31 default y 53 default y 32 help 54 help 33 Enable code assertions made with AA_ 55 Enable code assertions made with AA_BUG. These are primarily 34 function entry preconditions but als 56 function entry preconditions but also exist at other key 35 points. If the assert is triggered i 57 points. If the assert is triggered it will trigger a WARN 36 message. 58 message. 37 59 38 config SECURITY_APPARMOR_DEBUG_MESSAGES 60 config SECURITY_APPARMOR_DEBUG_MESSAGES 39 bool "Debug messages enabled by defaul 61 bool "Debug messages enabled by default" 40 depends on SECURITY_APPARMOR_DEBUG 62 depends on SECURITY_APPARMOR_DEBUG 41 default n 63 default n 42 help 64 help 43 Set the default value of the apparmo 65 Set the default value of the apparmor.debug kernel parameter. 44 When enabled, various debug messages 66 When enabled, various debug messages will be logged to 45 the kernel message buffer. 67 the kernel message buffer. 46 << 47 config SECURITY_APPARMOR_INTROSPECT_POLICY << 48 bool "Allow loaded policy to be intros << 49 depends on SECURITY_APPARMOR << 50 default y << 51 help << 52 This option selects whether introspe << 53 is available to userspace via the ap << 54 adds to kernel memory usage. It is r << 55 of loaded policy, and check point an << 56 can be disabled for embedded systems << 57 cpu is paramount. << 58 << 59 config SECURITY_APPARMOR_HASH << 60 bool "Enable introspection of sha256 h << 61 depends on SECURITY_APPARMOR_INTROSPEC << 62 select CRYPTO << 63 select CRYPTO_SHA256 << 64 default y << 65 help << 66 This option selects whether introspe << 67 hashes is available to userspace via << 68 filesystem. This option provides a l << 69 checking loaded policy. This option << 70 time and can be disabled for small e << 71 << 72 config SECURITY_APPARMOR_HASH_DEFAULT << 73 bool "Enable policy hash introspection << 74 depends on SECURITY_APPARMOR_HASH << 75 default y << 76 help << 77 This option selects whether sha256 ha << 78 is enabled by default. The generation << 79 loaded policy provide system administ << 80 verify that policy in the kernel matc << 81 however it can slow down policy load << 82 these cases policy hashing can be dis << 83 enabled only if needed. << 84 << 85 config SECURITY_APPARMOR_EXPORT_BINARY << 86 bool "Allow exporting the raw binary p << 87 depends on SECURITY_APPARMOR_INTROSPEC << 88 select ZSTD_COMPRESS << 89 select ZSTD_DECOMPRESS << 90 default y << 91 help << 92 This option allows reading back bina << 93 It increases the amount of kernel me << 94 also increases policy load time. Thi << 95 checkpoint and restore support, and << 96 << 97 config SECURITY_APPARMOR_PARANOID_LOAD << 98 bool "Perform full verification of loa << 99 depends on SECURITY_APPARMOR << 100 default y << 101 help << 102 This options allows controlling whet << 103 verification of loaded policy. This << 104 except for embedded systems where th << 105 includes policy, and has some form o << 106 Disabling the check will speed up po << 107 << 108 config SECURITY_APPARMOR_KUNIT_TEST << 109 tristate "Build KUnit tests for policy << 110 depends on KUNIT && SECURITY_APPARMOR << 111 default KUNIT_ALL_TESTS << 112 help << 113 This builds the AppArmor KUnit tests << 114 << 115 KUnit tests run during boot and outp << 116 in TAP format (https://testanything. << 117 running KUnit test harness and are n << 118 production build. << 119 << 120 For more information on KUnit and un << 121 to the KUnit documentation in Docume << 122 << 123 If unsure, say N. <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.