安全

优质
小牛编辑
116浏览
2023-12-01

安全

no_file_caps
要求内核无视文件的权限。这样,执行文件的唯一途径就只有:由root去执行或者setuid root
noexec={on|off}
noexec32={on|off}
是否允许将某部分内存映射为"禁止执行",这是一种防止数据缓冲区溢出攻击的保护措施(也就是WinXP SP2曾经大力宣传的数据执行保护功能),建议保持默认值"on"。
[说明]noexec对32bit代码以及64bit代码都有约束力,而noexec32只针对32bit代码。
nosmap
禁用SMAP(CONFIG_X86_SMAP)支持。SMAP是Intel从Haswell微架构开始引入的一种新特征,用途是禁止内核因为自身错误意外访问用户空间的数据,以避免一些内核漏洞所导致的安全隐患。
nosmep
禁用SMEP(Supervisor Mode Execution
Prevention)支持。SMEP与SMAP类似,也是Intel从Haswell微架构开始引入的一种新特征,用途是禁止内核因为自身错误意外执行
用户空间的代码。以避免一些内核漏洞所导致的安全隐患。
nordrand
即使CPU支持(CONFIG_ARCH_RANDOM),也禁止内核使用RDRAND指令(不过用户空间依然可以使用此指令)。由于很多人怀疑RDRAND指令所依赖的硬件随机数生成器所使用的加密标准(NIST SP800-90)被NSA植入了后门,所以提供了该选项以禁用它,不过大神Torvalds不以为然
vsyscall={emulate|native|none}
控制vsyscall系统调用(调用固定的地址0xffffffffff600x00)的行为。大多数静态链接的可执行程序和老旧的Glibc会使用这个系统调用。因为vsyscall始终位于固定的地址,所以很容易被攻击者利用。
emulate(默认值) 捕捉vsyscalls系统调用,并对其进行安全的模拟。这是比较安全的选项,但效率并不最高。
native 将vsyscall系统调用直接转变成本地syscall指令,这比模拟方式效率稍微高一些。但是很容易被攻击。
none 完全禁用vsyscall系统调用。这是最安全的选项,但是有可能会导致系统工作异常。
[EVM]
evm="fix"
不管当前的完整性状态如何,都允许更新"security.evm"。
[SECURITY]
security={selinux|smack|tomoyo|apparmor|yama}
选择启用的安全模块。仅在内核同时开启了多个安全模块的情况下才有意义。
[SELINUX]
selinux={0|1}
是否在启动时就开启SELinux功能(CONFIG_SECURITY_SELINUX_BOOTPARAM):"0"表示关闭,"1"表示开启。
默认值由内核在编译时确定(CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE)。
即使设为"1",随后也可以通过 /selinux/disable 在加载安全策略前禁止SELinux功能。
[SELINUX]
enforcing={0|1}
是否在启动时强制启用SELinux规则。
"0"(默认值)表示仅仅做记录违规操作日志而不真正拒绝违规操作;
"1"表示真正拒绝违规操作并做记录违规操作日志。
该选项还可以在运行时通过 /selinux/enforce 进行修改
[SELINUX]
checkreqprot={0|1}
设置"checkreqprot"标记的初始值。
"0"表示由内核强制执行检查保护(包括其中隐含的所有执行保护)
"1"表示由应用程序自己主动请求执行检查保护
默认值由内核在编译时确定,也可以在运行时通过 /selinux/checkreqprot 修改
[APPARMOR]
apparmor={0|1}
是否在启动时就开启AppArmor功能(CONFIG_SECURITY_APPARMOR):"0"表示关闭,"1"表示开启。
默认值由内核在编译时确定(CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE)。