Logical Domains 1.2 管理ガイド

第 2 章 セキュリティー

この章では、Solaris Security Toolkit ソフトウェアの概要と、このソフトウェアを使用して論理ドメインで Solaris OS をセキュリティー保護する方法について説明します。

この章の内容は次のとおりです。

セキュリティー上の考慮事項

Solaris Security Toolkit ソフトウェア は、非公式には JumpStartTM Architecture and Security Scripts (JASS) ツールキットとも呼ばれ、セキュリティー保護された Solaris OS システムの構築および維持を行うために、自動化され、拡張性の高いスケーラブルな機構を提供します。Solaris Security Toolkit は、Logical Domains Manager の制御ドメインを含む、サーバーの管理には不可欠なデバイスのセキュリティー保護を実現します。

Solaris Security Toolkit 4.2 ソフトウェアパッケージ SUNWjass では、install-ldm スクリプトを次のように使用することで、制御ドメイン上の Solaris オペレーティングシステムをセキュリティー保護する手段を提供します。

SUNWjass パッケージは、Logical Domains (LDoms) Manager 1.2 ソフトウェアパッケージ SUNWldm と一緒に同梱されており、Sun のソフトウェアダウンロード Web サイトから入手できます。Logical Domains Manager 1.2 ソフトウェアをダウンロードしてインストールすると同時に、Solaris Security Toolkit 4.2 ソフトウェアパッケージをダウンロードしてインストールするオプションがあります。Solaris Security Toolkit 4.2 ソフトウェアパッケージには、Solaris Security Toolkit ソフトウェアを Logical Domains Manager とともに使用できるようにするための必須パッチが含まれています。ソフトウェアがインストールされたら、Solaris Security Toolkit 4.2 ソフトウェアを使用してシステムを強化できます。第 3 章ソフトウェアのインストールおよび有効化 では、Solaris Security Toolkit をインストールおよび構成し、制御ドメインを強化する方法について説明しています。

Solaris Security Toolkit によって提供されるセキュリティー機能のうち、Logical Domains Manager のユーザーが使用可能な機能を次に示します。

Solaris Security Toolkit および Logical Domains Manager

第 3 章ソフトウェアのインストールおよび有効化 では、Solaris Security Toolkit をインストールして Logical Domains Manager とともに使用する方法について説明しています。Solaris Security Toolkit は、制御ドメインにインストールします。制御ドメインでは Logical Domains Manager が実行されています。また、Solaris Security Toolkit は、ほかの論理ドメインにインストールすることもできます。唯一の違いは、制御ドメインを強化する場合は ldm_control-secure.driver を使用し、ほかの論理ドメインを強化する場合は secure.driver などの別のドライバを使用することです。これは、ldm_control-secure.driver が制御ドメイン専用であるためです。ldm_control-secure.driver は、secure.driver をベースにして、Logical Domains Manager で使用できるようにカスタマイズおよびテストしたものです。secure.driver の詳細は、『Solaris Security Toolkit 4.2 Reference Manual』を参照してください。

Solaris OS の強化

Solaris Security Toolkit が制御ドメイン上の Solaris OS を強化するために使用するドライバ (ldm_control-secure.driver) は、Logical Domains Manager が OS で実行できるように特別な変更を加えたものです。ldm_control-secure.driver は、『Solaris Security Toolkit 4.2 リファレンスマニュアル』で説明している secure.driver に類似しています。

ldm_control-secure.driver は、Logical Domains Manager ソフトウェアを実行しているシステムの制御ドメインに対する基準構成を提供します。これは、Solaris OS ドメインで通常よりも少ないシステムサービスを提供することで、通常の用途ではなく Logical Domains Manager の処理のために制御ドメインを確保することを目的としています。

install-ldm スクリプト により、Logical Domains Manager ソフトウェアがまだインストールされていない場合はこのソフトウェアがインストールされ、使用可能になります。

secure.driver から変更された、その他の重要な事項の概要を次に示します。

論理ドメインの最小化

Solaris OS は、要件に合わせてさまざまな数のパッケージを組み合わせて構成できます。最小化では、このようなパッケージのセットを、必要なアプリケーションを実行するために最低限必要な数にまで減らします。最小化により、セキュリティーに脆弱性があるおそれのあるソフトウェアの数が減り、インストールされたソフトウェアにパッチを正しく適用し続けることに付随する労力の度合いも軽減されるため、最小化は重要です。論理ドメインの最小化処理では、任意のドメインを完全にサポートし続ける、最小化された Solaris OS をインストールするための JumpStart サポートが提供されています。

