Meltdown脆弱性対応の無効化設定

[更新: 2020年11月30日]

概要

2018年に対応したMeltdown脆弱性対応により、処理内容によってはお客様が利用する仮想サーバ上でのCPU処理性能、ファイルシステム処理性能が低下してしまう可能性があります。

その対策として、Meltdown脆弱性対応により低下したCPUパフォーマンスを向上する手順について説明します。なお、本設定による影響範囲はお客様サーバ単位となるため、同一ホストサーバに収容される他のお客様サーバ含めさくらのクラウド全体での安全性には影響はありません。

警告

本設定を行ったお客様サーバではMeltdown脆弱性を利用した攻撃を受ける可能性があります。脆弱性の内容やその攻撃により生じるリスクを十分にご理解いただいた上で操作を行ってください。
また、本設定はさくらインターネットの動作保証外となるため、設定を実施した結果生じたいかなる損害においても弊社では責任を負いかねます。

CentOS7系での設定方法

CPUのpti(Page Table Isolation)機能の動作を制御する /sys/kernel/debug/x86/pti_enabled ファイルにはデフォルトで"1"が書き込まれ有効化された状態となっています。このファイルに"0"を書き込み無効化します。

# echo 0 > /sys/kernel/debug/x86/pti_enabled

上記の変更は瞬時に反映されますが、再起動によりデフォルトの状態に戻ります。永続的に設定したい場合は/etc/default/grubファイルを変更し、grub2-mkconfigコマンドで設定を反映します。

# sed -i -e "/GRUB_CMDLINE_LINUX/s/\"$/ nopti\"/g" /etc/default/grub
# grub2-mkconfig -o /boot/grub2/grub.cfg

CentOS6系での設定方法

重要

2020年11月末を持ってCentOS6系のサポートは終了しました。可能な限りCentOS7以降のバージョンへの移行を推奨します。

CentOS6では最初にdebugfsをマウントする必要があるため、以下のコマンドでマウントします。

# mount -t debugfs none /sys/kernel/debug

マウント後は、CentOS7の場合と同様に /sys/kernel/debug/x86/pti_enabled ファイルに"0"を書き込みます。

# echo 0 > /sys/kernel/debug/x86/pti_enabled

永続的に設定変更するため、grub.confの記述を修正します。

# sed -i -e '/kernel/s/$/ nopti/g' /etc/grub/grub.conf

Windows Serverでの設定方法

コマンドプロンプトで以下のコマンドを実行します。

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

コマンド実行後は再起動により有効化します。