Go to main content
Oracle® Solaris 11.3 でのシステムおよび接続されたデバイスのセキュリティー保護

印刷ビューの終了

更新: 2017 年 3 月
 
 

ベリファイドブートの使用

    Oracle Solaris のベリファイドブートによって、システムのブートプロセスがセキュリティー保護されます。この機能は、次のような脅威からシステムを保護します。

  • カーネルモジュールの破損

  • 正当なカーネルモジュールになりすました悪意のあるプログラム (トロイの木馬ウイルス、スパイウェア、ルートキットなど) の挿入または置換

  • 未承認のサードパーティーカーネルモジュールのインストール

Oracle Solaris では、ベリファイドブートは、システムのみではなく Oracle Solaris カーネルゾーンでも構成可能です。詳細は、Oracle Solaris カーネルゾーンの作成と使用 の ベリファイドブートを使用した Oracle Solaris カーネルゾーンのセキュリティー保護を参照してください。

ベリファイドブートは LDOMS でも構成できます。詳細は、『Oracle VM Server for SPARC 3.4 管理ガイド』の「ベリファイドブートの使用」を参照してください。


注 -  デフォルトでは、バージョン 3.4 より前の Oracle VM Server for SPARC のバージョンを使用して作成されたドメインは boot-policy=warning を設定します。カーネルモジュールが署名されていないか破損している場合、この設定では Oracle VM Server for SPARC の更新後のドメインのブート時に、警告メッセージが発行されます。

ベリファイドブートと ELF 署名

Oracle Solaris では、ブート検証は elfsign の署名または鍵を使用して実行されます。Oracle Solaris カーネルモジュールは、工場でこれらの鍵を使用して署名されます。ファイル形式から、これらのモジュールは ELF オブジェクトとも呼ばれます。署名は、オブジェクトファイルで選択した ELF レコードの SHA-256 チェックサムを使用して作成されます。SHA-256 チェックサムは、RSA-2048 の非公開鍵と公開鍵のペアを使用して署名されます。公開鍵は /etc/certs ファイルで配布されていますが、非公開鍵は配布されていません。

すべての鍵は、システムのブート前環境に格納されています。これは、Oracle Solaris をブートする前に実行されるソフトウェアまたはファームウェアです。このファームウェアは、platform/.../unix をロードおよびブートします。

    ブート前環境は、次のようにシステムのカテゴリごとに異なります。

  • Oracle Integrated Lights Out Manager (ILOM) のベリファイドブートがサポートされている SPARC システム - 鍵および構成設定は ILOM に格納されます。

    Oracle ILOM はオペレーティングシステムのファイルシステム外部にあるため、ベリファイドブートの構成は、オペレーティングシステムのユーザー (管理者 (root) 特権を持つユーザーを含む) による改ざんから保護されます。したがって、このシステムカテゴリでは、ベリファイドブートがよりセキュアです。

    ベリファイドブートの構成が承認なしで変更されることを回避するには、ILOM へのアクセスがセキュアであることを確認する必要があります。ILOM のセキュリティー保護の詳細は、http://www.oracle.com/goto/ILOM/docs にあるドキュメントを参照してください。

  • SPARC M5 シリーズ、SPARC M6 シリーズ、および SPARC T5 シリーズ - 構成設定はシステムの ILOM に格納されます。SPARC ファームウェアが構成情報を Oracle Solaris に送信します。

  • Fujitsu M10 システム - 構成設定は、システムの XSCF に格納されます。Fujitsu M10 XSCF ファームウェアは、ベリファイドブートや証明書の有効化に関するポリシーなどの構成情報を Oracle Solaris に提供します。OpenBoot (OBP) は、Oracle Solaris システムをブートする前にこの構成情報を読み取ります。

    ベリファイドブートの構成の詳細は、『Fujitsu M10/SPARC M10 システム システム運用・管理ガイド』を参照してください。Fujitsu M10 システムのベリファイドブートをサポートする XCP ファームウェアバージョンについては、最新バージョンの Fujitsu M10/SPARC M10 システムのプロダクトノートを参照してください。

システムブート時の検証シーケンス