Solaris Security Toolkit では、LDoms の論理ドメインを最小化するために使用する JumpStart プロファイル minimal-ldm_control.profile が用意されています。このプロファイルにより、LDoms および LDoms MIB のサポートに必要なすべての Solaris OS パッケージがインストールされます。LDoms MIB を制御ドメインで使用する場合は、LDoms および Solaris Security Toolkit パッケージのインストール後に、個別にそのパッケージを追加する必要があります。これは、ほかのソフトウェアとともに自動的にはインストールされません。LDoms MIB のインストールおよび使用法の詳細は、『Logical Domains (LDoms) MIB 1.0.1 Administration Guide』を参照してください。

LDoms Manager の承認

Logical Domains Manager の承認には、次の 2 つのレベルがあります。

変更は、Solaris OS に加えられるのではなく、Logical Domains Manager のインストール時にパッケージスクリプト postinstall を使用することで、承認ファイルに追加されます。同様に、承認エントリは、パッケージスクリプト preremove によって削除されます。

ldm サブコマンドと、そのコマンドの実行に必要な対応するユーザー承認を次の表に示します。

表 2–1 ldm サブコマンドおよびユーザー承認

ldm サブコマンド [追加、表示、削除、または設定できるすべてのリソースを指します。]

ユーザー承認 

add-*

solaris.ldoms.write

bind-domain

solaris.ldoms.write

list

solaris.ldoms.read

list-*

solaris.ldoms.read

panic-domain

solaris.ldoms.write

remove-*

solaris.ldoms.write

set-*

solaris.ldoms.write

start-domain

solaris.ldoms.write

stop-domain

solaris.ldoms.write

unbind-domain

solaris.ldoms.write

LDoms Manager コマンドの監査

Logical Domains Manager CLI コマンドの監査は、Solaris OS 基本セキュリティーモジュール (BSM) 監査によって実行されます。Solaris OS BSM 監査の詳細は、Solaris 10 の 『Solaris のシステム管理 (セキュリティサービス)』を参照してください。

Logical Domains Manager に対する BSM 監査は、デフォルトでは有効ではありませんが、インフラストラクチャーは用意されています。BSM 監査は、次の 2 つのいずれかの方法で使用できます。

Logical Domains Manager で BSM 監査を使用する場合の有効化、検証、無効化、出力の表示、およびログの切り替えの詳細は、「BSM 監査の有効化と使用」 を参照してください。

Solaris Security Toolkit による適合性の確認

Solaris Security Toolkit には、独自の監査機能があります。Solaris Security Toolkit ソフトウェアは、事前に定義されたセキュリティープロファイルと比較して、Solaris OS が動作しているあらゆるシステムのセキュリティー状況を自動的に検証することができます。この適合性機能の詳細は、『Solaris Security Toolkit 4.2 Administration Guide 』 の「システムのセキュリティーの監査」を参照してください。

BSM 監査の有効化と使用

Logical Domains Manager では、Solaris OS の基本セキュリティーモジュール (BSM) 監査機能を使用します。BSM 監査は、制御ドメインの処理およびイベントの履歴を調べて、何が発生したかを調べるための手段を提供します。履歴は、何が、いつ、誰によって行われ、どのような影響があるかを示すログに保持されます。

この節では、この監査機能を使用する場合に、有効化、検証、無効化、出力の表示、および監査ログの切り替えを行う方法について説明します。BSM 監査の詳細は、Solaris 10 の『Solaris のシステム管理 (セキュリティサービス)』で参照できます。

BSM 監査は、次の 2 つのいずれかの方法で有効にできます。監査を無効にする場合は、有効にしたときと同じ方法を使用してください。2 つの方法は次のとおりです。

ここでは、両方の方法についての手順を示します。

