第5章 外部カーネルパラメーターへの重要な変更
この章では、システム管理者向けに、Red Hat Enterprise Linux 9.8 で配布されるカーネルの重要な変更点の概要を説明します。これらの変更には、たとえば、追加または更新された proc エントリー、sysctl と sysfs のデフォルト値、ブートパラメーター、カーネル設定オプション、または注目すべき動作の変更などが含まれます。
新しいカーネルパラメーター
arm64.nompam=
[ARM64]
Memory Partitioning and Monitoring (MPAM) をサポートしているものの、ファームウェアで MPAM を有効化していないシステムで、MPAM のサポートを無効にします。
cgroup_v1_proc=
[KNL]
/proc/cgroups に存在しないコントローラーを表示します。
形式: { "true" | "false" }
デフォルトでは、/proc/cgroups には cgroup v1 コントローラーのみが表示されます。この互換性オプションは、(v1 用のコードがコンパイルされていない) v2 コントローラーもリストに表示します。そのため、従来方式に一部依存するソフトウェアでも、このファイルを使用して、v2 コントローラーを使用するかどうかを判断できます。
initramfs_options=
[KNL]
initramfs マウントのマウントオプションを指定します。
nvme.quirks=
[NVME]
組み込みの NVMe quirk リストを拡張します。
形式: VendorID:ProductID:quirk_names[-VendorID:ProductID:quirk_names…]
ID は 4 桁の 16 進数です。quirk_names フィールドは、コンマで区切られた quirk 名のリストです。特定の quirk を無効にするには、quirk 名の前に ^ を付けます。
以下に例を示します。
nvme.quirks=7710:2267:bogus_nid,^identify_cns-9900:7711:broken_msi
rh_waived=
[KNL]
Red Hat Enterprise Linux の免除対象項目を制御します。
一部の機能やセキュリティー緩和策は、必要に応じて適用を免除したり、オンまたはオフに切り替えたりすることができます。これらの項目は、必要な場合にのみ免除してください。システムがセキュアでなくなったり、サポート対象外になったりする可能性があるためです。
形式: <item-1>,<item-2>…<item-n>
rh_waived を使用すると、Documentation/admin-guide/rh-waived-features.rst に記載されているすべての免除機能を有効にできます。
vmscape=
[X86]
VMscape 攻撃に対する緩和策を制御します。
VMscape 攻撃は、投機的サイドチャネルを利用することで、ユーザー空間のハイパーバイザーからゲスト OS に情報を漏洩させる可能性があります。
以下の値が使用できます。
off- 緩和策を無効にします。
ibpb- Indirect Branch Prediction Barrier (IBPB) 緩和策を使用します (デフォルト)。
force- 影響を受けないプロセッサーに対しても、脆弱性検出を強制的に実行します。
カーネルパラメーターの変更
microcode=
[X86]
マイクロコードローダーの動作を制御します。
以下のオプションをコンマ区切りリストで指定できます。
base_rev=X-
デバッグモードの各スレッドのベースマイクロコードリビジョンを設定します。
<X>は 32 ビット符号なし整数です。 dis_ucode_ldr- マイクロコードローダーを無効にします。
force_minrev- ランタイムマイクロコードローダーに対する、最小マイクロコードリビジョンの強制を制御します。
mitigations=
[X86,PPC,S390,ARM64]
CPU 脆弱性に対するオプションの軽減策を制御します。
このカーネルパラメーターは、厳選されたアーキテクチャー非依存のオプション群です。各オプションは、アーキテクチャー固有のパラメーターをまとめたものです。
mitigations パラメーターは、カーネルが CPU_MITIGATIONS=y を使用してビルドされている場合にのみ使用できます。
以下の値が使用できます。
offオプションの CPU 緩和策をすべて無効にします。この設定により、システムパフォーマンスが向上する可能性がありますが、ユーザーが複数の CPU 脆弱性にさらされるおそれがあります。この設定は以下と同等です。
nokaslrが設定されている場合:-
kpti=0(ARM64 の場合)
以下の設定は常に適用されます。
-
gather_data_sampling=off(x86 の場合) -
indirect_target_selection=off(x86 の場合) -
kvm.nx_huge_pages=off(x86 の場合) -
l1tf=off(x86 の場合) -
mds=off(x86 の場合) -
mmio_stale_data=off(x86 の場合) -
no_entry_flush(PowerPC の場合) -
no_uaccess_flush(PowerPC の場合) -
nobp=0(IBM Z の場合) -
nopti(x86 および PowerPC の場合) -
nospectre_bhb(ARM64 の場合) -
nospectre_v1(x86 および PowerPC の場合) -
nospectre_v2(x86、PowerPC、IBM Z、および ARM64 の場合) -
reg_file_data_sampling=off(x86 の場合) -
retbleed=off(x86 の場合) -
spec_rstack_overflow=off(x86 の場合) -
spec_store_bypass_disable=off(x86 および PowerPC の場合) -
spectre_bhi=off(x86 の場合) -
spectre_v2_user=off(x86 の場合) -
srbds=off(x86 および Intel の場合) -
ssbd=force-off(ARM64 の場合) -
tsx_async_abort=off(x86 の場合) -
vmscape=off(x86 の場合)
-
- 例外
-
この設定は、
kvm.nx_huge_pages=forceの場合、kvm.nx_huge_pagesには影響しません。 auto(デフォルト)- すべての CPU の脆弱性を緩和し、同時マルチスレッディング処理 (SMT) が脆弱であっても、それを有効なまま維持します。カーネルのアップデート後も SMT を無効にしない場合や、SMT を標的とした攻撃を回避するために他の方法を利用する場合は、このオプションを使用してください。この設定はデフォルトの動作です。
auto,nosmtすべての CPU の脆弱性を緩和し、必要に応じて SMT を無効にします。SMT の無効化が必要になりますが、常に完全な緩和策を適用する必要がある場合は、このオプションを使用してください。x86 アーキテクチャーでは、この設定は以下と同等です。
-
l1tf=flush,nosmt -
mds=full,nosmt -
tsx_async_abort=full,nosmt -
mmio_stale_data=full,nosmt -
retbleed=auto,nosmt
-
x86 では、前述のいずれかのオプションを指定した後、Documentation/admin-guide/hw-vuln/attack_vector_controls.rst で説明されているように、攻撃ベクトルベースの制御を使用することもできます。