3장. 외부 커널 매개변수의 중요한 변경 사항
이 장에서는 Red Hat Enterprise Linux 7에 제공된 커널의 중요한 변경 사항에 대한 요약을 시스템 관리자에게 제공합니다. 이러한 변경 사항에는 추가 또는 업데이트된 proc
항목, sysctl
및 sysfs
기본값, 부팅 매개 변수, 커널 구성 옵션 또는 눈에 띄는 동작 변경 사항이 포함됩니다.
새 커널 매개변수
- audit = [KNL]
이 매개변수는 audit 하위 시스템을 활성화합니다.
값은 1 = enabled 또는 0 = disabled입니다. 기본값은 설정되지 않으며 이는 새 옵션이 아니지만 이전에 문서화되지 않았습니다.
형식: { "0" | "1" }
- audit_backlog_limit = [KNL]
이 매개변수는 감사 큐 크기 제한을 설정합니다.
기본값은 64입니다.
형식: <int> (>=0이어야 함)
- ipcmni_extend [KNL]
- 이 매개변수는 고유 System V IPC 식별자의 최대 32 768에서 16 777 216으로 확장합니다.
- nospectre_v1 [X86,PPC]
이 매개변수는 Spectre Variant 1(바인딩 검사 바이패스)에 대한 완화 기능을 비활성화합니다.
이 옵션을 사용하면 시스템에서 데이터 유출이 가능합니다.
- tsx = [X86]
이 매개변수는 TSX 제어를 지원하는 Intel 프로세서의 TSX(Transactional Synchronization Extensions) 기능을 제어합니다.
옵션은 다음과 같습니다.
-
on
- 시스템에서 TSX를 활성화합니다. 알려진 모든 보안 취약점에 대한 완화 조치가 있지만 TSX는 이전의 여러 사양 관련 CVE의 가속기 역할을 하는 것으로 알려졌기 때문에 활성화되는 것과 관련된 알려진 보안 위험이 있을 수 있습니다. -
off
- 시스템에서 TSX를 비활성화합니다. 이 옵션은 MDS(Microarchitectural Data Sampling)에 취약하지 않은 최신 CPU에서만 적용됩니다. 즉,MSR_IA32_ARCH_CAPABILITIES.MDS_NO=1
이며 마이크로 코드 업데이트를 통해 새로운IA32_TSX_CTRL
모델별 레지스터 (MSR)를 얻습니다. 이 새로운 MSR은 TSX 기능을 안정적으로 비활성화 할 수 있습니다. auto
-X86_BUG_TAA
가 있는 경우 TSX를 비활성화합니다. 그렇지 않으면 시스템에서 TSX를 활성화합니다.Red Hat은 TSX를 암시적으로 활성화했기 때문에 이 옵션을
tsx=on
에 지정하지 않습니다.자세한 내용은 TAA - TSX Asynchronous Abort 설명서를 참조하십시오.
-
- tsx_async_abort = [X86,INTEL]
이 매개변수는 TSX Async Abort(TAA) 취약점의 완화를 제어합니다.
MDS(Micro-architectural Data Sampling)와 유사하게 TSX(Transactional Synchronization Extensions)를 지원하는 특정 CPU는 CPU 내부 버퍼에 대한 악용에 취약합니다. 이 취약점은 특정 조건에서 공개 가젯으로 정보를 전달할 수 있습니다.
취약한 프로세서에서는 추측적으로 전달된 데이터를 캐시 사이드 채널 공격에 사용하여 공격자가 직접 액세스할 수 없는 데이터에 액세스할 수 있습니다.
옵션은 다음과 같습니다.
-
Full
- TSX가 활성화된 경우 취약한 CPU에서 TAA 완화 기능을 활성화합니다. -
전체,nosmt
- TAA 완화를 활성화하고 취약한 CPU에서 SMT(Simultaneous Multi Threading)를 비활성화합니다. TSX를 비활성화하면 CPU가 교차 스레드 TAA 공격에 취약하지 않으므로 SMT가 비활성화되지 않습니다. Off
- 무조건 TAA 완화를 비활성화합니다.MDS-affected 시스템에서 두 취약점 모두 동일한 메커니즘으로 완화되므로 활성 MDS 완화를 통해
tsx_async_abort=off
매개변수를 방지할 수 있습니다. 따라서 이 완화 기능을 비활성화하려면mds=off
매개변수를 지정해야 합니다.이 옵션을 지정하지 않는 것은
tsx_async_abort=full
. MDS에 영향을 미치고 MDS 완화를 배포하는 CPU에서는 TAA 완화 조치가 필요하지 않으며 추가 완화 조치를 제공하지 않습니다.자세한 내용은 TAA - TSX Asynchronous Abort 설명서를 참조하십시오.
-
업데이트된 커널 매개변수
- mitigations = [X86,PPC,S390]
CPU 취약점에 대한 선택적 완화 조치를 제어합니다. 이는 선별된 아키텍처 독립적인 옵션 세트이며, 각각은 기존 아키텍처별 옵션의 집계입니다.
옵션은 다음과 같습니다.
Off
- 선택한 CPU 완화를 모두 비활성화합니다. 이로 인해 시스템 성능이 향상되지만 사용자가 여러 CPU 취약점에 노출될 수도 있습니다.다음과 같습니다.
-
nopti [X86,PPC]
-
nospectre_v1 [X86,PPC]
-
nobp=0 [S390]
-
nospectre_v2 [X86,PPC,S390]
-
spec_store_bypass_disable=off [X86,PPC]
-
l1tf=off [X86]
-
mds=off [X86]
-
tsx_async_abort=off [X86]
kvm.nx_huge_pages=off [X86]
예외:
mitigations=off
는kvm.nx_huge_pages
=force.nx_huge_pages=force 인 경우 kvm.nx_huge_pages
매개변수에 영향을 미치지 않습니다.
-
Auto
(default) - 모든 CPU 취약점을 완화하지만 취약한 경우에도 SMT(Simultaneous multithreading)를 활성화합니다. 이는 SMT가 커널 업그레이드 전반에 걸쳐 비활성화되거나 SMT 기반 공격을 방지할 수 있는 다른 방법이 있는 경우 예기치 않은 사용자용입니다.다음과 같습니다.
- (기본 동작)
Auto,nosmt
- 모든 CPU 취약점을 완화하여 필요한 경우 SMT(Simultaneous multithreading)를 비활성화합니다. 이는 SMT 손실을 의미하더라도 항상 완전히 완화되기를 원하는 사용자에게 적합합니다.다음과 같습니다.
-
l1tf=flush,nosmt [X86]
-
mds=full,nosmt [X86]
-
tsx_async_abort=full,nosmt [X86]
-
새로운 /proc/sys/fs 매개변수
- negative-dentry-limit
이 매개 변수의 정수 값은 사용 가능한 총 시스템 메모리의 백분율로 시스템에서 허용되는 총 음수 들여쓰기 수에 대한 소프트 제한을 지정합니다. 이 값에 허용되는 범위는 0-100입니다. 값이 0이면 제한이 없음을 의미합니다. 각 단위는 총 시스템 메모리의 0.1%를 나타냅니다. 10%는 지정할 수 있는 최대값입니다.
32GB 메모리가 있는 AMD64 또는 Intel 64 시스템에서 1% 제한은 메모리당 약 1.7만 개의 들여쓰기 또는 메모리당 약 53000개의 들여쓰기로 변환됩니다.