kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。

Linux Kernelのライブパッチサービス

「Canonical」が「Linux Kernel」のライブパッチサービスの提供を開始しました。



Ubuntu 16.04 LTSに搭載しているLinux Kernel 4.4は、重要で新しいセキュリティー機能を提供している。
再起動することなく動作しているLinux Kernelに変更を施すことができるのだ。
この仕組みは、カーネルライブパッチ(kernel livepatch)と呼ばれている。

本日Canonicalは、Canonical Livepatch Serviceを公開した。
Linuxライブパッチのデータは、認証され、暗号化され、そして署名されたデータであり、Ubuntu 16.04 LTS 64bit版に搭載しているLinux Kernel 4.4に適用することができる。

再起動することなしに、重大で最も致命的な脆弱性に対応したパッチを動作中のLinuxカーネルに適用できるのだ。

この仕組みは、DockerやLXDなど特にコンテナーのホストにとって非常に素晴らしい仕組みである。
すべてのコンテナーは同じカーネルを共有しているため、すべてのインスタンスがこの利点を享受できるのだ。

Linux Kernelのアップデートとライブパッチ

「Ubuntu」では、セキュリティーアップデートの一環として脆弱性に対応した「Linux Kernel」のアップデートを提供しています。


アップデートされた「Linux Kernel」がリリースされると、「ソフトウェアの更新」等を通じてユーザーにアップデートされた「Linux Kernel」が提供されます。

アップデートを反映するにはPCの再起動が必須

「Linux Kernel」をアップデートすると、アップデート後の「Linux Kernel」でPCを起動するまでアップデートの内容が反映されません。


そのため「ソフトウェアの更新」等で「Linux Kernel」をアップデートすると、PCの再起動が促されます。

即座に再起動すべき

「Linux Kernel」はOSの中核となるソフトウェアであり、「Linux Kernel」の脆弱性は大きなセキュリティーリスクに成り得ます。

アップデートされた「Linux Kernel」が提供されたら原則即座に「Linux Kernel」をアップデートし、PCを再起動する必要があります。

そうはいっても・・・

個人ユーザーならPCの再起動で特別困る事態にはなりませんが、サービスを提供しているサーバーを再起動するとなると、事情が変わってきます。

サーバーを再起動するということは、そのサーバーが提供しているサービスが一時的に停止するということになります。
しかし致命的な脆弱性を放置するわけにも行きません。
また個人ユーザー見たくアップデートして再起動し作業完了というわけにも行きません。

再起動しなくても変更を反映できるように

そこで再起動せずに現在動作中の「Linux Kernel」に変更を適用する仕組みが登場しました。
それがこのカーネルライブパッチです。

この仕組み自体は1年半前ほどにリリースされた「Linux Kernel 4.0」の時からある仕組みでしたが、ユーザーがこの仕組みを利用するにはアップデート(ライブパッチ)を提供してくれる提供者が必要になります。

「Canonical」がアップデートを提供する「Canonical Livepatch Service」を立ち上げ、ユーザーはカーネルライブパッチを活用できるようになりました。

これにより「Ubuntu」の稼働時間や再起動を行うタイミングに幅ができました。

あくまでもパッチ

従来の「Linux Kernel」の丸ごとアップデートと異なり、あくまでもパッチの適用です。
重大な脆弱性など部分的なアップデートを「Linux Kernel」に適用します。

永遠に再起動しなくても随時すべてのアップデート(パッチ)が適用され続け、常に最新の「Linux Kernel」に保たれると言う意味ではありません。

注意

このサービスは法人向けのサービスです。
3台のマシンまで無料でこのサービスを利用できますが、一般的なデスクトップユーザーが積極的に利用するサービスではありません。

Canonical Livepatch Serviceの利用に関する注意事項

Canonical Livepatch Service」の利用に関する注意事項です。

1.システム要件

現状「Canonical Livepatch Service」を利用できるシステムの条件です。

Ubuntuのバージョン

サポートしている「Ubuntu」のバージョンは、「Ubuntu 16.04 64bit(amd64)版」のみです。
「Ubuntu 16.04 32bit版」では利用できません。

Ubuntuの種類

「Ubuntu Desktop」でも「Ubuntu Server」でも利用可能です。
Cloudでも利用可能です。

物理的なマシン(PC)や仮想マシンにインストールした「Ubuntu」、クラウド内の「Ubuntu」でも利用可能です。

