ページへ戻る

+ Links

 印刷 

Gentoo Linuxな生活​/MeltdownとSpectre対策 :: Nest Of Hawk

xpwiki:Gentoo Linuxな生活/MeltdownとSpectre対策

コンピュータ業界に激震が走る。 anchor.png

2018年初っ端、コンピュータ業界に大激震が走りました。PentiumⅡ以降から運用されているCPUに、ハード的な脆弱性があると発表されました。それがMeltdownとSpectre。そらもう世間は蜂の巣つついた大騒ぎでした。うちのサーバも世間にさらしている以上、分かっているセキュリティ対策はなんとかしておきたい。このため、各所より発表されている対策を施しましたので、同様の皆様のためにも、まとめておこうかと思います。

対策のポイントは以下です。

  • Meltdown&Spectreの対策パッチが当たっているカーネルを導入
  • Linuxカーネルのビルドオプション
  • Spectre対策パッチが施されているコンパイラ

それでは行ってみましょう

Page Top

Linuxカーネル側 anchor.png

Page Top

対策版Linuxカーネルソースのインストール anchor.png

2018年2月25日時点で、Meltdown&Spectre対策のパッチは、Longterm,Stableの最新版には当たっております。現在Longtermリリースの最新版は4.14.21、Stableリリース最新版は4.15.6です。とりあえず、うちは安定性で4.14を採用しております。但し、Gentooのパッケージでは、Unstableになっておりますので、ロック解除しなければなりません。設定しておきます。

/etc/portage/package.keywordsに以下を追記します。

<sys-kernel/gentoo-sources-4.15

で、Linuxカーネル4.14の最新版をemergeします。

Page Top

カーネルオプションの設定 anchor.png

以下のカーネルオプションを必須で設定しましょう

Processor type and features
[*] Avoid speculative indirect branches in kernel RETPOLINE Patch(Spectre)
[*] Build a relocatable kernel
[*] Randomize the address of the kernel image (KASLR) (Meltdown)

Security Options
[*] Remove the kernel mapping in user mode Kernel Page Table Isolation (Meltdown)
Page Top

GCC 7.3のインストール anchor.png

RETPOLINE対策がされているコンパイラである、GCC7.3をインストールしましょう。但し、Gentoo Stableでは無いので、これまた設定を追加します。

/etc/portage/package.keywords

=sys-devel/gcc-7.3.0
=dev-libs/boehm-gc-7.6.4

/etc/portage/package.use

dev-libs/boehm-gc abi_x86_32
dev-libs/libatomic_ops abi_x86_32

で、emergeします。さらに、以下のコマンドでgccのアップグレード

# gcc-config x86_64-genelic-linux-gnu-7.3.0
# emerge -1v libtool
Page Top

カーネルのリビルド anchor.png

Linuxカーネルを通常手順でリビルド致します。

 # cd /usr/src/linux
 # make
 # make modules_install

あとは、ビルドカーネルをブート可能な状態にして、サーバをリブート致します。

Page Top

成果 anchor.png

本対策で、Spectre&Meltdownにおける、Variant2とVariant3に対応出来ました。Variant1は、アプリ側の対応らしいので、出来ることはここまでかな。とりあえずホッと一安心。


Last-modified: 2018-02-25 (日) 21:27:38 (JST) (2223d) by maruo