Linuxを再起動することなくカーネルにパッチを当てる「ライブパッチ」の技術的な仕組みと、その種類とは[PR]
今回は「Linuxを再起動することなくカーネルにパッチを当てる「ライブパッチ」の技術的な仕組みと、その種類とは[PR]」についてご紹介します。
関連ワード (妥協点、深刻、記事等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Linuxのアップデートパッチは脆弱性の大小にかかわらず、ほぼ毎月のように登場しているのが現状です。
パッチの適用を放置することは脆弱性を放置することにつながるため、脆弱性対策のパッチが公開されたならば、迅速なパッチの適用が望まれます。特に最近ではセキュリティの脆弱性を突かれたことで深刻な被害を被る企業などの事例が社会的な注目を集めるようになっており、迅速なパッチ適用の重要性は高まってきています。
一方で、ビジネス上の要請としては計画停止であってもサーバの停止は最低限で済ませることが望ましいとされています。計画停止であっても、数分から長いときには数十分かかるLinuxサーバの再起動を伴うアップデート作業を可能な限り回避したいという要望は変わらないでしょう。
ITの現場はこの、セキュリティ面ではこまめかつ迅速なパッチの適用が望ましいが、さりとてLinuxサーバはできるだけ再起動したくない、という2つの相反するような要望に対する妥協点、もしくは解決策を考え実現しなければならない立場にあります。
そこで、この要望を満たすソリューションとして多くの主要なLinuxディストリビューションベンダが提供しているのが、Linuxを再起動することなく、無停止でLinuxのカーネルや主要なソフトウェアコンポーネントにパッチを適用できるライブパッチングのサービスです。
特にサーバをインターネットに公開しているサービス事業者などにおいては、セキュリティとサービス継続性の両方を高いレベルで実現できるライブパッチングのニーズは非常に高いはずです。
ライブパッチングではカーネルを一瞬止めて内部をリダイレクト
ライブパッチングの基本的な仕組みは、次のようになっています。
まず脆弱性が修正されたカーネルのソースコードからパッチを作成します。パッチは、脆弱性が修正されたカーネルの部分的なバイナリです。
このパッチが実行中のカーネルのメモリ空間にロードされます。そして修正前の脆弱性を含むカーネルの関数が実行される前にカーネルの処理がサスペンドされ、脆弱性が修正されたパッチへとリダイレクトするように設定されます。
そしてサスペンドが解除されると、脆弱性が修正されたパッチへとカーネルの処理が移行します。
これにより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などの重要なコンポーネントについてもライブパッチが提供されます。
参考: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ライブパッチサービスのユーザー自身の管理下で、脆弱性への対応と修正による互換性の維持とのバランスを制御できるようになるのです。
また同社ではAlmaLinux以外のAmazon LinuxやRHEL、Ubuntu、Yocto LinuxなどのLinuxディストリビューションやMariaDBやPostgreSQLなどのソフトウェアにもライブパッチサービスを提供することが技術的に可能だとしています。
特にデータセンター事業者やサービス事業者においては、無停止でのアップデートは非常に有用であると見られるため、興味のある企業は同社に相談してみてください。
ライブパッチサービスを含むサポートが最大70%オフのキャンペーン
サイバートラストでは、AlmaLinuxのサポートサービス開始記念として、最大で70%オフのキャンペーンを実施しています。
すべてのお客様が20%オフになるだけでなく、無料ライセンスを含むMIRACLE LINUXのユーザーは50%オフになり、有償サポートに加入しているお客様は70%オフになります。
この機会に無停止で運用できるAlmaLinuxパッチサービスをぜひお試しください。
≫AlmaLinux OS サポートサービス キャンペーン|AlmaLinux| サイバートラスト
(本記事はサイバートラスト株式会社提供のタイアップ記事です)