更新の重要性の理解

システム・ソフトウェアを最新の状態にすることは、「セキュリティ原則の概要」で説明されているように、セキュリティ戦略全体の重要な原則です。Oracle Linuxの更新は、悪意のあるハッカーが悪用してシステムへの不正アクセスを得る可能性があるソフトウェアの脆弱性や既知の攻撃ベクトルを回避および保護するために重要です。

Oracleは、Oracle LinuxおよびOracle VMソフトウェアに対する重要な更新を、エラッタと呼ばれる個別のパッケージ更新としてリリースします。

Oracle Linuxシステムの更新頻度は、各システム管理者が評価する必要がある多数の要素に応じて決まります。システムを安全に保つための優れたセキュリティ・プラクティス・オプションの1つは、入手可能な最新の更新を受け入れることです。これは、システムが古くなるほど、公開される可能性のある潜在的な脆弱性と攻撃ベクトルが増えるためです。脆弱性が古ければ古くなるほど、悪意のあるハッカーが経験や専門知識を収集できる時間が長くなり、これらの脆弱性を持つシステムがハッキングまたは悪用される可能性が高くなります。

インストールされる更新の頻度とタイプを構成する前に、許容可能とみなされ、引き続きセキュリティ要件を満たす危険性とリスクのレベルを決定する必要があります。

次に、検討する必要がある有用なベスト・プラクティスの例をいくつか示します:

  • Oracleが公開したエラッタを監視し、表示されるエラッタを確認し、セキュリティ・エラッタに注意を払います。セキュリティ・エラッタは、クリティカルから低までの重大度レベル別にリストされます。

  • セキュリティ・エラッタ、バグ・エラッタおよび拡張エラッタをテストおよびデプロイする時間をスケジュールします。できるだけ早くセキュリティおよびバグのエラッタをテストおよびデプロイすることは、適切なセキュリティ・プラクティスとみなされます。

  • 多くの場合、マイナー・リリースには、セキュリティ・パッチ、バグ修正および機能拡張の組合せが含まれているため、注意が必要です。前述のように、多数の更新セットをテストおよびデプロイする頻度とタイミングを決定する必要があります。

  • ビジネス・ニーズを満たすのに必要な最小限のソフトウェアのみをインストールすることで、Oracle Linuxに必要な更新の数を削減します。システム上のパッケージ・フットプリントを最小限にすると、ソフトウェアの更新に必要な時間が短くなり、セキュリティ攻撃ベクトルにつながる危険性も減ります。詳細は、「ソフトウェア・フットプリントの最小化と保護」を参照してください。

  • システムの再起動が中断を伴うミッション・クリティカルなアプリケーションを含むシステムでは、Kspliceなどのツールを使用して、再起動を必要とせずにメモリーの停止時間なしでセキュリティ・エラッタ・パッチを適用することでゼロデイ攻撃を防止することを検討してください。Kspliceの詳細は、『Oracle Linux Kspliceユーザーズ・ガイド』を参照してください。

  • また、ソフトウェアおよび自動化管理ツールを使用して、Oracle Linux ManagerOracle Cloud Infrastructure OS ManagementOracle OS Management HubOracle Linux Automation Manager、ChefおよびPuppetなどのソフトウェア更新およびデプロイメントを適用することも検討してください。

    このようなツールでは、増分更新を実行してOracle Linuxシステムのグループを選択することもできます。これは、本番にロールアウトする前に、ステージング環境の実際のユーザーに対する更新の影響をテストする場合に便利です。同様に、すべてのものに同じ構成をデプロイするのではなく、Oracle Linuxシステムおよびイメージをユーザー・ロールに合せることができるように、これらのツールを使用してベース・イメージにRPMパッケージを追加できます。

非常に複雑な本番環境に適している可能性のある推奨事項は、『Oracle Linux: Oracle Linuxでのソフトウェアの管理』を参照してください。

エラッタのRPMパッケージのインストールと更新

任意のOracle Linux端末またはULNから、YumまたはDNFを使用して、Oracle Linuxシステムにあるエラッタ情報を直接取得できます。エラッタ情報を評価した後、これらのツールを使用してエラッタを追跡、インストールおよび更新できます。

