第 3 章 对外部内核参数的重要更改
本章为系统管理员提供了与 Red Hat Enterprise Linux 7.6 附带的内核有显著变化的总结。这些更改包括添加或更新的
proc
条目、sysctl
和 sysfs
默认值、引导参数、内核配置选项或任何可见的行为更改。
内核参数
- hardened_usercopy = [KNL]
- 这个参数指定是否启用强化(默认)还是在引导时启用。强化的用户复制检查用于防止内核读取和写入超过已知的内存分配界限,作为检查内核的
copy_to_user ()
/copy_from_user ()
接口中的绑定漏洞。有效的设置为:在上
,关闭
。on
- 执行强化的用户复制检查(默认)。off
- 禁用强化的用户复制检查。 - no-vmw-sched-clock [X86,PV_OPS]
- 禁用半虚拟化 VMware 调度程序时钟并使用默认值。
- rdt = [HW,X86,RDT]
- 打开或关闭单独的 RDT 功能。可用功能包括:
cmt
、mbmtotal
、mbmlocal
、l3cat
、l3cdp
、l2cat
、l2cdp
、mba
。例如,要打开cmt
并关闭mba
,请使用:rdt=cmt,!mba
- nospec_store_bypass_disable [HW]
- 禁用 Speculative Store Bypass 漏洞的所有缓解方案。有关 Speculative Store Bypass (SSB)漏洞的更多信息,请参阅使用 Speculative Store Bypass - CVE-2018-3639 的内核 Side-Channel Attack。
- spec_store_bypass_disable = [HW]
- 某些 CPU 可能会容易受到常见的行业广泛的性能优化的攻击,称为 Speculative Store Bypass。在这种情况下,最近存储到同一内存位置,在以后的执行期间加载时会观察到同一内存位置。但是,此类存储不太可能被检测到,因此可以在特定指定执行窗口结束的停用前检测到它们。在存在安全漏洞的处理器中,可以在缓存侧频道攻击中使用 speculatively 转发的存储。例如,读取攻击者无法直接访问的内存,例如在沙盒代码中。此参数控制是否使用 Speculative Store Bypass (SSB)优化来缓解 SSB 漏洞。可能的值有:
on
- 无条件禁用 SSB。off
- 无条件地启用 SSB。auto
- 内核检测 CPU 模型是否包含 SSB 的实现并选择最合适的缓解方案。prctl
- 使用 prctl 控制线程的 SSB。默认情况下,为进程启用 SSB。控制的状态在 fork 上继承。不指定这个选项等同于spec_store_bypass_disable=auto
。有关 Speculative Store Bypass (SSB)漏洞的更多信息,请参阅使用 Speculative Store Bypass - CVE-2018-3639 的内核 Side-Channel Attack。 - nmi_watchdog = [KNL,BUGS=X86]
- 现在,可以使用
nmi_watchdog
和hardlockup_panic
sysctl 在运行时访问这些设置。
新的和更新 /proc/sys/kernel/ 条目
- hardlockup_panic
- 这个参数控制在检测到硬锁定时内核 panics。可能的值有:
0
- 在硬锁定时不 panic。1
- 硬锁定 panic。这也可以使用nmi_watchdog
内核参数进行设置。 - perf_event_mlock_kb
- 控制针对 mlock 限制的 per-cpu 环缓冲的大小。默认值为
512 + 1
页。 - perf_event_paranoid
- 由非特权用户控制性能事件系统的使用(没有
CAP_SYS_ADMIN
)。默认值为2
。可能的值有:-1
- 允许所有用户使用大多数事件。>=0
- 不允许没有CAP_SYS_ADMIN
的用户进行 ftrace 功能追踪点和原始追踪点访问。>=1
- 不允许 CPU 事件访问没有CAP_SYS_ADMIN
。>=2
- 禁止没有CAP_SYS_ADMIN
的用户进行内核分析。
新的 /proc/sys/net/core 条目
- bpf_jit_harden
- 在时间(JIT)编译器中为 Berkeley Packet Filter (BPF) Just 启用强化。支持扩展 Berkeley Packet Filter (eBPF) JIT 后端。启用强化性能,但可以缓解 JIT 分数。可能的值有:
0
- 禁用 JIT 强化(默认值)。1
- 仅为非特权用户启用 JIT 强化。2
- 为所有用户启用 JIT 强化。