Solaris Trusted Extensions インストールと構成 (Solaris 10 11/06 および Solaris 10 8/07 リリース版)

付録 B Trusted Extensions での CDE アクションを使用したゾーンのインストール

この付録では、Trusted CDE アクションを使用して Solaris Trusted Extensions にラベル付きゾーンを構成する方法について説明します。Solaris 10 11/06 リリースをパッチを適用せずに実行しているか、またはこれらのアクションに精通している場合は、Trusted CDE アクションを使用します。txzonemgr スクリプトを使用するには、「ラベル付きゾーンの作成」を参照してください。

CDE アクションを使用したネットワークインタフェースとゾーンの結合 (作業マップ)

次のタスクをいずれか 1 つのみを実行します。それぞれの利点と欠点については、「マルチレベルアクセスの計画」を参照してください。

作業 

説明 

参照先 

論理インタフェースを共有します。 

大域ゾーンを 1 つの IP アドレスにマップし、ラベル付きゾーンを別の IP アドレスにマップします。 

「CDE アクションを使用してシステムに 2 つの IP アドレスを指定する」

物理インタフェースを共有します。 

すべてのゾーンを 1 つの IP アドレスにマップします。 

「CDE アクションを使用してシステムに 1 つの IP アドレスを指定する」

ProcedureCDE アクションを使用してシステムに 2 つの IP アドレスを指定する

この構成では、ホストのアドレスは大域ゾーンにのみ適用されます。ラベル付きゾーンは、別の IP アドレスを大域ゾーンと共有します。

始める前に

大域ゾーンでスーパーユーザーになります。システムにはすでに 2 つの IP アドレスが割り当てられています。Trusted CDE ワークスペースにアクセスします。

  1. Trusted_Extensions フォルダに移動します。

    1. 背景をマウスボタン 3 でクリックします。

    2. ワークスペースメニューで、「アプリケーション」->「アプリケーション・マネージャ」を選択します。

    3. Trusted_Extensions フォルダのアイコンをダブルクリックします。

      このフォルダには、インタフェース、LDAP クライアント、およびラベル付きゾーンを設定するためのアクションが含まれています。

  2. 「論理インタフェースの共有」アクションをダブルクリックして、プロンプトに応答します。


    注 –

    システムにはすでに 2 つの IP アドレスが割り当てられていなければなりません。このアクションのために、2 つめのアドレスとそのアドレスのホスト名を入力します。2 つめのアドレスが共有アドレスです。



    Hostname:   Type the name for your labeled zones interface
    IP Address: Type the IP address for the interface
    

    このアクションによって、複数の IP アドレスを持つホストが構成されます。大域ゾーンの IP アドレスが、そのホストの名前です。ラベル付きゾーンの IP アドレスは、別のホスト名です。さらに、ラベル付きゾーンの IP アドレスが大域ゾーンと共有されます。この構成を使用すると、ラベル付きゾーンがネットワークプリンタにアクセスできます。


    ヒント –

    ラベル付きゾーンには標準的な命名規則を使用してください。たとえば、ホスト名に -zones を追加します。


  3. (省略可能) 端末ウィンドウでこのアクションの結果を確認します。


    # ifconfig -a
    

    たとえば、次の出力は、ラベル付きゾーンのネットワークインタフェース 192.168.0.12 の共有論理インタフェース hme0:3 を示しています。hme0 インタフェースは、大域ゾーンの一意の IP アドレスです。


     lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
             inet 127.0.0.1 netmask ff000000 
             ether 0:0:00:00:00:0
     hme0: flags=1000843<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
             inet 192.168.0.11 netmask fffffe00 broadcast 192.168.0.255
     hme0:3 flags=1000843<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
             all-zones
             inet 192.168.0.12 netmask fffffe00 broadcast 192.168.0.255

ProcedureCDE アクションを使用してシステムに 1 つの IP アドレスを指定する

この構成では、ホストのアドレスが、ラベル付きゾーンを含むすべてのゾーンに適用されます。

始める前に

