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

Canonical Livepatch Serviceの利用方法

Canonical Livepatch Service」の利用方法です。
ここでは無料で利用してみます。
事前に「ソフトウェアの更新」等ですべてのアップデートを適用しておきましょう。

Ubuntu Oneのアカウントが必要

サービスを利用するには、「Ubuntu One」のアカウントが必要になります。
「Ubuntu One」アカウントを持っていない人は、事前に「Ubuntu One」のアカウントを取得しておきましょう。


1.トークンの取得

Canonical Livepatch Service」をブラウザーで開きます。
無料でサービスを利用する場合は、「Ubuntu user」を選択します。


「Get your token」ボタンをクリックします。

2.トークンの確認

以下のようにトークンが表示されるので、トークンをクリップボードにコピーしておきます。


3.canonical-livepatchのインストール

「端末」を起動し、以下のコマンドを実行します。

sudo snap install canonical-livepatch


4.canonical-livepatchサービスの有効化

以下のコマンドを実行します。

sudo canonical-livepatch enable トークン


以上で完了です。
簡単ですね。

canonical-livepatchサービスを無効化するには

canonical-livepatchサービスを無効化するには、以下のコマンドを実行します。

sudo canonical-livepatch disable


この状態でマシンを再起動すれば、パッチが適用されていない状態に戻ります。

ライブパッチの状態を確認するには

ライブパッチの状態を確認するには、以下のコマンドを実行します。

canonical-livepatch status --verbose


パッチの自動適用

ライブパッチがあれば、以下のようにパッチが自動的に適用されます。
「state」の項目が「applying」になっており、ライブパッチ適用中であることが分かります。


「fixes」から「CVE-2016-5195」の修正を含んだパッチであることが分かります。
USN-3106-1: Linux kernel vulnerability」に対応したものですね。

パッチの適用が完了すれば、「state」の項目が「applied」になります。


パッチといってもバイナリーデータを差分適用するのではなく、脆弱性の原因となっている関数(システムコール)を修正済みの関数で置き換えます。

カネールモジュールの一覧からパッチを探す

読み込まれているカーネルモジュールの一覧から、現在適用されているパッチを検索してみます。
以下のコマンドを実行します。

lsmod | grep livepatch


現在適用されているパッチが検出されました。
カーネルモジュールとしてパッチが提供されていることが分かります。

Sysfsからパッチを探す

仮想ファイルシステムである「Sysfs」から登録済みのパッチを探すことが出来ます。
以下のコマンドを実行します。

ls /sys/kernel/livepatch


登録済みのパッチが表示されます。

パッチが適用されている状態でソフトウェアの更新を起動すると・・・

USN-3106-1: Linux kernel vulnerability」に対応した「Linux Kernel」は、「ソフトウェアの更新」を通じてPCにインストールすることが出来ます。

同じ脆弱性に対応したライブパッチがすでに適用済みであっても、「ソフトウェアの更新」を起動すれば以下のように「Linux Kernel」のアップデートが可能です。



関連記事一覧
オプション