Linuxを再起動することなくカーネルにパッチを当てる「ライブパッチ」の技術的な仕組みと、その種類とは[PR]

2023年8月30日

Linuxのアップデートパッチは脆弱性の大小にかかわらず、ほぼ毎月のように登場しているのが現状です。

パッチの適用を放置することは脆弱性を放置することにつながるため、脆弱性対策のパッチが公開されたならば、迅速なパッチの適用が望まれます。特に最近ではセキュリティの脆弱性を突かれたことで深刻な被害を被る企業などの事例が社会的な注目を集めるようになっており、迅速なパッチ適用の重要性は高まってきています。

一方で、ビジネス上の要請としては計画停止であってもサーバの停止は最低限で済ませることが望ましいとされています。計画停止であっても、数分から長いときには数十分かかるLinuxサーバの再起動を伴うアップデート作業を可能な限り回避したいという要望は変わらないでしょう。

ITの現場はこの、セキュリティ面ではこまめかつ迅速なパッチの適用が望ましいが、さりとてLinuxサーバはできるだけ再起動したくない、という2つの相反するような要望に対する妥協点、もしくは解決策を考え実現しなければならない立場にあります。

そこで、この要望を満たすソリューションとして多くの主要なLinuxディストリビューションベンダが提供しているのが、Linuxを再起動することなく、無停止でLinuxのカーネルや主要なソフトウェアコンポーネントにパッチを適用できるライブパッチングのサービスです。

特にサーバをインターネットに公開しているサービス事業者などにおいては、セキュリティとサービス継続性の両方を高いレベルで実現できるライブパッチングのニーズは非常に高いはずです。

ライブパッチングではカーネルを一瞬止めて内部をリダイレクト

ライブパッチングの基本的な仕組みは、次のようになっています。

まず脆弱性が修正されたカーネルのソースコードからパッチを作成します。パッチは、脆弱性が修正されたカーネルの部分的なバイナリです。

このパッチが実行中のカーネルのメモリ空間にロードされます。そして修正前の脆弱性を含むカーネルの関数が実行される前にカーネルの処理がサスペンドされ、脆弱性が修正されたパッチへとリダイレクトするように設定されます。

fig

そしてサスペンドが解除されると、脆弱性が修正されたパッチへとカーネルの処理が移行します。

これによりOSを再起動することなく、カーネルの脆弱性が修正されるのです。この処理は一般に数ミリ秒で終わるため、ライブパッチングが性能に影響することはほとんどありません。

パッチを定期的に取得し、カーネルのメモリ空間に展開する操作や、割り込みなどを考慮した適切なタイミングでサスペンドやリダイレクトを行う処理は、ライブパッチングのために用意されたエージェントが行います。

このようなライブパッチングを実現するサービスは、前述の通り複数のLinuxディストリビューションベンダが提供しています。

その中でも、CloudLinux社が提供するTuxCareはこの分野の代表的なサービスの1つです。

そしてTuxCareは、一般にライブパッチングの手法は大きく2つに分けられると説明しています。「テンポラリパッチング」と「パーシステントパッチング」です。

テンポラリパッチングは数カ月毎に再起動が推奨

テンポラリパッチングでは、基本的に1つのパッチには1つの脆弱性に対応した修正が含まれています。

そのため、あるパッチをライブパッチングで適用すれば、その時点でそのパッチに含まれる脆弱性に対応できます。

ただし容易に想像できるようにLinuxカーネルの動作は非常に複雑です。

個別の脆弱性を修正するために作成されたパッチは、それ単体ではカーネルの動作に影響しないように作成されますが、データ構造などカーネル内部に何らかの変更をもたらします。すると、複数のパッチを適用していくことで修正内容がいつのまにかコンフリクトしてカーネルの動作が不安定になったり遅くなったりする可能性があります。

そのため、テンポラリパッチング方式は迅速な脆弱性への対応を実現しますが、結局は数カ月ごとにOSを終了させてカーネル全体をアップデートし、再起動することが推奨されています。

パーシステントパッチングは自己完結型で長期的に再起動不要

こうした問題を解決するのがパーシステントパッチングです。

パーシステントパッチングのパッチは、特定の脆弱性に対する修正だけでなく、関連するカーネルの過去の修正もすべて含む自己完結型のパッチとして作成されています。

それぞれのパッチが完結したアップデートとなるため、複数のパッチを適用しても修正内容がコンフリクトすることなく安定した動作継続が約束されています。何度パッチを適用してもOSを再起動する必要はありません。