大域ゾーンでスーパーユーザーになります。Trusted CDE ワークスペースにアクセスします。

  1. Trusted_Extensions フォルダに移動します。

    1. 背景をマウスボタン 3 でクリックします。

    2. ワークスペースメニューで、「アプリケーション」->「アプリケーション・マネージャ」を選択します。

    3. Trusted_Extensions フォルダのアイコンをダブルクリックします。

      このフォルダには、インタフェース、LDAP クライアント、およびラベル付きゾーンを設定するためのアクションが含まれています。

  2. 「物理インタフェースの共有」アクションをダブルクリックします。

    このアクションによって、1 つの IP アドレスを持つホストが構成されます。大域ゾーンには一意のアドレスはありません。このシステムは、マルチレベルプリンタサーバーまたは NFS サーバーとして使用できません。

  3. (省略可能) 端末ウィンドウでこのアクションの結果を確認します。


    # ifconfig -a
    

    「物理インタフェースの共有」アクションで、すべてのゾーンに論理 NIC を構成します。これらの論理 NIC は、大域ゾーンで 1 つの物理的な NIC を共有します。

    たとえば、次の出力は、すべてのゾーンのネットワークインタフェース 192.168.0.11 の共有物理インタフェース hme0 を示しています。


    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
           inet 127.0.0.1 netmask ff000000
           ether 0:0:00:00:00:0
    hme0: flags=1000843<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
           all-zones
           inet 192.168.0.11 netmask fffffe00 broadcast 192.168.0.255

CDE アクションを使用したゾーン作成の準備 (作業マップ)

次の作業マップは、システムでのゾーン作成を準備するタスクについて示しています。ゾーンの作成方法については、「Trusted Extensions でのゾーン計画」を参照してください。

作業 

説明 

参照先 

1. 各ゾーンに名前を付け、ゾーン名とゾーンラベルをリンクします。 

各ラベル付きゾーンにラベルのバージョンが入った名前を付け、Solaris 管理コンソール で名前とラベルを関連付けます。 

「CDE アクションを使用してゾーン名とゾーンラベルを指定する」

2. ゾーンを作成する前にネットワークを構成します。 

すべてのホストで、ラベルをネットワークインタフェースに割り当て、さらに構成を行います。 

『Solaris Trusted Extensions 管理の手順』「トラステッドネットワークデータベースの構成 (作業マップ)」

ProcedureCDE アクションを使用してゾーン名とゾーンラベルを指定する

label_encodings ファイル中のラベルごとにゾーンを作成する必要はありませんが、作成することもできます。tnzonecfg データベースには、そのシステムでゾーンを作成できるラベルが列挙されます。

  1. Trusted_Extensions フォルダに移動します。

    1. 背景をマウスボタン 3 でクリックします。

    2. ワークスペースメニューで、「アプリケーション」->「アプリケーション・マネージャ」を選択します。

    3. Trusted_Extensions フォルダのアイコンをダブルクリックします。

  2. ゾーンごとにゾーンの名前を付けます。

    1. 「ゾーンを構成」アクションをダブルクリックします。

    2. プロンプトに対して名前を入力します。


      ヒント –

      ゾーンのラベルと似た名前をゾーンに付けます。たとえば、ラベルが CONFIDENTIAL : INTERNAL USE ONLY であるゾーンに、internal という名前を付けます。


  3. ゾーンごとに「ゾーンを構成」アクションを繰り返します。

    たとえば、デフォルトの label_encodings ファイルには次のラベルが含まれています。


    PUBLIC
    CONFIDENTIAL: INTERNAL USE ONLY
    CONFIDENTIAL: NEED TO KNOW
    CONFIDENTIAL: RESTRICTED
    SANDBOX: PLAYGROUND
    MAX LABEL

    「ゾーンを構成」アクションを 6 回実行してラベルごとにゾーンを 1 つ作成した場合でも、次のゾーンを作成することを検討します。

    • すべてのユーザーのシステムでは、PUBLIC ラベルに 1 つのゾーン、および CONFIDENTIAL ラベルに 3 つのゾーンを作成します。

    • 開発者用のシステムでは、SANDBOX: PLAYGROUND ラベルにゾーンを 1 つ作成します。SANDBOX: PLAYGROUND は開発者用の不連続ラベルとして定義され、開発者が使用するシステムにのみ、このラベルにゾーンが必要です。

    • MAX LABEL ラベルにはゾーンを作成しないでください。これは認可上限として定義されます。

  4. トラステッドネットワークゾーンツールを開きます。

    Solaris 管理コンソールのツールは、ユーザーエラーを防ぐように設計されています。これらのツールは、構文エラーを検査し、自動的に正しい順序でコマンドを実行してデータベースを更新します。

    1. Solaris 管理コンソールを起動します。


      # /usr/sbin/smc &
      
    2. ローカルシステムの Trusted Extensions ツールボックスを開きます。

      1. 「コンソール」->「ツールボックスを開く」を選択します。

      2. 「This Computer (this-host: Scope=Files, Policy=TSOL)」という名前のツールボックスを選択します。

      3. 「開く」をクリックします。

    3. 「システムの構成」にある「コンピュータとネットワーク」に移動します。

      求められたらパスワードを入力します。

    4. トラステッドネットワークゾーンツールをダブルクリックします。

  5. ゾーンごとに、適切なラベルとゾーン名を関連付けます。

    1. 「アクション」->「ゾーン構成の追加」を選択します。

      ダイアログボックスに、割り当てられているラベルがないゾーンの名前が表示されます。

    2. ゾーン名を確認してから「編集」をクリックします。

    3. ラベルビルダーで、ゾーン名に該当するラベルをクリックします。

      間違ったラベルをクリックした場合、そのラベルをもう一度クリックして選択を解除し、正しいラベルをクリックします。

    4. 割り当てを保存します。

      「トラステッドネットワークゾーンのプロパティー」ダイアログボックスで「了解」をクリックします。

    必要なゾーンがすべてパネルに表示されたら終了です。あるいは、「ゾーン構成の追加」メニュー項目をクリックすると、ゾーン名の値がないダイアログボックスが開かれます。

