2024 年 09 月 20 日
Linux の具体的な脆弱性対策とコスト軽減方法
~ 増え続ける脆弱性への対応には多くのコストが発生、コスト軽減のカギは OS の再起動 ~
近年、サイバー攻撃の数は増加の一途をたどっており、その手法も高度化しています。
攻撃者は様々な方法でシステムに含まれる脆弱性を利用して機密情報の窃取やランサムウェア攻撃を行います。
これに伴い、Linux を使用しているシステムでも脆弱性に対して迅速に対応することが求められています。脆弱性対策は大きく 4 つの段階に分けられます。
- 情報入手:網羅的に最新の脆弱性情報を収集する
- 評価:システムに影響する脆弱性をリストアップする
- 方針検討:優先的に対応すべき脆弱性を特定する ( トリアージ )
- 適用:脆弱性が含まれるソフトウェアをアップデートする
1~3 については常時、最新の情報を収集し分析することが求められますが、脆弱性管理ソリューションを活用することで脆弱性対策を効率的に進めることができます。詳細については こちらの記事 を参照してください。
本稿では、4 の Linux サーバーにおける脆弱性が含まれるソフトウェアのアップデートについて解説します。
脆弱性のあるパッケージをアップデートすることで脆弱性対策を行う
Linux サーバーの脆弱性対策の基本は、脆弱性のあるパッケージを迅速にアップデートすることです。
Linux は OS を構成するほとんどのソフトウェアがパッケージとして管理されているため、脆弱性の含まれるパッケージを各ディストリビューションに搭載されているパッケージマネージャーでアップデートすることが必要になります。
ディストリビューション | パッケージマネージャー | 全てのパッケージを更新するコマンド | 特定のパッケージを更新するコマンド |
---|---|---|---|
RHEL / AlmaLinux | DNF | sudo dnf upgrade | sudo dnf upgrade < パッケージ名 > |
Ubuntu / Debian | APT | sudo apt update && sudo apt upgrade | sudo apt install --only-upgrade < パッケージ名 > |
表 . 主要なディストリビューション毎のパッケージアップデート方法
特定の脆弱性に対応するパッケージのアップデートが提供されているかどうかは、各ディストリビューションの公開情報で確認できることがあります。
ディストリビューション | URL |
---|---|
AlmaLinux | AlmaLinux Errata |
RHEL | Red Hat Product Errata |
Ubuntu | Ubuntu Security Notices |
Debian | Debian -- Security Information |
表 . 主要なディストリビューション毎のアップデート情報
パッケージアップデート時の OS 再起動の必要性
Linux システムでパッケージをアップデートする際、全てのアップデートが OS の再起動を必要とするわけではありません。しかし、特定の重要なパッケージのアップデートでは再起動が必要となる場合があります。
再起動が必要な場合
主にシステムのコア部分に関わるパッケージをアップデートした場合、OS の再起動が必要になります。アップデートコマンドを実行しても再起動を行わない場合、脆弱性は修正されません。
- Kernel 関連のパッケージ:
Kernel は OS の中核を成す部分であり、そのアップデート後には OS の再起動が必要です。 - glibc、OpenSSL 等のシステムライブラリパッケージ:
これらのライブラリは多くのシステムプロセスやアプリケーションで使用されているため
アップデート時には OS の再起動を行う必要があります。
再起動が不要な場合
一般的なアプリケーションやサービスのアップデートでは、OS の再起動は不要です。ただし、アップデート後にサービスを再起動することで新しいバージョンを適用する必要があります。例えば、httpd や nginx( ウェブサーバー ) などのパッケージをアップデートした場合、そのサービスを再起動することが推奨されます。
OS の再起動が必要なアップデートの注意点
稼働中のシステムでパッケージのアップデート作業を行う場合、原則として事前の検証を十分に行うことと、万が一アップデートが失敗した際の手段を用意しておくことが必要です。
特に OS の再起動を伴うアップデートはシステムが一時的に停止するため、以下のようなポイントを踏まえて入念な準備が必要です。
- 影響範囲の把握 :
アップデート対象のパッケージがシステム全体や特定のサービスに与える影響を事前に把握します。OS の再起動を伴うアップデートの場合、システムが停止するため、全体的な依存関係や互換性の確認が必要になります。 - 再起動計画の策定 :
再起動にかかる時間や手順を明確にし、作業の実施タイミングや作業時間の計画を策定します。特に OS の再起動を伴うアップデートの場合、システム停止に伴う影響が広範囲に渡るため、トラブル発生時の体制や復旧手順も考慮して計画を準備する必要があります。 - 重要なデータのバックアップ :
アップデート作業前に、重要なデータや設定ファイルのバックアップを必ず行います。OS の再起動を伴うアップデート時には、OS が起動しなくなる等のトラブル発生に備え、システムバックアップの取得と、バックアップからの復元手順も合わせて検証することが重要です。 - テスト環境での検証 :
本番環境での適用前に、テスト環境でアップデートを実施し単体試験、システム試験などを通して動作確認を行います。HA などの冗長構成をとっている場合はシステムが停止した際の動作を事前に検証する必要があります。 - 通知と調整 :
アップデート作業に伴うシステム停止やサービス影響について、ユーザーや関係者に事前に通知し、調整を行います。影響範囲によってはユーザーからの問い合わせが発生することを想定した体制の用意が必要になる場合もあります。
迅速な脆弱性対策を実現するための方法
上記のように、脆弱性対策のためのアップデート作業には多くの時間とコストが発生します。一方で脆弱性は日々発見され、OS の再起動が必要となる Kernel の脆弱性は 2024 年 5 月~7 月の 3 ヶ月間だけで 1,800 件以上も報告 されています。
脆弱性情報データベース (NVD) で Kernel に関連する直近 3 ヶ月の脆弱性を調べた結果
脆弱性には攻撃に利用される可能性が低いものもあるため、必ずしもすべての脆弱性に対応する必要はありませんが、緊急度の高い脆弱性がある日突然発見される可能性は十分にあります。
最近では重大な脆弱性がニュースとして広く周知されることもあり、社内だけでなく社外からも迅速な対応を求められることもあるため、見て見ぬふりはできない状況になってきています。
Linux カーネルの netfilter に深刻度「重要」の脆弱性 確認とアップデートを
Linux カーネルの netfilter に特権昇格の脆弱性が存在することが明らかになった。CVSSv3 スコア 7.8 で深刻度が「重要」(High)に分類されているため注意が必要だ。
出典:ITmedia エンタープライズ
サイバー攻撃被害が大きくなり、脆弱性に関連するニュースが広く報じられるようになっている
脆弱性対策のコストを軽減させるには?
抜本的な脆弱性対策のコスト軽減を目指すには 脆弱性管理ソリューション の活用や、アップデート作業の自動化等の検討し、対応の効率化を図る必要がありますが、新たなシステムの構築や運用体制の構築などが必要となり効果が現れるまでには時間がかかります。
より直接的に負荷を軽減させる方法としては、OS の再起動をせずに、Kernel 等のパッケージをアップデートする選択肢があります。
ライブパッチを利用して OS の再起動をせずにアップデートを適用する
サイバートラストでは OS の再起動をせずに Kernel、glibc、OpenSSL のアップデートを適用できる Linux ライブパッチサービス を展開しています。
Linux ライブパッチサービスは軽量なエージェントをインストールするだけで、本来 OS の再起動が必要なパッケージの脆弱性を修正します。様々な Linux ディストリビューションに対応し、インストールされたディストリビューションに応じて対応が必要な脆弱性を自動的に検知、修正します。
OS の再起動が不要になることでアップデートの影響範囲が縮小し、事前準備~作業実施のコストを大幅に軽減することができます。
まとめ
脆弱性対策において、事前の準備が対応コストに大きな影響を与えることは明白です。しっかりとした計画と適切な対策を講じることで、リスクを最小限に抑えつつ、効率的な対応が可能となります。
サイバートラストでは、こうした脆弱性対策を支援するためのソリューションを幅広く提供しており、企業の安全なシステム運用を強力にサポートしています。関連する Blog や随時セミナーなども実施しているので、この機会にぜひご確認ください。