Oracle Linux 9には、システムを頻繁かつ最小限の操作で更新するのに役立つツールが用意されています。dnf-automaticパッケージを使用して、更新を定期的にダウンロードしたり、ソフトウェア・アップグレード・オプションに警告したり、自動的に適用したりすることを検討してください。

RPMパッケージのインストール、更新または削除には必ずDNFを使用します(RPMコマンドは使用しないでください)。dnf update --securityコマンドを使用して次の方法で更新できます:
  • CVE番号で更新する、
  • セキュリティ・エラッタ・アドバイザリ番号で更新する、
  • セキュリティ・エラッタを含む最新のカーネル・バージョンにすべてのカーネル・パッケージを更新する、
  • 重大度レベル(クリティカル、重要、中および低)別にすべてのセキュリティ・エラッタを更新する、
  • 入手可能な最新リリースにすべてのセキュリティ・エラッタを更新する。セキュリティの観点から、このオプションは多くの場合に最適な選択です。

これらのDNFコマンドの使用方法の詳細は、Oracle Linux: Oracle Linuxでのソフトウェアの管理を参照してください。

RPMエラッタ・パッケージと累積更新の理解

Oracle LinuxはRPMベースのディストリビューションです。RPMパッケージは、Oracleがセキュリティ、バグまたは拡張エラッタで構成される更新をリリースすると、累積的に構築されます。たとえば、RPMのリリース2はリリース1の上に構築されています。リリース1がインストールされているがリリース4に更新する場合は、リリース2および3の内容もリリース4に含まれています。

エラッタ・パッケージRPMバイナリに含まれている内容は、dnf info package コマンドを使用して確認できます。次に例を示します:

dnf info bash
Last metadata expiration check: 0:00:13 ago on Thu 20 Jul 2023 06:44:39 PM GMT.
Installed Packages
Name         : bash
Version      : 5.1.8
Release      : 6.el9_1
Architecture : x86_64
Size         : 7.4 M
Source       : bash-5.1.8-6.el9_1.src.rpm
Repository   : @System
From repo    : anaconda
Summary      : The GNU Bourne Again shell
URL          : https://www.gnu.org/software/bash
License      : GPLv3+
Description  : The GNU Bourne Again shell (Bash) is a shell or command language
             : interpreter that is compatible with the Bourne shell (sh). Bash
             : incorporates useful features from the Korn shell (ksh) and the C shell
             : (csh). Most sh scripts can be run by bash without modification.

