*コンピュータ業界に激震が走る。 [#u1d15249] 2018年初っ端、コンピュータ業界に大激震が走りました。PentiumⅡ以降から運用されているCPUに、ハード的な脆弱性があると発表されました。それがMeltdownとSpectre。そらもう世間は蜂の巣つついた大騒ぎでした。うちのサーバも世間にさらしている以上、分かっているセキュリティ対策はなんとかしておきたい。このため、各所より発表されている対策を施しましたので、同様の皆様のためにも、まとめておこうかと思います。 対策のポイントは以下です。 -Meltdown&Spectreの対策パッチが当たっているカーネルを導入 -Linuxカーネルのビルドオプション -Spectre対策パッチが施されているコンパイラ それでは行ってみましょう *Linuxカーネル側 [#zecba13f] **対策版Linuxカーネルソースのインストール [#aed11328] 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します。 **カーネルオプションの設定 [#q2cbfd56] 以下のカーネルオプションを必須で設定しましょう 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) **GCC 7.3のインストール [#kc4a482b] 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 **カーネルのリビルド [#haa04ea9] Linuxカーネルを通常手順でリビルド致します。 # cd /usr/src/linux # make # make modules_install あとは、ビルドカーネルをブート可能な状態にして、サーバをリブート致します。 *成果 [#q7d55360] 本対策で、Spectre&Meltdownにおける、Variant2とVariant3に対応出来ました。Variant1は、アプリ側の対応らしいので、出来ることはここまでかな。とりあえずホッと一安心。