注意事項

「トラステッドネットワークゾーンのプロパティー」ダイアログボックスで、作成するゾーンが表示されない場合、ゾーンネットワーク構成ファイルが存在しないか、すでに作成されています。

CDE アクションを使用したラベル付きゾーンの作成 (作業マップ)

トラステッドネットワークゾーン構成データベースのエントリごとに、ゾーンを 1 つ作成できます。「CDE アクションを使用してゾーン名とゾーンラベルを指定する」の手順で「ゾーンを構成」アクションを実行することにより、エントリを作成しました。

アプリケーションマネージャーの Trusted_Extensions フォルダには、ラベル付きゾーンを作成する次のアクションが含まれています。

タスクを次の順序で完了します。

作業 

説明 

参照先 

1. 1 つのゾーンをインストールして起動します。 

最初のラベル付きゾーンを作成します。パッケージをインストールし、ゾーンを LDAP クライアントにし、ゾーンのすべてのサービスを起動します。 

「CDE アクションを使用してラベル付きゾーンをインストール、初期化、および起動する」

2. ゾーンをカスタマイズします。 

不要なサービスを削除します。ゾーンをコピーまたはゾーンのクローンを作成する場合、ゾーン固有の情報を削除します。 

「起動したゾーンを Trusted Extensions でカスタマイズする」

3. その他のゾーンを作成します。 

次のいずれかの方法を使用してその他のゾーンを作成します。方法の選択については、「Trusted Extensions のインストール前にシステムおよびセキュリティーに関する事項を決定する」を参照してください。

各ゾーンを最初から作成します。 

「CDE アクションを使用してラベル付きゾーンをインストール、初期化、および起動する」

「起動したゾーンを Trusted Extensions でカスタマイズする」

最初のラベル付きゾーンを別のラベルにコピーします。すべてのゾーンで繰り返します。 

「ゾーンのコピー方法を Trusted Extensions で使用する」

ZFS スナップショットを使用して、最初のラベル付きゾーンからほかのゾーンのクローンを作成します。 

「ゾーンのクローン作成方法を Trusted Extensions で使用する」

ProcedureCDE アクションを使用してラベル付きゾーンをインストール、初期化、および起動する

ゾーン作成ではオペレーティングシステム全体をコピーしなければならないので、このプロセスには時間がかかります。時間がかからない方法として、1 つのゾーンを作成し、それをほかのゾーンのテンプレートにして、そのゾーンテンプレートをコピーまたはクローンを作成します。

始める前に

「CDE アクションを使用してゾーン名とゾーンラベルを指定する」を完了しています。

LDAP をネームサービスとして使用している場合は、「Trusted Extensions で大域ゾーンを LDAP クライアントにする」を完了しています。