Available Packages
Name         : bash
Version      : 5.1.8
Release      : 6.el9_1
Architecture : src
Size         : 10 M
Source       : None
Repository   : ol9_baseos_latest
Summary      : The GNU Bourne Again shell
URL          : https://www.gnu.org/software/bash
License      : GPLv3+
Description  : The GNU Bourne Again shell (Bash) is a shell or command language
             : interpreter that is compatible with the Bourne shell (sh). Bash
             : incorporates useful features from the Korn shell (ksh) and the C shell
             : (csh). Most sh scripts can be run by bash without modification.
  • 名前、バージョンおよびリリース情報: パッケージを更新すると、RPMのリリース番号が変更され、RPMがリベースされる(これは頻繁には起こりません)と、バージョン番号が変更される可能性があります。

    dnf updateinfo --list --installed packageコマンドを使用すると、特定のパッケージについて、インストール済RPMを、バージョン、リリースおよび導入された関連エラッタとともにリストできます。たとえば、このコマンドでは、bashパッケージに適用されたすべてのエラッタがリストされ、パッケージの名前、バージョン、リリースおよびアーキテクチャもリストされます:

    dnf updateinfo --list --installed bash
    Last metadata expiration check: 0:04:52 ago on Thu 20 Jul 2023 06:44:39 PM GMT.
    ELBA-2022-4055 bugfix        bash-5.1.8-4.el9.x86_64
    ELBA-2022-8403 bugfix        bash-5.1.8-5.el9.x86_64
    ELSA-2023-0340 Moderate/Sec. bash-5.1.8-6.el9_1.x86_64
  • 情報メタデータ: このメタデータには、要約、説明、ライセンスなどの情報が含まれます。

  • 暗号化署名: すべてのOracle Linux RPMパッケージが署名され、お客様は、この署名を使用して、ダウンロード中のRPMの来歴と信頼性を検証できます。そのバイナリをビルドする個人と会社がこの署名を提供します。/etc/dnf/dnf.confファイルでグローバル・デフォルトとしてgpgcheck=1を有効にすると、dnfコマンドでダウンロードまたはインストールする前に、すべてのRPMが本物であり、有効なGPG署名があることが確認されます。これは、RPMが信頼できるソースから提供され、変更されていないことを確認するための重要な方法です。すべてのOracle Linuxイメージには、Oracle GPGキーがインストールされており、gpgcheckオプションがデフォルトで有効になっています。

    ノート:

    互換性のあるLinuxディストリビューションからOracle Linuxに既存のシステムを移行する場合は、GPGキーをOracleキーで置き換えることができます。たとえば、次のスクリプトは、システムをRocky Linux 9からOracle Linux 9に移行し、GPGキーをOracle Linux GPGキーに置き換えるオプションを提供します: https://github.com/oracle/centos2ol

    RPMパッケージのセキュリティを確保することは、データ暗号化戦略全体の一側面です。詳細は、「データの暗号化について」を参照してください。

  • 依存関係情報: RPMおよびRPMが依存している他のパッケージのバージョンの詳細が表示されます。たとえば、次のコマンドを使用すると、bash RPMパッケージについて直接の依存関係をリストできます:

    dnf deplist bash
  • 更新またはインストールの間の様々な段階で実行できる一連のスクリプト。

セキュリティ・エラッタとCVEについて

セキュリティ・エラッタは、1つ以上の共通脆弱性(CVE)で特定されたセキュリティ脆弱性に対処するための是正措置です。

CVE番号は、セキュリティ脆弱性についての公開済の既知の情報に対する一意の共通識別子です。Oracleは、報告されたセキュリティ脆弱性によって生じた是正措置を特定および追跡するために、CVE番号を使用します。CVEプログラムは、米国国土安全保障省のサイバーセキュリティ通信室によって協賛されており、MITRE社によって管理されています。

バグ・エラッタと拡張エラッタについて

バグは、お客様やベンダーによって発見された問題から生じた是正措置です。Oracleは通常、エラッタ通知において、その事象に関連するバグIDを示します。メンテナンス・ポリシーにバグ更新を含めることは、システムにまだ計画されていない、または影響を受けていない問題を防ぐことができるため、適切なセキュリティ・プラクティスとみなされます。たとえば、バグ・エラッタは、システムを不安定にするイベントの組合せが発生するまで公開されない問題を防ぐ可能性があります。そのため、Oracle Linuxシステムをバグ・エラッタで更新しておくことが重要です。

拡張は、Oracleによって提供される、増分での新機能または更新です。

エラッタとCVE通知の取得

Oracleリリースの新しいエラッタ・パッケージの公開時に通知を受けるには、Oracle Linuxエラッタ・メーリング・リスト(https://oss.oracle.com/mailman/listinfo/el-errata)およびOracle VMエラッタ・メーリング・リスト(https://oss.oracle.com/mailman/listinfo/oraclevm-errata)をサブスクライブします。

ULNにログインしている場合、これらのメーリング・リストは、エラッタ・タブに示されるEnterprise Linuxエラッタ・メーリング・リストのサブスクライブ・リンクとOracle VMエラッタ・メーリング・リストのサブスクライブ・リンクに従うことでもサブスクライブできます。

Oracleは、ULNで利用可能になったエラッタの完全なリストを公開しています(https://linux.oracle.com/errata)。共通脆弱性(CVE)の公開されたリストを確認して、その詳細とステータスを調べることもできます(https://linux.oracle.com/cve)。

Oracle Linux yumサーバー・リポジトリへの更新は、https://yum.oracle.com/whatsnew.htmlにアクセスして追跡することもできます。ここでは、各リポジトリ内で過去6か月間に更新されたパッケージを確認できます。