Go to main content
Oracle® Solaris カーネルゾーンの作成と使用

印刷ビューの終了

更新: 2016 年 11 月
 
 

ベリファイドブートを使用した Oracle Solaris カーネルゾーンのセキュリティー保護

ベリファイドブート を使用すると、カーネルゾーンのブートプロセスをセキュリティー保護できます。ベリファイドブートは、Oracle Solaris カーネルモジュールを実行前にセキュアにロードすることで、破損したカーネルゾーンモジュール、悪意のあるプログラム、および未承認のサードパーティーカーネルモジュールのインストールからカーネルゾーンを保護します。

ベリファイドブートでは、次のアクションを実行できます。

  • Oracle Solaris カーネルモジュールの elfsign(1) 検証を自動化します。デフォルトでは、Oracle Solaris システム証明書のみを検証に使用します。ベリファイドブートでは、追加の証明書を指定できるため、サードパーティーのカーネルモジュールや、別のバージョンの Oracle Solaris 向けに署名されたモジュールをロードできます。

  • カーネルゾーンのリブートからブートプロセスの完了までのブートプロセスに、検証可能な信頼チェーンを作成します。

カーネルゾーンのベリファイドブートを有効化および構成するには、verified-boot zonecfg リソースプロパティーを使用します。

ベリファイドブートと verified-boot リソースプロパティーは、solaris-kz ブランドゾーンでのみサポートされます。

証明書検証および Oracle Solaris 11.3 でのベリファイドブートの詳細については、elfsign(1) のマニュアルページおよびOracle Solaris 11.3 でのシステムおよび接続されたデバイスのセキュリティー保護 の ベリファイドブートの使用を参照してください。

verified-boot リソースプロパティーおよび elfsign 検証について

verified-boot リソースプロパティーは、カーネルゾーンのブートポリシーおよび証明書設定を制御します。このリソースのプロパティーは次のとおりです。

  • policy

    policy プロパティーは unixgenunix、およびその他のカーネルモジュールの検証を制限します。このプロパティーの指定可能な値は、次のとおりです。

    warning

    elfsign 検証が失敗した場合は、警告メッセージを出力します。これがデフォルト値です。

    none

    elfsign 署名検証が失敗した場合、アクションは発生しません。


    注 -  policy の値が none に設定されている場合、verified-boot リソースプロパティーは有効になっていません。
    enforce

    elfsign 署名検証が失敗した場合は、警告メッセージを出力します。カーネルモジュールはロードされません。

  • cert

    cert プロパティーはシステム上の elfsign(1)X.509 公開鍵証明書の場所を指定します。証明書の場所は、X.509 証明書ファイルの URI で指定します。ローカルファイルの場合、証明書は大域ゾーンのファイルシステム内にある必要があります。リモート URI の場合、URI は大域ゾーンからアクセスできる必要があります。

    新しい証明書を追加するには、add サブコマンドを使用します。最大 7 個の証明書を各カーネルゾーンに追加できます。

使用例 17  カーネルゾーンのベリファイドブートの有効化

この例では、システム global にカーネルゾーン kz1 を作成しています。verified-boot の policy の値は enforce に設定されます。これはカーネルに対し、ブートファイルの署名検証に失敗した場合はブートせず、失敗に関するエラーメッセージを出力するよう指示します。

global# zonecfg -z kz1
kz1: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:kz1> create -t SYSsolaris-kz
zonecfg:kz1> set zonepath=/rpool/zones/kz1
zonecfg:kz1> set autoboot=true
zonecfg:kz1> add verified-boot
zonecfg:kz1:verified-boot> set policy=enforce
zonecfg:kz1:verified-boot> end
zonecfg:kz1> verify
zonecfg:kz1> commit
zonecfg:kz1> exit
使用例 18  複数の証明書によるカーネルゾーンのベリファイドブートの構成

この例は、システム global 上にすでに構成されているカーネルゾーン kz2verified-boot zonecfg リソースを追加する方法を示しています。2 つの証明書が構成に追加されます。

global# zonecfg -z kz2
zonecfg:kz2> add verified-boot
zonecfg:kz2:verified-boot> set policy=warning
zonecfg:kz2:verified-boot> add cert file:///etc/certs/SOLARIS-KZ
zonecfg:kz2:verified-boot> add cert http://example/keydist/cert.pem
zonecfg:kz2:verified-boot> info
verified-boot:
   policy: warning
    cert: file:///etc/certs/SOLARIS-KZ
    cert: http://example/keydist/cert.pem
zonecfg:kz2:verified-boot> end
zonecfg:kz2> verify
zonecfg:kz2> commit