ゾーンのクローンを作成する場合は、「ゾーンのクローンを作成するために ZFS プールを作成する」を完了しています。次の手順で、準備したゾーンをインストールします。

  1. Trusted_Extensions フォルダで「ゾーンのインストール」アクションをダブルクリックします。

    1. インストールするゾーンの名前を入力します。

      このアクションによって、ラベル付き仮想オペレーティングシステムが作成されます。この手順が終了するまでしばらくお待ちください。ゾーンのインストールの実行中は、システムでその他のタスクを実行しないでください。


      # zone-name: Install Zone
      Preparing to install zone <zone-name>
      Creating list of files to copy from the global zone
      Copying <total> files to the zone
      Initializing zone product registry
      Determining zone package initialization order.
      Preparing to initialize <subtotal> packages on the zone.
      Initializing package <number> of <subtotal>: percent complete: percent
      
      Initialized <subtotal> packages on zone.
      Zone <zone-name> is initialized.
      The file /zone/internal/root/var/sadm/system/logs/install_log 
      contains a log of the zone installation.
      
      *** Select Close or Exit from the window menu to close this window ***
    2. コンソールを開いて、インストールされたゾーンのイベントを監視します。

      1. 「ゾーン端末コンソール」アクションをダブルクリックします。

      2. インストールしたばかりのゾーンの名前を入力します。

  2. ゾーンを初期化します。

    • LDAP を使用している場合は、「LDAP 用ゾーンを初期化」アクションをダブルクリックします。


      Zone name:              Type the name of the installed zone
      Host name for the zone: Type the host name for this zone
      

      たとえば、共有論理インタフェースがあるシステムでは、値は次のようになります。


      Zone name:              public
      Host name for the zone: machine1-zones
      

      このアクションによって、ラベル付きゾーンが、大域ゾーンで動作する同じ LDAP サーバーの LDAP クライアントになります。次の情報が表示されたらこのアクションは完了です。


      zone-name zone will be  LDAP client of IP-address
      zone-name is ready for booting
      Zone label is LABEL
      
      *** Select Close or Exit from the window menu to close this window ***
    • LDAP を使用していない場合は、次の手順のいずれかを実行して手動でゾーンを初期化します。

      Trusted Extensions での手動の手順は、Solaris OS の手順と同一です。システムに少なくとも 1 つの all-zones インタフェースがある場合は、すべてのゾーンに対するホスト名が、大域ゾーンのホスト名に一致する必要があります。一般に、ゾーンの初期化中に発生する質問の回答は、大域ゾーンに対する回答と同じです。

      次のいずれかを実行してホスト情報を入力します。

      • 手順 3 でゾーンを起動したあと、ゾーン端末コンソールでシステム特性に関する質問に答えます。

        この回答を使用してゾーンに sysidcfg ファイルが生成されます。

      • 手順 3 でゾーンを起動する前に、このゾーンの /etc ディレクトリに sysidcfg カスタムファイルを置きます。

  3. 「ゾーンを起動」アクションをダブルクリックします。

    プロンプトに答えます。


    Zone name: Type the name of the zone that you are configuring
    

    このアクションによってゾーンが起動されると、そのゾーンで実行されるすべてのサービスが起動されます。サービスの詳細は、smf(5) のマニュアルページを参照してください。

    ゾーン端末コンソールは、ゾーン起動の進捗を追跡します。次のようなメッセージがコンソールに表示されます。


    [Connected to zone 'public' console]
    
    [NOTICE: Zone booting up]
    ...
    Hostname: zonename
    Loading smf(5) service descriptions: number/total
    Creating new rsa public/private host key pair
    Creating new dsa public/private host key pair
    
    rebooting system due to change(s) in /etc/default/init
    
    [NOTICE: Zone rebooting]
  4. コンソール出力を監視します。

    「起動したゾーンを Trusted Extensions でカスタマイズする」に進む前に、ゾーンが再起動されていることを確認します。次のコンソールログインプロンプトは、ゾーンが再起動されたことを示しています。


    hostname console login:
注意事項

ゾーンのインストールで、警告「Installation of these packages generated errors: SUNW pkgname」が表示された場合、インストールログを読み、パッケージのインストールを終了します。

Procedure起動したゾーンを Trusted Extensions でカスタマイズする