ベリファイドブートによって、Oracle Solaris カーネルモジュールの elfsign 署名の検証が自動化されます。管理者はベリファイドブートを使用することで、システムのリセットからブートプロセスの完了までのブートプロセスに、検証可能な信頼チェーンを作成できます。

システムのブート中に、ブートプロセスで開始されたコードの各ブロックで、次にロードする必要があるブロックが検証されます。検証およびロードのシーケンスは、最後のカーネルモジュールがロードされるまで続行されます。

あとでシステムで電源の再投入が実行されるときに、新しい検証シーケンスが開始されます。管理者は、検証に失敗したときに適切なアクションが行われるように、ベリファイドブートを構成することもできます。

SPARC での Oracle Solaris のブートフローを検討します。

Firmware -> Bootblock -> /platform/.../unix -> genunix -> other kernel modules

SPARC ファームウェアは工場でインストールされます。また、fwupdate コマンドを使用してファームウェアを更新することもできます。このファームウェアは、初期の Oracle Solaris モジュールである Oracle Solaris の /platform/.../unix モジュールを検証してから、ロードします。同様に、モジュールの一部である Oracle Solaris カーネルの実行時ローダー krtld は、汎用の UNIX (genunix) モジュールおよび後続のモジュールを検証し、ロードします。

ベリファイドブートのポリシー

このリリースでは、ベリファイドブートには boot_policy という 1 つのポリシープロパティーしかありません。ベリファイドブートにはブートポリシーを制御するプロパティーがあるを参照してください。

boot_policy プロパティーは、ブートプロセス中にカーネルモジュールをロードするときにベリファイドブート動作を管理します。

レガシー SPARC システムおよび x86 システム上では、boot_policy プロパティーは /etc/system ファイル内に定義されています。Oracle ILOM のベリファイドブートがサポートされている SPARC システムでは、boot_policy/HOSTn/verified_boot 内にある ILOM のプロパティーで、ここで n は物理ドメイン (PDomain) 番号です。

    boot_policy プロパティーは、次の値のいずれかを使用して構成できます。

  • none - ブート検証が実行されません。これはデフォルトです。

  • warning - モジュールがロードされる前に、各カーネルモジュールの elfsign 署名が検証されます。モジュールの検証に失敗した場合でも、モジュールはロードされます。不一致は、システムコンソールまたはシステムログ (使用可能な場合) に記録されます。デフォルトのログは /var/adm/messages です。

  • enforce - モジュールがロードされる前に、各カーネルモジュールの elfsign 署名が検証されます。モジュールの検証に失敗した場合は、モジュールがロードされません。不一致は、システムコンソールまたはシステムログ (使用可能な場合) に記録されます。デフォルトのログは /var/adm/messages です。

boot_policy を構成することに加えて、システムで elfsign X.509 公開鍵証明書を指定することもできます。モジュールと同様に、変数を使用するか、Oracle ILOM プロパティーを定義することで証明書を指定します。Oracle ILOM のベリファイドブートがサポートされているシステムでの証明書の管理を参照してください。

ベリファイドブートがサポートされている ILOM が組み込まれたシステムでは、事前にインストールされたベリファイドブートの証明書ファイル /etc/certs/ORCLS11SE が ILOM の一部として提供されています。

証明書には、ELF オブジェクトの elfsign 署名を検証する際に使用される RSA 公開鍵が含まれています。ただし、企業で提供された証明書をインストールして /etc/certs/ORCLS11SE を置き換えることもできます。すべての証明書は個別の PDomain にロードされ、管理されます。

Oracle ILOM のベリファイドブートがサポートされているシステムでの証明書の管理

システムのベリファイドブート証明書を管理するには、次のオプションを使用します。

  • 事前にインストールされている証明書をユーザーが指定した証明書に置き換えるには:

    --> load /HOSTx/verified_boot/cert -source ftp://server/filename
  • 現在の証明書のコピーをユーザーが指定した場所に保存するには:

    --> dump /HOSTn/verified_boot/cert -dest ftp://server/filename
  • ユーザーがインストールした証明書を削除し、システムに事前にインストールされている証明書に戻すには:

    --> reset /HOSTn/verified_boot/cert