パーシステントパッチングは長期的なスパンでゼロダウンタイムな運用を可能にしているのです。

ライブパッチングのサービスを提供しているベンダには、テンポラリパッチングを採用しているところもあれば、パーシステントパッチングを採用しているところもあります。

商用のサービスを選択する場合には、契約前にどちらの方式なのかを認識しておくことが重要でしょう。

サイバートラストがTuxCareのパーシステントパッチングの提供開始

そしてTuxCareでは、パーシステントパッチング方式でのパッチとサービスを提供しており、長期にわたってOSを再起動せずに運用することを実現しています。

そのTuxCareを提供しているCloudLinux社と提携し、日本国内で「AlmaLinuxライブパッチサービス」の提供を開始するのが、MIRACLE LINUXの開発提供で知られるサイバートラストです。

AlmaLinuxはRed Hat Enterprise Linuxの代表的な互換OSとして知られており、CloudLinux社はそのディストリビューションの主要なスポンサーでもあります。すなわちCloudLinux社のTuxCareと国内で提供される「AlmaLinuxライブパッチサービス」は、AlmaLinuxの正統的なパッチサービスと言えるでしょう。

サイバートラストは今年(2023年)5月にはThe AlmaLinux OS Foundationのプラチナスポンサーとなって日本国内でのAlmaLinuxの商用サポートの開始を発表しました。AlmaLinuxライブパッチサービスはその商用サポートのメニューの1つとして提供されるものです。

長期的にOSを再起動することなく無停止で運用できるカーネル用のパッチだけでなく、GlibcやOpenSSLなどの重要なコンポーネントについてもライブパッチが提供されます。

fig

参考:RHELクローンOSのAlmaLinuxにMIRACLE LINUXが合流を発表。国内でAlmaLinuxのサポートも提供開始

10年単位のサポート、パッチ作成の制御など

サイバートラストが提供するAlmaLinuxライブパッチサービスには、長期でOSの再起動を不要にするパッチ提供に加えて、いくつかの特徴があります。

1つは、10年単位でアップデートのサポートを受け続けられるとともに、日本語でのサポートを問い合わせ数無制限で受けられる「AlmaLinux Standardサポート」を含んでいることです。

同社は国産の代表的なLinuxディストリビューションであるMIRACLE LINUXを20年以上提供しサポートし続けてきた実績や、カーネルのソースコードまで追える開発者も抱えている高い技術力を備えています。

もう1つは、特定の脆弱性への対応を除外するパッチの作成を可能にしていることです。

一般に、発見された脆弱性にはCVE(Common Vulnerabilities and Exposures)と呼ばれる番号が識別子として用いられます。

このとき、あるCVE番号が付いた脆弱性を修正することによってアプリケーションの互換性に問題が発生するなど、特定の環境で問題を引き起こすことが分かっている場合、AlmaLinuxライブパッチサービスの管理画面から特定のCVE番号を除外することで、特定の脆弱性への対応を除外するパッチの作成が可能です。

これによりAlmaLinuxライブパッチサービスのユーザー自身の管理下で、脆弱性への対応と修正による互換性の維持とのバランスを制御できるようになるのです。

figパッチの管理画面。どのCVEを有効にするか、などを設定できる

また同社ではAlmaLinux以外のAmazon LinuxやRHEL、Ubuntu、Yocto LinuxなどのLinuxディストリビューションやMariaDBやPostgreSQLなどのソフトウェアにもライブパッチサービスを提供することが技術的に可能だとしています。

特にデータセンター事業者やサービス事業者においては、無停止でのアップデートは非常に有用であると見られるため、興味のある企業は同社に相談してみてください。

ライブパッチサービスを含むサポートが最大70%オフのキャンペーン

サイバートラストでは、AlmaLinuxのサポートサービス開始記念として、最大で70%オフのキャンペーンを実施しています

すべてのお客様が20%オフになるだけでなく、無料ライセンスを含むMIRACLE LINUXのユーザーは50%オフになり、有償サポートに加入しているお客様は70%オフになります。

fig

この機会に無停止で運用できるAlmaLinuxパッチサービスをぜひお試しください。

AlmaLinux OS サポートサービス キャンペーン|AlmaLinux| サイバートラスト

(本記事はサイバートラスト株式会社提供のタイアップ記事です)

あわせて読みたい

Linux OS PR




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本