ベリファイドブート を使用すると、カーネルゾーンのブートプロセスをセキュリティー保護できます。ベリファイドブートは、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 リソースプロパティーは、カーネルゾーンのブートポリシーおよび証明書設定を制御します。このリソースのプロパティーは次のとおりです。
policy
policy プロパティーは unix、genunix、およびその他のカーネルモジュールの検証を制限します。このプロパティーの指定可能な値は、次のとおりです。
elfsign 検証が失敗した場合は、警告メッセージを出力します。これがデフォルト値です。
elfsign 署名検証が失敗した場合、アクションは発生しません。
elfsign 署名検証が失敗した場合は、警告メッセージを出力します。カーネルモジュールはロードされません。
cert
cert プロパティーはシステム上の elfsign(1)X.509 公開鍵証明書の場所を指定します。証明書の場所は、X.509 証明書ファイルの URI で指定します。ローカルファイルの場合、証明書は大域ゾーンのファイルシステム内にある必要があります。リモート URI の場合、URI は大域ゾーンからアクセスできる必要があります。
新しい証明書を追加するには、add サブコマンドを使用します。最大 7 個の証明書を各カーネルゾーンに追加できます。
この例では、システム 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 上にすでに構成されているカーネルゾーン kz2 に verified-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