Linux Kernelの種類

サポートしている「Linux Kernel」の種類(フレーバー)は、「generic」もしくは「low latency」である必要があります。
「Ubuntu」を普通にインストールすれば、 「generic」がインストールされます。

また「Ubuntu」が提供している「Linux Kernel」のみサポートしています。
自分でビルドした「Linux Kernel」など、第三者が手を加えた「Linux Kernel」では利用できません。

Linux Kernelのバージョン

サポートしている「Linux Kernel」のバージョンは、「Linux Kernel 4.4」です。

ネットワークアクセス

「https://livepatch.canonical.com:443」に接続できる環境が必要です。

Snap

「snapd 2.15」以上の「snapd」がインストールされている必要があります。

2.3台まで無料でサービスを利用可能

3台までのPCなら、「Canonical Livepatch Service」を無料で利用できます。
4台以上のPCで「Canonical Livepatch Service」を利用したい人は、有料サービスを利用する必要があります。

3台までとは言え、無料でサービスを利用できるのは嬉しいですね。
具体的にどのようなサービスなのか、どのように利用すればよいのか、事前に動作確認を行えます。

3.一般的なデスクトップユーザーは無理して利用しないように

上記にも記述した通り、あくまでもパッチの適用です。
ユーザーが操作を誤ったりよく分からないまま利用すると、セキュリティーリスクを抱えたままPCを利用することになりかねません。

一般的なデスクトップユーザーは今までどおり「ソフトウェアの更新」から「Linux Kernel」をアップデートし、アップデート完了後にPCを再起動する方法がお勧めです。

4.提供されるライブパッチの種類

本サービスは、重大で致命的な「Linux Kernel」の脆弱性に対応したライブパッチの提供を目的としています。
これらの脆弱性は、「Ubuntu Security Notices」や「CVE」で識別されています。

カーネルライブパッチ機能は「Linux Kernel」動作中にあらゆるパッチを適用できるほど万能ではなく、動作中に適用できないパッチも存在します。

「Canonical」は重大で致命的な脆弱性に対応したライブパッチの提供を適宜行えるよう最善を尽くしますが、アップデートの内容によっては、従来通り「Linux Kernel」のアップデート及びマシンの再起動が必要になるケースも存在します。

セキュリティーに影響しない不具合の修正や、安定性およびパフォーマンスに関する修正など本サービス目的外のアップデートは、従来通りの方法で「Linux Kernel」をアップデートし、マシンを再起動する必要があります。

5.ライブパッチのロールバックについて

適用中のライブパッチを元に戻したり削除する機能は無効にされているため、利用できません。
安全にパッチを取り除く方法が確立されていないためです。

Canonical Livepatch ServiceのFAQ

「Canonical Livepatch Service」のFAQです。

1.他のアーキテクチャーのサポート

現在アップストリームのカーネルライブパッチ機能は、「x86_64(amd64)」アーキテクチャーでのみサポートされているため、他のアーキテクチャーでカーネルライブパッチ機能を利用することが出来ません。

しかし「IBM」は、「POWER8」や「s390x」向けにカーネルライブパッチ機能を提供をするため開発を行っています。
また「ARM64」でも同様に開発が行われています。

環境が整えば、他のアーキテクチャーのサポートも行われる予定です。

ARM 32bitとx86 32bit

現在「ARM 32bit」と「x86 32bit」(いわゆるUbuntu 32bit版が該当) では、カーネルライブパッチの開発は行われていません。

2.Ubuntu 16.04以外のサポート

本サービスは「Ubuntu 16.04 LTS」に搭載している「Linux Kernel 4.4」向けに提供されており、「Ubuntu 16.04」以前のバージョンでは利用できません。

また「Ubuntu 16.10」などサポート期間が短い通常リリースの「Ubuntu」もサポート対象外です。
通常リリースの「Ubuntu」は開発者や新しい物好きなユーザーが積極的に利用するバージョンであり、「Ubuntu」の稼働時間を重視するユーザーが利用するバージョンではないためです。

ただし2017年にHWEで提供される「Linux Kernel」に関しては、サポートが検討されます。

3.Ubuntuの派生ディストリビューションのサポート

「Canonical Livepatch Service」は、「Ubuntu 16.04 LTS 64bit版」のDesktop、Cloud、Serverで完全にサポートされています。
Ubuntuの派生ディストリビューションではサポートされません。


関連記事一覧
オプション