Procedureenable-bsm.fin 終了スクリプトを使用する

  1. ldm_control-secure.drivermy-ldm.driver にコピーします。ここで my-ldm.driverldm_control-secure.driver のコピーの名前です。

  2. ldm_control-config.drivermy-ldm-config.driver にコピーします。ここで my-ldm-config.driverldm_control-config.driver のコピーの名前です。

  3. ldm_control-hardening.drivermy-ldm-hardening.driver にコピーします。ここで my-ldm-hardening.driverldm_control-hardening.driver のコピーの名前です。

  4. my-ldm.driver を編集して、新しい構成と強化ドライバを、それぞれ my-ldm-control.drivermy-ldm-hardening.driver に変更します。

  5. my-ldm-hardening.driver を編集して、ドライバの次の行の先頭にあるハッシュ記号 (#) を削除します。


    enable-bsm.fin
  6. my-ldm.driver を実行します。


    # /opt/SUNWjass/bin/jass-execute -d my-ldm.driver
    
  7. Solaris OS を再起動して、監査を有効にします。

ProcedureSolaris OS の bsmconv(1M) コマンドを使用する

  1. /etc/security/audit_control ファイルの flags: 行に vs を追加します。

  2. bsmconv(1M) コマンドを実行します。


    # /etc/security/bsmconv
    

    このコマンドの詳細は、bsmconv(1M) マニュアルページを参照してください。

  3. Solaris OS を再起動して、監査を有効にします。

ProcedureBSM 監査が有効であることを確認する

  1. 次のコマンドを入力します。


    # auditconfig -getcond
    
  2. 出力に audit condition = auditing が表示されていることを確認します。

Procedure監査を無効にする

監査を有効にした方法に応じて、次の 2 つのいずれかの方法で監査を無効にすることができます。「BSM 監査の有効化と使用」 を参照してください。

  1. 次のいずれかを実行します。

    • BSM 監査を有効にした Solaris Security Toolkit による強化の実行を取り消します。


      # /opt/SUNWjass/bin/jass-execute -u
      
    • Solaris OS の bsmunconv(1M) コマンドを実行します。


      # /etc/security/bsmunconv
      
  2. Solaris OS を再起動して、監査を無効にします。

Procedure監査の出力を表示する

  1. BSM 監査の出力を表示するには、次のいずれかの方法を使用します。

    • Solaris OS コマンド auditreduce(1M) および praudit(1M) を使用して、監査の出力を表示します。


      # auditreduce -c vs | praudit
      # auditreduce -c vs -a 20060502000000 | praudit
      
    • Solaris OS の praudit -x コマンドを使用して、XML 出力を表示します。

Procedure監査ログをローテーションする

  1. Solaris OS の audit -n コマンドを使用して、監査ログをローテーションします。

ゲストコンソールアクセス用の RBAC の構成

vntsd デーモンでは、vntsd/authorization という SMF プロパティーを使用できます。このプロパティーを構成すると、ドメインコンソールまたはコンソールグループ用にユーザーおよび役割の承認チェックを有効にできます。承認チェックを有効にするには、svccfg コマンドを使用して、このプロパティーの値を true に設定します。このオプションが有効な場合、vntsd は、localhost のみで接続を待機して受け入れます。vntsd/authorization が有効な場合、listen_addr プロパティーに代替 IP アドレスを指定していても、vntsd は代替 IP アドレスを無視し、引き続き localhost のみで待機します。

デフォルトでは、vntsd サービスが有効な場合、すべてのゲストコンソールにアクセスするための承認は、auth_attr データベースに追加されます。


solaris.vntsd.consoles:::Access All LDoms Guest Consoles::

スーパーユーザーは、usermod コマンドを使用して、必要な承認をほかのユーザーまたは役割に割り当てることができます。これにより、特定のドメインコンソールまたはコンソールグループにアクセスするために必要な承認を持つユーザーまたは役割のみが許可されます。

次の例は、ユーザー terry に、すべてのドメインコンソールにアクセスするための承認を付与します。


# usermod -A "solaris.vntsd.consoles" terry

次の例は、ldg1 という名前の特定のドメインコンソール用の新しい承認を追加し、この承認をユーザー sam に割り当てます。

  1. 新しい承認エントリを、ドメイン ldg1auth_attr ファイルに追加します。


    solaris.vntsd.console-ldg1:::Access Specific LDoms Guest Console::
  2. この承認をユーザー sam に割り当てます。


    # usermod -A "solaris.vntsd.console-ldg1" sam
    

承認および RBAC の詳細は、『Solaris のシステム管理 (セキュリティサービス)』を参照してください。