ゾーンのクローンを作成する場合、この手順によって、ゾーンがほかのゾーンのテンプレートになるように構成します。さらに、この手順でゾーンを使用するよう構成します。

  1. ゾーンが完全に起動されていることを確認します。

    1. zone-name: ゾーン端末コンソールで、root としてログインします。


      hostname console login: root
      Password: Type root password
      
    2. ゾーンが実行されていることを確認します。

      STATUS が running の場合は、ゾーン内で少なくとも 1 つのプロセスが実行中であることを示します。


      # zoneadm list -v
      ID NAME        STATUS         PATH
       2 public      running        /
    3. ゾーンが大域ゾーンと通信できることを確認します。

      X サーバーが大域ゾーンで実行されます。それぞれのラベル付きゾーンがこのサービスを使用するには、大域ゾーンに接続できなければなりません。そのため、ゾーンネットワークが機能しなければ、ゾーンを使用することはできません。詳細は、「ラベル付きゾーンが X サーバーにアクセスできない」を参照してください。

  2. ゾーン端末コンソールで、ラベル付きゾーンで不要なサービスを無効にします。

    このゾーンをコピーまたはクローンを作成する場合、無効にしたサービスは新しいゾーンで無効にされます。システムでオンラインであるサービスは、そのゾーンのサービスマニフェストによって異なります。netservices limited コマンドを使用して、ラベル付きゾーンで必要としないサービスをオフにします。

    1. 多数の不要なサービスを削除します。


      # netservices limited
      
    2. そのほかのサービスを一覧にします。


      # svcs
      ...
      STATE        STIME      FMRI
      online       13:05:00   svc:/application/graphical-login/cde-login:default
      ...
    3. グラフィカルログインを無効にします。


      # svcadm disable svc:/application/graphical-login/cde-login
      # svcs cde-login
      STATE        STIME      FMRI
      disabled     13:06:22   svc:/application/graphical-login/cde-login:default

    サービス管理フレームワークの詳細は、smf(5) のマニュアルページを参照してください。

  3. ゾーンをシャットダウします。

    次の方法のいずれかを選択します。

    • 「ゾーンのシャットダウン」アクションを実行します。

      ゾーンの名前を入力します。

    • 大域ゾーンの端末ウィンドウで、zlogin コマンドを使用します。


      # zlogin zone-name init 0

      詳細は、zlogin(1) のマニュアルページを参照してください。

  4. ゾーンがシャットダウンされたことを確認します。

    zone-name : ゾーン端末コンソールで、次のメッセージによって、ゾーンがシャットダウンされていることが示されます。


    [ NOTICE: Zone halted]

    このゾーンをコピーまたはそのクローンを作成するのではない場合、この最初のゾーンを作成したのと同じ方法で残りのゾーンを作成します。

  5. このゾーンをほかのゾーンのテンプレートとして使用する場合、次のとおりに実行します。

    1. auto_home_zone-name ファイルを削除します。

      大域ゾーンの端末ウィンドウで、zone-name ゾーンからこのファイルを削除します。


      cd /zone/zone-name/root/etc
      # ls auto_home*
      auto_home  auto_home_zone-name
      # rm auto_home_zone-name
      

      たとえば、public ゾーンをほかのゾーンのクローン作成元にした場合、その auto_home ファイルを次のように削除します。


      # cd /zone/public/root/etc
      # rm auto_home_public
      
次の手順

Procedureゾーンのコピー方法を Trusted Extensions で使用する

始める前に
  1. 作成したいゾーンごとに、「ゾーンをコピー」アクションをダブルクリックします。

    プロンプトに答えます。


    New Zone Name:     Type name of target zone
    From Zone Name:    Type name of source zone
    

    注意 – 注意 –

    このタスクの実行中は、ほかのタスクを実行しないでください。


  2. ゾーンが作成されたら、すべてのゾーンのステータスをチェックします。

    1. 「ゾーン端末コンソール」アクションをダブルクリックします。

    2. 各ゾーンにログインします。

    3. 「ゾーンのステータスを確認する」を完了します。

Procedureゾーンのクローン作成方法を Trusted Extensions で使用する

始める前に
  1. ゾーンテンプレートの Solaris ZFS スナップショットを作成します。


    # cd /
    # zfs snapshot zone/zone-name@snapshot

    このスナップショットを使用して、そのほかのゾーンのクローンを作成します。public という名前の構成済みゾーンの場合、スナップショットコマンドは次のようになります。


    # zfs snapshot zone/public@snapshot
    
  2. 作成したいゾーンごとに、「ゾーンのクローンを作成」アクションをダブルクリックします。

    プロンプトに答えます。


    New Zone Name:      Type name of source zone
    ZFS Snapshot:         Type name of snapshot
    
  3. ダイアログボックスの情報を読みます。


    Zone label is <LABEL>
    zone-name is ready for booting
    
    *** Select Close or Exit from the window menu to close this window ***
  4. ゾーンごとに「ゾーンを起動」アクションを実行します。

    別のゾーンに対するアクションを実行する前に、それぞれのゾーンを起動します。

  5. ゾーンが作成されたあと、すべてのゾーンのステータスをチェックします。

    1. 「ゾーン端末コンソール」アクションをダブルクリックします。

    2. 「ゾーンのステータスを確認する」を完了します。