Oracle Solaris Trusted Extensions 構成ガイド

第 4 章 Trusted Extensions の構成 (手順)

この章では、モニターがあるシステムでの Trusted Extensions の構成方法について説明します。適切に作業するため、Trusted Extensions ソフトウェアで ラベル、ゾーン、ネットワーク、役割になれるユーザー、役割、およびツールを構成する必要があります。

その他の構成タスクについては、『Oracle Solaris Trusted Extensions 管理の手順』を参照してください。

Trusted Extensions での大域ゾーンの設定

大域ゾーンを設定する前に、構成を決定してください。決定事項については、「Trusted Extensions の有効化前の情報収集と決定事項」を参照してください。

作業 

説明 

参照先 

ハードウェアを保護します。 

ハードウェアの設定を変更する際にパスワードの入力を求めることによって、ハードウェアを保護できます。 

『System Administration Guide: Security Services』「Controlling Access to System Hardware」

ラベルを設定します。 

ラベルはサイトに合わせて設定する必要があります。デフォルトの label_encodings ファイルを使用する場合、この手順は省略します。

「ラベルエンコーディングファイルを検査およびインストールする」

IPv6 の場合、/etc/system ファイルを変更します。

IPv6 ネットワークを実行する場合、ラベル付きパケットが IP によって認識されるように /etc/system ファイルを変更します。

「Trusted Extensions で IPv6 ネットワーキングを有効にする」

DOI の値が 1 でない場合は、/etc/system ファイルを変更します。

ネットワークノードの CIPSO 解釈ドメイン (DOI) が 1 でない場合は、/etc/system ファイル内でその DOI を指定します。

「解釈ドメインの構成」

Solaris ZFS スナップショットのための領域を作成します。 

ゾーンのクローンを作成するために Solaris ZFS スナップショットを使用する場合は、ZFS プールを作成します。 

最初のゾーンのクローンを作成して、その他のラベル付きゾーンを作成する場合は、このタスクを実行します。 

「ゾーンのクローンを作成するために ZFS プールを作成する」

再起動してログインします。 

ログインすると、大域ゾーンになり、その環境では必須アクセス制御 (MAC) が認識されて実施されます。 

「Trusted Extensions を再起動してログインする 」

Solaris 管理コンソールを初期化します。 

Trusted Extensions で、ユーザー、役割、ゾーン、およびネットワークを管理するツールが Solaris 管理コンソールに追加されます。 

「Trusted Extensions で Solaris 管理コンソールサーバーを初期化する」

LDAP を構成します。 

LDAP ネームサービスを使用している場合、LDAP サービスを設定します。 

第 5 章Trusted Extensions のための LDAP の構成 (手順)

LDAP サービスを設定している場合、このシステムを LDAP クライアントにします。 

「Trusted Extensions で大域ゾーンを LDAP クライアントにする」

Procedureラベルエンコーディングファイルを検査およびインストールする

エンコーディングファイルは、通信する相手の Trusted Extensions ホストと互換性がなければなりません。


注 –

Trusted Extensions はデフォルトの label_encodings ファイルをインストールします。このデフォルトファイルは、デモンストレーションとして便利です。ただし、実際の使用に適しているとは限りません。デフォルトファイルを使用する場合、この手順は省略できます。



注意 – 注意 –

続行する前に、ラベルを正しくインストールしてください。正しくインストールしていないと構成できません。


始める前に

セキュリティー管理者です。セキュリティー管理者は、label_encodings ファイルの編集、検査、および保守を担当します。label_encodings ファイルを編集する場合、ファイルが書き込み可能であることを確認してください。詳細は、label_encodings(4) のマニュアルページを参照してください。

  1. label_encodings ファイルが含まれたメディアを適切なデバイスに挿入します。

  2. label_encodings ファイルをディスクにコピーします。

  3. ファイルの構文を検査し、それをアクティブな label_encodings ファイルにします。

    • Trusted JDS では、コマンド行からファイルの検査とインストールを行います。

      1. 端末ウィンドウを開きます。

      2. chk_encodings コマンドを実行します。


        # /usr/sbin/chk_encodings /full-pathname-of-label-encodings-file
        
      3. 出力を読み、次のいずれかを行います。


      注意 – 注意 –

      続行するには、label_encodings ファイルが chk_encodings テストに合格しなければなりません。


    • Trusted CDE では、「エンコーディングの検査」アクションを使用します。

      1. Trusted_Extensions フォルダを開きます。

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

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

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

        図は Trusted_Extensions フォルダのアイコンを示しています。
      4. 「エンコーディングの検査」アクションをダブルクリックします。

        ダイアログボックスで、ファイルのフルパス名を入力します


        /full-pathname-of-label-encodings-file
        

        chk_encodings コマンドを起動して、ファイルの構文を検査します。「エンコーディングの検査」ダイアログボックスに結果が表示されます。

      5. 「エンコーディングの検査」ダイアログボックスの内容を読み、次のいずれかを行います。

        • エラーを解決します。

          「エンコーディングの検査」アクションによってエラーが報告された場合、続行する前に、そのエラーを解決しなければなりません。参考として、『Solaris Trusted Extensions ラベルの管理』の第 3 章「ラベルエンコーディングファイルの作成 (手順)」を参照してください。

        • はい」をクリックすることで、そのファイルをアクティブな label_encodings ファイルにします。

          「エンコーディングの検査」アクションによって元のファイルのバックアップコピーが作成され、検査済みのバージョンが /etc/security/tsol/label_encodings にインストールされます。さらに、ラベルデーモンが再起動されます。


    注意 – 注意 –

    続行するには、label_encodings ファイルがエンコーディングの検査テストに合格しなければなりません。


  4. ファイルの構文を検査し、それをアクティブな label_encodings ファイルにします。

    コマンド行を使用します。

    1. 端末ウィンドウを開きます。

    2. chk_encodings コマンドを実行します。


      # /usr/sbin/chk_encodings /full-pathname-of-label-encodings-file
      
    3. 出力を読み、次のいずれかを行います。


    注意 – 注意 –

    続行するには、label_encodings ファイルがエンコーディングの検査テストに合格しなければなりません。



例 4–1 コマンド行での label_encodings 構文の検査

この例では、管理者がコマンド行を使用していくつかの label_encodings ファイルをテストします。


# /usr/sbin/chk_encodings /var/encodings/label_encodings1
No errors found in /var/encodings/label_encodings1
# /usr/sbin/chk_encodings /var/encodings/label_encodings2
No errors found in /var/encodings/label_encodings2

業務管理で label_encodings2 ファイルを使用することを決めたら、管理者はファイルの意味解析を実行します。


# /usr/sbin/chk_encodings -a /var/encodings/label_encodings2
No errors found in /var/encodings/label_encodings2

---> VERSION = MYCOMPANY LABEL ENCODINGS  2.0 10/10/2006

---> CLASSIFICATIONS <---

   Classification 1: PUBLIC
   Initial Compartment bits: 10
   Initial Markings bits: NONE

---> COMPARTMENTS AND MARKINGS USAGE ANALYSIS <---
...
---> SENSITIVITY LABEL to COLOR MAPPING <---
...

管理者は自分の記録用に意味解析のコピーを出力したのち、このファイルを /etc/security/tsol ディレクトリに移動します。


# cp /var/encodings/label_encodings2 /etc/security/tsol/label.encodings.10.10.06
# cd /etc/security/tsol
# cp label_encodings label_encodings.tx.orig
# cp label.encodings.10.10.06 label_encodings

最後に、管理者は label_encodings ファイルが会社ファイルであることを確認します。


# /usr/sbin/chk_encodings -a /etc/security/tsol/label_encodings | head -4
No errors found in /etc/security/tsol/label_encodings

---> VERSION = MYCOMPANY LABEL ENCODINGS  2.0 10/10/2006

ProcedureTrusted Extensions で IPv6 ネットワーキングを有効にする

CIPSO オプションは、パケットの IPv6 Option Type フィールドで使用すべき IANA (Internet Assigned Numbers Authority) 番号を持ちません。この手順で設定するエントリは、このオプションの番号を IANA が割り当てるまでローカルネットワークで使用する番号を提供します。この番号が定義されていないと、Trusted Extensions は IPv6 ネットワークを無効にします。

Trusted Extensions で IPv6 ネットワークを有効にするには、/etc/system ファイルにエントリを追加してください。

  1. /etc/system ファイルに次のエントリを入力します。


    set ip:ip6opt_ls = 0x0a
    
注意事項

Procedure解釈ドメインの構成

Trusted Extensions で構成されたシステムとの間の通信はすべて、ある単一の CIPSO 解釈ドメイン (DOI) のラベル付け規則に従う必要があります。各メッセージ内で使用される DOI は、CIPSO IP Option ヘッダーの整数値によって識別されます。デフォルトで、Trusted Extensions の DOI は 1 になっています。

使用する DOI が 1 でない場合、/etc/system ファイルにエントリを追加し、デフォルトのセキュリティーテンプレートの doi 値を変更する必要があります。

  1. /etc/system ファイルに次の DOI エントリを入力します。


    set default_doi = n
    

    このゼロでない正数は、使用するノードおよびそのノードと通信するシステムの tnrhtp データベースに含まれている DOI 番号に一致する必要があります。

  2. tnrhtp データベースを LDAP サーバーに追加する前に、デフォルトエントリとローカルアドレスに対するすべてのエントリの doi 値を変更します。

    Trusted Extensions の tnrhtp データベース内には、cipsoadmin_low の 2 つのテンプレートが用意されています。ローカルアドレスのエントリを追加した場合には、それらのエントリも変更します。

    1. tnrhtp データベースをトラステッドエディタで開きます。


      # /usr/dt/bin/trusted_edit /etc/security/tsol/tnrhtp
      

      Solaris Trusted Extensions (CDE) では代わりに、アプリケーションマネージャーの Trusted_Extensions フォルダ内の「管理エディタ」アクションを使用します。

    2. cipso テンプレートエントリを別の行にコピーします。


      cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH
      cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH
    3. いずれかの cipso エントリをコメントにします。


      #cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH
      cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH
    4. コメントにされていない cipso エントリの doi 値を変更します。

      この値を、/etc/system ファイル内の default_doi の値と同じにします。


      #cipso:host_type=cipso;doi=1;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH
      cipso:host_type=cipso;doi=n;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH
    5. admin_low エントリの doi 値を変更します。


      #admin_low:host_type=unlabeled;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH;doi=1;def_label=ADMIN_LOW
      admin_low:host_type=unlabeled;min_sl=ADMIN_LOW;max_sl=ADMIN_HIGH;doi=n;def_label=ADMIN_LOW

    tnrhtp データベース内のすべてのエントリのすべての doi 値が同じになったら作業は完了です。

注意事項

/etc/system ファイルで 1 以外の default_doi 値が設定されていて、かつこのシステムのセキュリティーテンプレートでその default_doi 値に一致しない値が設定されていた場合、インタフェースの構成時にシステムコンソール上に次のようなメッセージが表示されます。

インタフェースの構成に失敗した場合、次のようにログインが失敗する可能性があります。

この問題を修正するには、システムをシングルユーザーモードでブートし、この手順で説明した方法でセキュリティーテンプレートを修正します。

参照

DOI の詳細については、『Oracle Solaris Trusted Extensions 管理の手順』「Trusted Extensions のネットワークセキュリティー属性」を参照してください。

作成するセキュリティーテンプレートの doi 値を変更するには、『Oracle Solaris Trusted Extensions 管理の手順』「遠隔ホストテンプレートを構築する」を参照してください。

ユーザーが選択したエディタを信頼できるエディタとして使用するには、『Oracle Solaris Trusted Extensions 管理の手順』「トラステッドエディタとして任意のエディタを割り当てる」を参照してください。

Procedureゾーンのクローンを作成するために ZFS プールを作成する

Solaris ZFS スナップショットをゾーンテンプレートとして使用する場合、ZFS ファイルまたは ZFS デバイスから ZFS プールを作成する必要があります。このプールには、各ゾーンのクローンを作成するためのスナップショットが保持されます。ZFS プール用に /zone デバイスを使用します。

始める前に

Solaris のインストール時に、ZFS ファイルシステム用のディスク容量を確保しておきます。詳細は、「Trusted Extensions でのゾーン計画」を参照してください。

  1. /zone パーティションをアンマウントします。

    インストール時に、十分なディスク容量 (約 2000M バイト) の /zone パーティションを作成してあります。


    # umount /zone
    
  2. /zone マウントポイントを削除します。


    # rmdir /zone
    
  3. vfstab ファイルの /zone エントリをコメントにします。

    1. /zone エントリを読み取られないようにします。

      エディタで vfstab ファイルを開きます。/zone エントリの前にコメント記号を付けます。


      #/dev/dsk/cntndnsn  /dev/dsk/cntndnsn  /zone  ufs  2  yes  -
    2. ディスクスライス cntndnsn をクリップボードにコピーします。

    3. ファイルを保存し、エディタを閉じます。

  4. ディスクスライスを使用して /zone を ZFS プールとして再作成します。


    # zpool create -f zone cntndnsn
    

    たとえば、/zone エントリがディスクスライス c0t0d0s5 を使用した場合、コマンドは次のようになります。


    # zpool create -f zone c0t0d0s5
    
  5. ZFS プールが正常であることを検証します。

    次のいずれかのコマンドを使用します。


    # zpool status -x zone
    pool 'zone' is healthy

    # zpool list
    NAME     SIZE     USED   AVAIL   CAP   HEALTH   ALTROOT
    /zone    5.84G   80K    5.84G    7%   ONLINE   -

    この例では、初期設定チームはゾーンのパーティション用に 6000M バイトを用意しました。詳細は、zpool(1M) のマニュアルページを参照してください。

ProcedureTrusted Extensions を再起動してログインする

ほとんどのサイトでは、初期設定チームの役割を果たす、2 人以上の管理者がシステムの構成を担当します。

始める前に

最初にログインする前に、Trusted Extensions のデスクトップおよびラベルのオプションを熟知しておいてください。詳細は、『Oracle Solaris Trusted Extensions ユーザーズガイド』の第 2 章「Trusted Extensions へのログイン (手順)」を参照してください。

  1. システムを再起動します。


    # /usr/sbin/reboot
    

    システムにグラフィック表示用のディスプレイがない場合は、第 6 章Trusted Extensions とヘッドレスシステムの構成 (タスク) に進みます。

  2. Solaris Trusted Extensions (CDE) または Solaris Trusted Extensions (JDS) デスクトップにスーパーユーザーとしてログインします。

    1. ログインウィンドウで、いずれかのトラステッドデスクトップを選択します。

      Trusted CDE デスクトップには、システムの構成時に役立つアクションが含まれています。Solaris 10 10/08 リリースから、txzonemgr スクリプトがシステムを構成するために優先されるプログラムになりました。

    2. ログインダイアログボックスで、root および root パスワードを入力します。

      ユーザーはパスワードをほかの人に知られないようにしてください。その人がユーザーのデータにアクセスすると、アクセスした人を特定できず、責任を追求できなくなります。パスワードがほかの人に知られるのは、ユーザーが故意に教えてしまうような直接的な場合と、書き留めておいたパスワードを見られたり、安全でないパスワードを設定したりするなど、間接的な場合があります。Trusted Extensions ソフトウェアでは、安全でないパスワードが設定されないようにできますが、ユーザーがパスワードを教えたり、書き留めたりするのを防止することはできません。

  3. 「最後のログイン」ダイアログボックス内の情報を読みます。

    図は「最後のログイン」ダイアログボックスを示しています。

    「了解」をクリックしてボックスを閉じます。

  4. ラベルビルダーを読みます。

    「了解」をクリックしてデフォルトのラベルを受け入れます。

    ログインプロセスが完了すると、Trusted Extensions 画面が短く表示され、4 つのワークスペースを持つデスクトップセッションになります。トラステッドストライプTrusted Path のシンボルが表示されます。


    注 –

    システムの前から離れるときは、ログオフするかまたは画面をロックしてください。これを怠ると、だれかが識別や認証を受けずにシステムにアクセスできてしまい、アクセスした人を特定できず、責任を追求できなくなります。


ProcedureTrusted Extensions で Solaris 管理コンソールサーバーを初期化する

この手順で、ユーザー、役割、ホスト、ゾーン、およびネットワークをこのシステム上で管理できるようになります。構成する最初のシステムでは、files スコープのみが使用可能です。

始める前に

スーパーユーザーでなければなりません。

クライアントで動作する Solaris 管理コンソールから LDAP サーバー上の LDAP ツールボックスを使用するには、「LDAP のための Solaris 管理コンソールの設定 (作業マップ)」のすべての作業を完了してください。

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


    # /usr/sbin/smc &
    

    注 –

    Solaris 管理コンソールをはじめて起動するときには、登録タスクを実行します。このタスクには数分かかります。


    図 4–1 Solaris 管理コンソール 初期ウィンドウ

    図は、Solaris 管理コンソールの開始画面を示しています。

  2. Solaris 管理コンソールでツールボックスのアイコンが表示されない場合、次のいずれかを実行します。

    • ナビゲーション区画が表示されない場合

      1. 表示されている「ツールボックスを開く」ダイアログボックスで、「サーバー」の下にあるシステムの名前の横の「読み込む」をクリックします。

        システムにメモリーおよびスワップの推奨容量がない場合、ツールボックスが表示されるまで数分かかる場合があります。推奨値については、「Trusted Extensions 用 Solaris OS のインストールまたはアップグレード」を参照してください。

      2. ツールボックスのリストから、Policy=TSOL であるツールボックスを選択します。

        図 4–2 は、このコンピュータ (this-host: Scope=Files, Policy=TSOL) ツールボックスを示しています。Trusted Extensions で、「システムの構成」ノードにあるツールを変更します。


        注意 – 注意 –

        ポリシーがないツールボックスは選択しないでください。リストされているポリシーがないツールボックスは、Trusted Extensions をサポートしません。


        影響を与えるスコープに応じて、ツールボックスの選択が決まります。

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

    • ナビゲーション区画は表示されるが、ツールボックスのアイコンが停止標識である場合

      1. Solaris 管理コンソールを終了します。

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


        # /usr/sbin/smc &
        
  3. Policy=TSOL のツールボックスをまだ選択していない場合は、それを選択します。

    次の図は、このコンピュータ (this-host: Scope=Files, Policy=TSOL) ツールボックスを示しています。Trusted Extensions で、「システムの構成」ノードにあるツールを変更します。

    図 4–2 Solaris 管理コンソールの Trusted Extensions ツール

    ウィンドウは、「ユーザー」ツールおよび「コンピュータとネットワーク」ツールを含む「システムの構成」ノードを示しています。

  4. (省略可能) 現在のツールボックスを保存します。

    Policy=TSOL ツールボックスを保存すると、デフォルトで Trusted Extensions ツールボックスが読み込まれます。設定は役割ごと、ホストごとに保存されます。ホストは Solaris 管理コンソールサーバーです。

    1. 「コンソール」メニューから「設定の変更」を選択します。

      「ホーム」ツールボックスが選択されています。

    2. Policy=TSOL ツールボックスを「ホーム」ツールボックスとして定義します。

      「現在のツールボックスを使用」ボタンをクリックすることによって、現在のツールボックスを「場所」フィールドに入力します。

    3. 「了解」をクリックして設定を保存します。

  5. Solaris 管理コンソールを終了します。

参照

Solaris 管理コンソールに対する Trusted Extensions の追加事項の概要については、『Oracle Solaris Trusted Extensions 管理の手順』「Solaris 管理コンソールツール」を参照してください。Solaris 管理コンソールを使用してセキュリティーテンプレートを作成するには、『Oracle Solaris Trusted Extensions 管理の手順』「トラステッドネットワークデータベースの構成 (作業マップ)」を参照してください。

ProcedureTrusted Extensions で大域ゾーンを LDAP クライアントにする

LDAP では、この手順で大域ゾーンにネームサービス設定を構築します。LDAP を使用していない場合、この手順は省略できます。

Solaris 10 5/08 リリース以降、Solaris Trusted Extensions (CDE) ワークスペースにいるユーザーは、txzonemgr スクリプトまたは Trusted CDE アクションを使って LDAP クライアントを作成できます。Solaris Trusted Extensions (JDS) または Solaris Trusted Extensions (GNOME) ワークスペースにいるユーザーは、txzonemgr スクリプトを使用する必要があります。


注 –

あるユーザーが各ラベル付きゾーン内でネームサーバーを設定することを計画している場合、各ラベル付きゾーンへの LDAP クライアント接続を確立する責任はそのユーザーにあります。


始める前に

Sun Java System Directory Server、つまり LDAP サーバーが存在しなければなりません。Trusted Extensions データベースのデータがサーバーに入力されていて、システムがサーバーと通信できなければなりません。そのため、構成しているシステムで、LDAP サーバー上の tnrhdb データベースへのエントリが必要です。あるいは、この手順を実行する前に、このシステムがワイルドカードエントリに含まれていなければなりません。

Trusted Extensions が設定された LDAP サーバーが存在しない場合、次に示す手順を実行する前に、第 5 章Trusted Extensions のための LDAP の構成 (手順) の手順を完了します。

  1. DNS を使用している場合、nsswitch.ldap ファイルを変更します。

    1. 元の nsswitch.ldap ファイルのコピーを保存します。

      LDAP 用の標準的なネームサービスのスイッチファイルは限定的であるため、Trusted Extensions には使用できません。


      # cd /etc
      # cp nsswitch.ldap nsswitch.ldap.orig
      
    2. 次の各サービスの nsswitch.ldap ファイルエントリを変更します。

      正しいエントリは次のとおりです。


      hosts:    files dns ldap
      
      ipnodes:    files dns ldap
      
      networks:   ldap files
      protocols:  ldap files
      rpc:        ldap files
      ethers:     ldap files
      netmasks:   ldap files
      bootparams: ldap files
      publickey:  ldap files
      
      services:   files

      Trusted Extensions によって、次の 2 つのエントリが追加されます。


      tnrhtp:    files ldap
      tnrhdb:    files ldap
    3. 変更した nsswitch.ldap ファイルを nsswitch.conf にコピーします。


      # cp nsswitch.ldap nsswitch.conf
      
  2. 次の手順のいずれかを実行して LDAP クライアントを作成します。

    • txzonemgr スクリプトを実行し、LDAP に関するプロンプトに答えます。

      「Create LDAP Client」メニュー項目によって構成されるのは、大域ゾーンだけです。

      1. txzonemgr スクリプトを実行する」の手順に従います。

        このダイアログボックスのタイトルは「Labeled Zone Manager」です。

      2. 「Create LDAP Client」を選択します。

      3. 次の各プロンプトに答え、それぞれの回答のあとで「了解」をクリックします。


        Enter Domain Name:                   Type the domain name
        Enter Hostname of LDAP Server:       Type the name of the server
        Enter IP Address of LDAP Server servername: Type the IP address
        Enter LDAP Proxy Password:       Type the password to the server
        Confirm LDAP Proxy Password:     Retype the password to the server
        Enter LDAP Profile Name:         Type the profile name
        
      4. 表示された値を確定するか取り消します。


        Proceed to create LDAP Client?

        確定した場合、txzonemgr スクリプトによって LDAP クライアントが追加されます。その後、コマンド出力がウィンドウに表示されます。

    • Trusted CDE ワークスペースで、「LDAP クライアントを作成」アクションを検索して使用します。

      1. 背景でマウスボタン 3 をクリックして Trusted_Extensions フォルダに移動します。

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

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

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

      4. 「LDAP クライアントを作成」アクションをダブルクリックします。

        次のプロンプトに答えます。


        Domain Name:               Type the domain name
        Hostname of LDAP Server:   Type the name of the server
        IP Address of LDAP Server: Type the IP address
        LDAP Proxy Password:       Type the password to the server
        Profile Name:              Type the profile name
        
      5. 「了解 (OK)」をクリックします。

        次の完了メッセージが表示されます。


        global zone will be LDAP client of LDAP-server
        System successfully configured.
        
        *** Select Close or Exit from the window menu to close this window ***
      6. アクションウィンドウを閉じます。

  3. 端末ウィンドウで、enableShadowUpdate パラメータに TRUE を設定します。


    # ldapclient -v mod -a enableShadowUpdate=TRUE \
    > -a adminDN=cn=admin,ou=profile,dc=domain,dc=suffix
    System successfully configured

    「LDAP クライアントを作成」アクションと txzonemgr スクリプトは ldapclient init コマンドのみを実行します。Trusted Extensions では、シャドウ更新を有効にするため、初期化された LDAP クライアントに変更を加える必要もあります。

  4. サーバーに関する情報が正しいことを確認します。

    1. 端末ウィンドウを開き、LDAP サーバーを照会します。


      # ldapclient list
      

      出力表示は次のようになります。


      NS_LDAP_FILE_VERSION= 2.0
      NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=domain-name
      ...
      NS_LDAP_BIND_TIME= number
      
    2. エラーを修正します。

      エラーが表示された場合は、もう一度 LDAP クライアントを作成し、正しい値を指定してください。たとえば、次のエラーが表示される場合、LDAP サーバーにシステムのエントリがない可能性があります。


      LDAP ERROR (91): Can't connect to the LDAP server.
      Failed to find defaultSearchBase for domain domain-name
      

      このエラーを修正するには、LDAP サーバーを確認する必要があります。


例 4–2 resolv.conf ファイルの読み込み後にホスト名を使用する

この例では、管理者が、ある特定の DNS サーバー群をシステムから使用可能にします。管理者は、トラステッドネットワーク上のサーバーから resolv.conf ファイルをコピーします。DNS はまだアクティブになっていないため、管理者はサーバーの IP アドレスを使ってサーバーを特定します。


# cd /etc
# cp /net/10.1.1.2/export/txsetup/resolv.conf resolv.conf

resolv.conf ファイルがコピーされ、nsswitch.conf ファイルの hosts エントリに dns が含められると、管理者はホスト名を使ってシステムを特定できるようになります。


ラベル付きゾーンの作成

txzonemgr スクリプトを使用すると、ラベル付きゾーンを構成する次のタスクをすべて順に実行できます。


注意 – 注意 –

txzonemgr の手順を使用するには、Trusted Extensions の Solaris 10 8/07 リリース以降を実行している必要があります。または、Solaris 10 11/06 リリースのすべてのパッチをインストールしてください。


Solaris 10 11/06 リリースを現在のパッチを適用しないで実行している場合、付録 B Trusted Extensions での CDE アクションを使用したゾーンのインストールの手順を使用してラベル付きゾーンを構成します。

この節の手順で、最大 2 つの IP アドレスに割り当てられているシステム上にラベル付きゾーンを構成します。その他の設定については、「作業マップ: Trusted Extensions の準備と有効化」の構成オプションを参照してください。

作業 

説明 

参照先 

1. txzonemgr スクリプトを実行します。

txzonemgr スクリプトで、ゾーンの構成時に適したタスクを提示する GUI を作成します。

txzonemgr スクリプトを実行する」

2. 大域ゾーンでネットワークインタフェースを管理します。 

大域ゾーンでインタフェースを構成します。つまり、論理インタフェースを作成して、それらのインターフェースを大域ゾーンで構成します。 

「Trusted Extensions でネットワークインタフェースを構成する」

3. ゾーンに名前を付けてラベルを付けます。 

ゾーンにそのラベルのバージョンを使って名前を付けて、ラベルに割り当てます。 

「ゾーンに名前およびラベルを付ける」

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

パッケージをゾーンにインストールします。サービスをゾーンで構成します。ゾーン端末コンソールによって、ゾーンにアクティビティを表示できます。 

「ラベル付きゾーンをインストールする」

「ラベル付きゾーンを起動する」

5. ゾーンのステータスを確認します。 

ラベル付きゾーンが実行されており、そのゾーンが大域ゾーンと通信できることを確認します。 

「ゾーンのステータスを確認する」

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

不要なサービスをゾーンから削除します。 

ゾーンを使用してその他のゾーンを作成する場合は、このゾーンにのみ限定される情報を削除します。 

「ラベル付きゾーンをカスタマイズする」

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

選択した方法を使用して、2 つめのゾーンを作成します。ゾーンの作成方法については、「Trusted Extensions でのゾーン計画」を参照してください。

「Trusted Extensions でゾーンのコピーまたはクローンを行う」

8. (省略可能) ゾーン固有のネットワークインタフェースを追加します。 

ネットワークの遮断を行うには、1 つ以上のネットワークインタフェースをラベル付きゾーンに追加します。一般に、そのような構成はラベル付きサブネットを切り離すために使用します。 

「ネットワークインタフェースをラベル付きゾーンに追加し、ルーティングする」

Proceduretxzonemgr スクリプトを実行する

このスクリプトで、ラベル付きゾーンを適切に構成、インストール、初期化、および起動するタスクを順に実行します。このスクリプトでは、各ゾーンに名前を付けてその名前とラベルを関連付け、パッケージをインストールして仮想 OS を作成し、ゾーンを起動してそのゾーンでサービスを開始します。このスクリプトには、ゾーンのコピーおよびゾーンのクローン作成のタスクが含まれています。また、ゾーンの停止、ゾーンの状態の変更、ゾーン固有のネットワークインタフェースの追加もできます。

このスクリプトによって動的に決定されるメニューが提示され、現在の状況に有効な選択のみが表示されます。たとえば、ゾーンのステータスを設定する場合には、ゾーンをインストールするためのメニュー項目は表示されません。完了済みのタスクはリストに表示されません。

始める前に

スーパーユーザーになります。

ゾーンのクローンを作成する場合は、ゾーンのクローン作成の準備を完了しておきます。独自のセキュリティーテンプレートを使用する場合は、そのテンプレートを作成しておきます。

  1. 端末ウィンドウを大域ゾーンで開きます。

  2. txzonemgr スクリプトを実行します。


    # /usr/sbin/txzonemgr
    

    このスクリプトで、「Labeled Zone Manager」ダイアログボックスが開きます。この「zenity」ダイアログボックスで、インストールの現在の状態に応じて、適切なタスクを実行するよう求められます。

    タスクを実行するには、メニュー項目を選択してから、Return キーを押すかまたは「了解」をクリックします。テキストの入力を求められた場合は、テキストを入力してから Return キーを押すかまたは「了解」をクリックします。


    ヒント –

    ゾーン完了の現在の状態を表示するには、Labeled Zone Manager の「Return to Main Menu」をクリックします。


ProcedureTrusted Extensions でネットワークインタフェースを構成する


注 –

DHCP を使用するようにシステムを構成する場合、OpenSolaris Community: Security Web ページの Trusted Extensions の節にあるノートパソコンに関する指示を参照してください。

Solaris 10 10/08 リリースから、各ラベル付きゾーンが独自のサブネットにあるシステムを構成する場合は、この手順を省略して、「ゾーンに名前およびラベルを付ける」に進むことができます。ゾーンのインストールとカスタマイズを終えたら、「既存のラベル付きゾーンを経路指定するためにネットワークインタフェースを追加する」で各ラベル付きゾーンのネットワークインタフェースを追加します。


このタスクで、ネットワーキングを大域ゾーンで構成します。all-zones インタフェースを 1 つだけ作成する必要があります。all-zones インタフェースは、ラベル付きゾーンと大域ゾーンで共有されます。この共有インタフェースは、ラベル付きゾーンと大域ゾーンの間のトラフィックの経路制御に使用されます。このインタフェースを構成するには、次のいずれかを実行します。

ゾーン固有のネットワークインタフェースを追加するには、インタフェースを追加する前に、ゾーンの作成を終了して確認します。手順については、「既存のラベル付きゾーンを経路指定するためにネットワークインタフェースを追加する」を参照してください。

始める前に

大域ゾーンでスーパーユーザーになります。

Labeled Zone Manager が表示されています。この GUI を開くには、txzonemgr スクリプトを実行する」を参照してください。

  1. 「Labeled Zone Manager」で、「Manage Network Interfaces」を選択して、「了解」をクリックします。

    インタフェースのリストが表示されます。


    注 –

    この例では、物理インタフェースにホスト名と IP アドレスがインストール時に割り当てられています。


  2. 物理インタフェースを選択します。

    インタフェースが 1 つあるシステムには、次のようなメニューが表示されます。参考のために注記を追加しています。


    vni0                        DownVirtual Network Interface
    eri0 global 10.10.9.9 cipso Up Physical Interface
    
    1. eri0 インタフェースを選択します。

    2. 「了解」をクリックします。

  3. このネットワークインタフェースに適したタスクを選択します。

    次の、3 つのオプションが提示されます。


    View Template Assign a label to the interface
    Share Enable the global zone and labeled zones to use this interface
    Create Logical Interface Create an interface to use for sharing
    
    • システムが 1 つの IP アドレスを持つ場合は、手順 4 に進みます。

    • システムが 2 つの IP アドレスを持つ場合は、手順 5 に進みます。

  4. 1 つの IP アドレスを持つシステムでは、物理インタフェースを共有します。

    この構成では、ホストの IP アドレスがすべてのゾーンに適用されます。したがって、ホストのアドレスは all-zones アドレスです。このホストをマルチレベルサーバーとして使用することはできません。たとえば、ユーザーはこのシステムからのファイルを共有することはできません。このシステムは、LDAP プロキシサーバー、NFS ホームディレクトリサーバー、プリンタサーバーとすることはできません。

    1. 「Share」を選択して「了解」をクリックします。

    2. 共有インタフェースが表示されたダイアログボックスで、「了解」をクリックします。


      eri0  all-zones  10.10.9.8  cipso  Up

      物理インタフェースが all-zones インタフェースになっていれば、手順は正常に完了しています。「ゾーンに名前およびラベルを付ける」に進みます。

  5. 2 つの IP アドレスを持つシステムでは、論理インタフェースを作成します。

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

    これはもっともシンプルな Trusted Extensions ネットワーク構成です。 この構成では、メインの IP アドレスはほかのシステムがこのシステム上の任意のゾーンに到達するために使用し、論理インタフェースは大域ゾーンに固有とすることができます。大域ゾーンはマルチレベルサーバーとして使用できます。

    1. 「Create Logical Interface」を選択して「了解」をクリックします。

      新しい論理インタフェースの作成を確認するダイアログボックスを閉じます。

    2. 「Set IP address」を選択して「了解」をクリックします。

    3. プロンプトで論理インタフェースのホスト名を指定し、「了解」をクリックします。

      たとえば、論理インタフェースのホスト名として machine1-services を指定します。この名前は、このホストがマルチレベルサービスを提供することを示しています。

    4. プロンプトで論理インタフェースの IP アドレスを指定し、「了解」をクリックします。

      たとえば、論理インタフェースの IP アドレスとして 10.10.9.2 を指定します。

    5. 論理インタフェースをもう一度選択して、「了解」をクリックします。

    6. 「Bring Up」を選択して「了解」をクリックします。

      インタフェースが Up として表示されます。


      eri0    global       10.10.9.1   cipso   Up
      eri0:1  global       10.10.9.2   cipso   Up
    7. 物理インタフェースを共有します。

      1. 物理インタフェースを選択して「了解」をクリックします。

      2. 「Share」を選択して「了解」をクリックします。


        eri0    all-zones    10.10.9.1   cipso   Up
        eri0:1  global       10.10.9.2   cipso   Up

    少なくとも 1 つのインタフェースが all-zones インタフェースになっていれば、手順は正常に完了しています。


例 4–3 共有論理インタフェースがあるシステムでの /etc/hosts ファイルの表示

大域ゾーンに一意のインタフェースがあり、ラベル付きゾーンが別のインタフェースを大域ゾーンと共有するシステムでは、/etc/hosts ファイルは次のようになります。


# cat /etc/hosts
...
127.0.0.1  localhost
192.168.0.11 machine1 loghost
192.168.0.12 machine1-services 

デフォルト構成では、tnrhdb ファイルは次のようになります。


# cat /etc/security/tsol/tnrhdb
...
127.0.0.1:cipso
192.168.0.11:cipso
192.168.0.12:cipso
0.0.0.0:admin_low

all-zones インタフェースが tnrhdb ファイル内にない場合、インタフェースはデフォルトの cipso になります。



例 4–4 IP アドレスが 1 つある Trusted Extensions システムでの共有インタフェースの表示

この例では、管理者がシステムをマルチレベルサーバーとして使用する計画はありません。IP アドレスを節約するため、すべてのラベル付きゾーンと IP アドレスを共有するように大域ゾーンが構成されます。

管理者は、システムの hme0 インタフェースとして「Share」を選択します。このソフトウェアにより、すべてのゾーンに論理 NIC があるよう設定されます。これらの論理 NIC は、大域ゾーンで 1 つの物理的な NIC を共有します。

管理者は ifconfig -a コマンドを実行して、ネットワークインタフェース 192.168.0.11 にある物理インタフェース hme0 が共有されることを確認します。all-zones の値が表示されます。


 lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
         inet 127.0.0.1 netmask ff000000
 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

Solaris 10 10/08 リリースから、Trusted Extensions のループバックインタフェースは all-zones インタフェースとして作成されます。


 lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
         all-zones
         inet 127.0.0.1 netmask ff000000
 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

管理者は /etc/hostname.hme0 ファイルの内容も調べます。


192.168.0.11 all-zones

Procedureゾーンに名前およびラベルを付ける

label_encodings ファイル中のラベルごとにゾーンを作成する必要はありませんが、作成することもできます。管理 GUI により、このシステムで GUI 用に作成されたゾーンを持つことのできるラベルが列挙されます。

始める前に

大域ゾーンでスーパーユーザーになります。「Labeled Zone Manager」ダイアログボックスが表示されます。この GUI を開くには、txzonemgr スクリプトを実行する」を参照してください。ネットワークインタフェースを大域ゾーンに構成しています。

必要なセキュリティーテプレートを作成しています。セキュリティーテンプレートで、属性の中で特に、ネットワークインタフェースに割り当てることができるラベル範囲を定義します。デフォルトのセキュリティーテンプレートでも必要性は満たされることはあります。

  1. 「Labeled Zone Manager」で、「Create a new zone」をクリックして、「了解」をクリックします。

    プロンプトで名前の入力を求められます。

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


      ヒント –

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


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


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

      ラベルごとにゾーンを 1 つ作成できますが、次のゾーンを作成することを検討してください。

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

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

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

    2. 「了解 (OK)」をクリックします。

      ダイアログボックスでは、タスクのリストの上に zone-name :configured が表示されます。

  2. ゾーンにラベルを付けるには、次のいずれかを選択します。

    • カスタマイズした label_encodings ファイルを使用している場合、トラステッドネットワークゾーンツールを使用してゾーンにラベルを付けます。

      1. トラステッドネットワークゾーンツールを Solaris 管理コンソールで開きます。

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • デフォルトの label_encodings ファイルを使用している場合、Labeled Zone Manager を使用します。

      「Select Label」メニュー項目をクリックして「了解」をクリックし、使用可能なラベルのリストを表示します。

      1. ゾーンのラベルを選択します。

        public という名前のゾーンの場合、リストから PUBLIC ラベルを選択します。

      2. 「了解 (OK)」をクリックします。

        タスクのリストが表示されます。

Procedureラベル付きゾーンをインストールする

始める前に

大域ゾーンでスーパーユーザーになります。ゾーンが構成されており、割り当て済みのネットワークインタフェースがあります。

「Labeled Zone Manager」ダイアログボックスが表示され、zone-name:configured というサブタイトルが付いています。この GUI を開くには、txzonemgr スクリプトを実行する」を参照してください。

  1. Labeled Zone Manager から「Install」を選択して「了解」をクリックします。


    注意 – 注意 –

    このプロセスが終了するまでしばらく時間がかかります。このタスクの実行中は、ほかのタスクを実行しないでください。


    システムで、大域ゾーンから非大域ゾーンにパッケージがコピーされます。このタスクによって、ラベル付きの仮想オペレーティングシステムがゾーンにインストールされます。この例を続行するため、このタスクで public ゾーンがインストールされます。GUI に次のような出力が表示されます。


    # Labeled Zone Manager: Installing zone-name zone
    Preparing to install zone <zonename>
    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 <zonename> is initialized.
    The file /zone/internal/root/var/sadm/system/logs/install_log 
    contains a log of the zone installation.

    注 –

    cannot create ZFS dataset zone/zonename: dataset already exists のようなメッセージは、情報メッセージです。ゾーンは既存のデータセットを使用します。


    インストールが完了すると、ホストの名前の入力を 要求するプロンプトが表示されます。名前が表示されます。

  2. そのホストの名前をそのまま使用します。

    ダイアログボックスでは、タスクのリストの上に zone-name:installed が表示されます。

注意事項

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

Procedureラベル付きゾーンを起動する

始める前に

大域ゾーンでスーパーユーザーになります。ゾーンがインストールされており、割り当て済みのネットワークインタフェースがあります。

「Labeled Zone Manager」ダイアログボックスが表示され、 zone-name:installed というサブタイトルが付いています。この GUI を開くには、txzonemgr スクリプトを実行する」を参照してください。

  1. 「Labeled Zone Manager」で「Zone Console」を選択して「了解」をクリックします。

    現在のラベル付きゾーンに、別のコンソールウィンドウが表示されます。

  2. 「Boot」を選択します。

    「ゾーン端末コンソール」は、ゾーン起動の進捗を追跡します。ゾーンを最初から作成する場合は、次のようなメッセージがコンソールに表示されます。


    [Connected to zone 'public' console]
    
    [NOTICE: Zone booting up]
    ...
    Hostname: zone-name
    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 つのデフォルトのゾーンが構成されて起動されると、Labeled Zone Manager では次のようにゾーンが表示されます。

    Labeled Zone Manager に、4 つの実行中のゾーンが表示されます。
注意事項

場合によっては、エラーメッセージが表示されてゾーンが再起動しないことがあります。ゾーン端末コンソールで Return キーを押します。再起動するために y の入力を求めるプロンプトが表示されたら、y を入力して Return キーを押します。ゾーンが再起動されます。

次の手順

このゾーンが別のゾーンからコピーされたかまたはクローン作成された場合は、「ゾーンのステータスを確認する」に進みます。

このゾーンが最初のゾーンである場合は、「ラベル付きゾーンをカスタマイズする」に進みます。

Procedureゾーンのステータスを確認する


注 –

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


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

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


      hostname console login: root
      Password: Type root password
      
    2. ゾーン端末コンソールで、クリティカルサービスが実行されていることを確認します。


      # svcs -xv
      svc:/application/print/server:default (LP print server)
       State: disabled since Tue Oct 10 10:10:10 2006
      Reason: Disabled by an administrator.
         See: http://sun.com/msg/SMF-8000-05
         See: lpsched(1M)
      ...

      sendmail および print サービスは、クリティカルサービスではありません。

    3. ゾーンに妥当な IP アドレスがあることを確認します。


      # ifconfig -a
      

      たとえば、次の出力には hme0 インタフェースの IP アドレスが表示されます。


      # ...
       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
    4. (省略可能) ゾーンが大域ゾーンと通信できることを確認します。

      1. DISPLAY 変数が X サーバーをポイントするよう設定します。


        # DISPLAY=global-zone-hostname:n.n
        # export DISPLAY
      2. 端末ウィンドウから GUI を表示します。

        たとえば、クロックを表示します。


        # /usr/openwin/bin/xclock
        

        ゾーンのラベルでクロックが表示されない場合は、 ゾーンのネットワーキングが正しく構成されていません。デバックに関する提案事項は、「ラベル付きゾーンが X サーバーにアクセスできない」を参照してください。

      3. GUI を閉じて続行します。

  2. 大域ゾーンから、ラベル付きゾーンのステータスを確認します。


    # zoneadm list -v
    ID NAME         STATUS         PATH                BRAND   IP
     0 global       running        /                   native  shared
     3 internal     running        /zone/internal      native  shared
     4 needtoknow   running        /zone/needtoknow    native  shared
     5 restricted   running        /zone/restricted    native  shared
次の手順

これでラベル付きゾーンの構成は完了です。ゾーン固有のネットワークインタフェースをゾーンに追加するか、ラベル付きゾーンごとにデフォルトルーティングを確立するには、「ネットワークインタフェースをラベル付きゾーンに追加し、ルーティングする」に進みます。そうでない場合は、「Trusted Extensions での役割とユーザーの作成」に進みます。

Procedureラベル付きゾーンをカスタマイズする

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

始める前に

大域ゾーンでスーパーユーザーになります。「ゾーンのステータスを確認する」を完了しておきます。

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

    このゾーンをコピーまたはクローンを作成する場合、無効にしたサービスは新しいゾーンで無効にされます。システムでオンラインであるサービスは、そのゾーンのサービスマニフェストによって異なります。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) のマニュアルページを参照してください。

  2. 「Labeled Zone Manager」で「Halt」を選択してゾーンを停止します。

  3. 続行する前に、ゾーンがシャットダウンされていることを確認します。

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


    [ NOTICE: Zone halted]

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

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

    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_public ファイルを次のように削除します。


      # cd /zone/public/root/etc
      # rm auto_home_public
      
    2. このゾーンのクローンを作成する場合、次の手順で ZFS スナップショットを作成してから、「Trusted Extensions でゾーンのコピーまたはクローンを行う」に進みます。

    3. このゾーンをコピーする場合は、手順 6 を完了してから「Trusted Extensions でゾーンのコピーまたはクローンを行う」に進みます。

  5. その他のゾーンのクローンを作成するためのゾーンテンプレートを作成するには、「Create Snapshot」を選択して「了解」をクリックします。


    注意 – 注意 –

    スナップショットのゾーンは、ZFS ファイルシステム内になければなりません。「ゾーンのクローンを作成するために ZFS プールを作成する」でゾーンに ZFS ファイルシステムが作成されます。


  6. カスタマイズしたゾーンがまだ使用できることを確認するには、「Labeled Zone Manager」から「Boot」を選択します。

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


    [Connected to zone 'public' console]
    
    [NOTICE: Zone booting up]
    ...
    Hostname: zonename
    

    ログインプロンプトに対して Return キーを押します。root としてログインできます。

ProcedureTrusted Extensions でゾーンのコピーまたはクローンを行う

始める前に

「ラベル付きゾーンをカスタマイズする」を完了しておきます。

「Labeled Zone Manager」ダイアログボックスが表示されます。この GUI を開くには、txzonemgr スクリプトを実行する」を参照してください。

  1. ゾーンを作成します。

    詳細は、「ゾーンに名前およびラベルを付ける」を参照してください。

  2. 次の方法のいずれかを選択して、ゾーン作成ストラテジを続行します。

    新規のゾーンごとに次の手順を繰り返します。

    • ラベルを付けたゾーンをコピーします。

      1. 「Labeled Zone Manager」から「コピー」を選択して「了解」をクリックします。

      2. ゾーンテンプレートを選択して「了解」をクリックします。

        ウィンドウにコピーのプロセスが表示されます。プロセスが完了すると、ゾーンがインストールされます。

        「Labeled Zone Manager」に「zone-name :configured」と表示された場合は、次の手順に進みます。それ以外の場合は、手順 e に進みます。

      3. メニュー項目「Select another zone」を選択して「了解」をクリックします。

      4. 新規にインストールされたゾーンを選択して、「了解」をクリックします。

      5. 「ラベル付きゾーンを起動する」を完了します。

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

    • ラベルを付けたゾーンのクローンを作成します。

      1. 「Labeled Zone Manager」で「クローン」を選択して「了解」をクリックします。

      2. リストから ZFS スナップショットを選択して「了解」をクリックします。

        たとえば、public からスナップショットを作成した場合は、zone/public@snapshot を選択します。

        クローン作成のプロセスが完了すると、ゾーンがインストールされます。手順 c に進みます。

      3. ゾーンコンソールを開き、ゾーンを起動します。

        手順については、「ラベル付きゾーンを起動する」を参照してください。

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

次の手順

ネットワークインタフェースをラベル付きゾーンに追加し、ルーティングする

次の作業は、各ゾーンが個別の物理ネットワークに接続されている環境に対応します。

作業 

説明 

参照先 

1a: ネットワークインタフェースを各ラベル付きゾーンに追加し、大域ゾーンを使用して外部ネットワークに到達します。 

各ラベル付きゾーンを個別の物理ネットワークに接続します。ラベル付きゾーンは、大域ゾーンが提供するネットワークルーティングを使用します。 

「既存のラベル付きゾーンを経路指定するためにネットワークインタフェースを追加する」

または 1b: ネットワークインタフェースを、デフォルトルートを使用して各ラベル付きゾーンに追加します。 

各ゾーンを個別の物理ネットワークに接続します。ラベル付きゾーンは、ルーティングで大域ゾーンを使用しません。

「既存のラベル付きゾーンを経路指定するために大域ゾーンを使用しないネットワークインタフェースを追加する」

2. ネームサービスキャッシュを各ラベル付きゾーンに作成します。 

各ゾーンに対してネームサービスデーモンを構成します。 

「ラベル付きゾーンごとにネームサービスキャッシュを構成する」

Procedure既存のラベル付きゾーンを経路指定するためにネットワークインタフェースを追加する

この手順で、ゾーン固有のネットワークインタフェースを既存のラベル付きゾーンに追加します。この構成は、各ラベル付きゾーンがそれぞれ別の物理ネットワークに接続される環境に対応します。ラベル付きゾーンは、大域ゾーンが提供するネットワークルーティングを使用します。


注 –

大域ゾーンでは、非大域ゾーンアドレスが構成される各サブネットに対して IP アドレスを構成する必要があります。


始める前に

大域ゾーンでスーパーユーザーになります。

すべてのゾーンに対し、「ラベル付きゾーンの作成」の作業を完了します。

  1. 大域ゾーンで、追加のネットワークインタフェースの IP アドレスとホスト名を /etc/hosts ファイルに入力します。

    ホストの名前に -zone-name を追加するなど、標準的な命名規則を使用してください。


    ## /etc/hosts in global zone
    10.10.8.2   hostname-zone-name1
    10.10.8.3   hostname-global-name1
    10.10.9.2   hostname-zone-name2
    10.10.9.3   hostname-global-name2
    
  2. 各インタフェースのネットワークで、/etc/netmasks ファイルにエントリを追加します。


    ## /etc/netmasks in global zone
    10.10.8.0 255.255.255.0
    10.10.9.0 255.255.255.0

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

  3. 大域ゾーンで、ゾーン固有の物理インタフェースを plumb します。

    1. すでに plumb されている物理インタフェースを特定します。


      # ifconfig -a
      
    2. 各インタフェースの大域ゾーンアドレスを構成します。


      # ifconfig interface-nameN1 plumb
      # ifconfig interface-nameN1 10.10.8.3 up
      # ifconfig interface-nameN2 plumb
      # ifconfig interface-nameN2 10.10.9.3 up
    3. 各大域ゾーンアドレスに対して hostname.interface-nameN ファイルを作成します。


      # /etc/hostname.interface-nameN1
      10.10.8.3
      # /etc/hostname.interface-nameN2
      10.10.9.3

    大域ゾーンアドレスは、システムが起動するとただちに構成されます。ゾーン固有のアドレスは、ゾーンの起動時に構成されます。

  4. それぞれのゾーン固有のネットワークインタフェースに、セキュリティーテンプレートを割り当てます。

    ネットワークへのゲートウェイにラベルが構成されていない場合は、admin_low セキュリティーテンプレートを割り当てます。ネットワークへのゲートウェイにラベルが付いている場合は、cipso セキュリティーテンプレートを割り当てます。

    各ネットワークのラベルを反映する、ホストタイプ cipso のセキュリティーテンプレートを作成できます。テンプレートの作成および割り当ての手順については、『Oracle Solaris Trusted Extensions 管理の手順』「トラステッドネットワークデータベースの構成 (作業マップ)」を参照してください。

  5. ゾーン固有のインタフェースに追加するすべてのラベル付きゾーンを停止します。


    # zoneadm -z zone-name halt
  6. Labeled Zone Manager を起動します。


    # /usr/sbin/txzonemgr
    
  7. ゾーン固有のインタフェースを追加させたい各ゾーンについては、次の操作を実行します。

    1. ゾーンを選択します。

    2. 「Add Network」を選択します。

    3. ネットワークインタフェースに名前を付けます。

    4. インタフェースの IP アドレスを入力します。

  8. 完了したすべてのゾーンの「Labeled Zone Manager」で、 「Zone Console」を選択します。

  9. 「Boot」を選択します。

  10. 「Zone Console」で、インターフェスが作成されていることを確認します。


    # ifconfig -a
    
  11. サブネットのゲートウェイへのルートがゾーンにあることを確認します。


    # netstat -rn
    
注意事項

ゾーン構成をデバッグするには、次を参照してください。

Procedure既存のラベル付きゾーンを経路指定するために大域ゾーンを使用しないネットワークインタフェースを追加する

この手順では、既存のラベル付きゾーンに対して、ゾーン固有のデフォルトルートを設定します。この構成では、ラベル付きゾーンは、ルーティングで大域ゾーンを使用しません。

ラベル付きゾーンは、ゾーンを起動する前に大域ゾーンに plumb します。ただし、ラベル付きゾーンを大域ゾーンから切り離すために、ゾーンの起動時はインタフェースを down 状態にしてください。詳細は、 『System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones』の第 17 章「Non-Global Zone Configuration (Overview)」.


注 –

起動するすべての非大域ゾーンに対し、固有のデフォルトルートを構成します。


始める前に

大域ゾーンでスーパーユーザーになります。

すべてのゾーンに対し、「ラベル付きゾーンの作成」の作業を完了します。vni0 インタフェースか lo0 インタフェースを使用してラベル付きゾーンを大域ゾーンに接続しています。

  1. すべてのネットワークインタフェースに対し、その IP アドレス、ネットマスク、デフォルトルートを調べます。

    IP アドレスとネットマスクを調べるには、ifconfig -a コマンドを使用します。デフォルトルートが割り当てられているかどうかを判定するには、zonecfg -z zonename info net コマンドを使用します。

  2. 各ラベル付きゾーン用に、空の /etc/hostname.interface ファイルを作成します。


    # touch /etc/hostname.interface
    # touch /etc/hostname.interface:n
    

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

  3. ラベル付きゾーンのネットワークインタフェースを plumb します。


    # ifconfig zone1-network-interface plumb
    # ifconfig zone2-network-interface plumb
  4. ラベル付きゾーンのインタフェースが down 状態になっていることを確認します。


    # ifconfig -a
    zone1-network-interface zone1-IP-address down
    zone2-network-interface zone2-IP-address down

    ゾーン固有のアドレスは、ゾーンの起動時に構成されます。

  5. 各インタフェースのネットワークで、/etc/netmasks ファイルにエントリを追加します。


    ## /etc/netmasks in global zone
    192.168.2.0 255.255.255.0
    192.168.3.0 255.255.255.0

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

  6. それぞれのゾーン固有のネットワークインタフェースに、セキュリティーテンプレートを割り当てます。

    各ネットワークのラベルを反映する、ホストタイプ cipso のセキュリティーテンプレートを作成します。テンプレートの作成および割り当てについては、『Oracle Solaris Trusted Extensions 管理の手順』「トラステッドネットワークデータベースの構成 (作業マップ)」を参照してください。

  7. txzonemgr スクリプトを実行し、別の端末ウィンドウを開きます。

    Labeled Zone Manager で、ラベル付きゾーンのネットワークインタフェースを追加します。端末ウィンドウで、ゾーンに関する情報を表示し、デフォルトルートを設定します。

  8. ゾーン固有のネットワークインタフェースとルーターを追加しようとしているすべてのゾーンに対し、次の手順を完了します。

    1. 端末ウィンドウでゾーンを停止します。


      # zoneadm -z zone-name halt
    2. Labeled Zone Manager で、次の手順を実行します。

      1. ゾーンを選択します。

      2. 「Add Network」を選択します。

      3. ネットワークインタフェースに名前を付けます。

      4. インタフェースの IP アドレスを入力します。

      5. 端末ウィンドウで、ゾーン構成を確認します。


        # zonecfg -z zone-name info net
        net:   address: IP-address
               physical: zone-network-interface
               defrouter not specified
    3. 端末ウィンドウで、ラベル付きゾーンのネットワークのデフォルトルートを構成します。


      # zonecfg -z zone-name
      zonecfg:zone-name > select net address=IP-address 
      zonecfg:zone-name:net> set defrouter=router-address 
      zonecfg:zone-name:net> end 
      zonecfg:zone-name > verify 
      zonecfg:zone-name > commit 
      zonecfg:zone-name > exit 
      #

      詳細については、zonecfg(1M) のマニュアルページと『System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones』「How to Configure the Zone」を参照してください。

    4. ラベル付きゾーンを起動します。


      # zoneadm -z zone-name boot
    5. 大域ゾーンで、ラベル付きゾーンにサブネットのゲートウェイへの経路があることを確認します。


      # netstat -rn
      

      経路指定テーブルが表示されます。ラベル付きゾーンの宛先とインタフェースは、大域ゾーンのエントリと異なります。

  9. デフォルトルートを削除するには、ゾーンのIP アドレスを選択し、削除します。


    # zonecfg -z zone-name
    
    zonecfg:zone-name > select net address=zone-IP-address
    zonecfg:zone-name:net> remove net defrouter=zone-default-route
    zonecfg:zone-name:net>  info net
    net:
       address: zone-IP-address
       physical: zone-network-interface
       defrouter not specified

例 4–5 ラベル付きゾーンのデフォルトルートを設定する

この例では、管理者が Secret ゾーンを個別の物理サブネットに経路指定します。Secret ゾーンとの間のトラフィックは、大域ゾーン経由で経路指定されません。管理者は Labeled Zone Manager と zonecfg コマンドを使用し、ルーティングが機能することを確認します。

管理者は、qfe1qfe1:0 が現在使用中でないことを確認します。その後、2 つのラベル付きゾーンのマッピングを作成します。qfe1 は、Secret ゾーンに対して指定されたインタフェースです。


Interface IP Address    Netmask        Default Router
qfe1     192.168.2.22 255.255.255.0 192.168.2.2
qfe1:0   192.168.3.33 255.255.255.0 192.168.3.3

まず、管理者は /etc/hostname.qfe1 ファイルを作成し、/etc/netmasks ファイルを構成します。


# touch /etc/hostname.qfe1

# cat /etc/netmasks
## /etc/netmasks in global zone
192.168.2.0 255.255.255.0

次に、ネットワークインタフェースを plumb し、インタフェースが down 状態であることを確認します。


# ifconfig qfe1 plumb
# ifconfig -a

次に、Solaris 管理コンソール で、1 つのラベル Secret を持つセキュリティーテンプレートを作成し、インタフェースの IP アドレスをテンプレートに割り当てます。

ゾーンを停止します。


# zoneadm -z secret halt

txzonemgr スクリプトを実行し、Labeled Zone Manager を開きます。


# /usr/sbin/txzonemgr

Labeled Zone Manager で、Secret ゾーンを選択し、「Add Network」を選択して、ネットワークインタフェースを選択します。Labeled Zone Manager を閉じます。

コマンド行で、ゾーンの IP アドレスを選択し、そのデフォルトルートを設定します。コマンドを終了する前に、ルートを確認して確定します。


# zonecfg -z secret
zonecfg: secret > select net address=192.168.6.22 
zonecfg: secret:net> set defrouter=192.168.6.2 
zonecfg: secret:net> end 
zonecfg: secret > verify 
zonecfg: secret > commit 
zonecfg: secret > info net 
  net:
     address: 192.168.6.22
     physical: qfe1
     defrouter: 192.168.6.2
zonecfg: secret > exit 
#

ゾーンを起動します。


# zoneadm -z secret boot

大域ゾーンの別の端末ウィンドウで、パケットの送受信を確認します。


# netstat -rn
Routing Table: IPv4
  Destination           Gateway           Flags  Ref     Use  Interface 
-------------------- -------------------- ----- ----- ------- --------- 
default              192.168.5.15         UG        1    2664 qfe0      
192.168.6.2          192.168.6.22         UG        1     240 qfe1      
192.168.3.3          192.168.3.33         U         1     183 qfe1:0    
127.0.0.1            127.0.0.1            UH        1     380 lo0       
...

Procedureラベル付きゾーンごとにネームサービスキャッシュを構成する

この手順では、各ラベル付きゾーンで、ネームサービスデーモン (nscd) を個別に構成できます。この構成がサポートする環境は、各ゾーンがそのゾーンのラベルで動作するサブネットワークに接続されており、そのサブネットワークにはそのラベル用の独自のネームサーバーがあります。


注 –

この構成は、評価された構成の条件を満たしません。評価された構成では、nscd デーモンは大域ゾーンでのみ実行されます。各ラベル付きゾーン内の door は、そのゾーンを大域の nscd デーモンに接続します。


始める前に

大域ゾーンでスーパーユーザーになります。root はまだ役割になってはいけません。「既存のラベル付きゾーンを経路指定するためにネットワークインタフェースを追加する」が正常に完了しています。

この構成では、高度なネットワークスキルが要求されます。LDAP をネームサービスとして使用するユーザーには、各ラベル付きゾーンへの LDAP クライアント接続を確立する責任があります。nscd デーモンは、ネームサービスの情報をキャッシュに書き込みますが、そのルーティングは行いません。

  1. LDAP を使用している場合、ラベル付きゾーンから LDAP サーバーへのルートを確認します。

    各ラベル付きゾーンの端末ウィンドウで、次のコマンドを実行します。


    zone-name # netstat -rn
    
  2. 大域ゾーンで Labeled Zone Manager を起動します。


    # /usr/sbin/txzonemgr
    
  3. 「Configure per-zone name service」を選択し、「了解」をクリックします。

    このオプションは、初期システム構成時に一度だけ使用されるように意図されています。

  4. 各ゾーンの nscd サービスを構成します。

    参考として、nscd(1M) および nscd.conf(4) のマニュアルページを参照してください。

  5. システムを再起動します。

  6. ゾーンごとに、ルートとネームサービスデーモンを確認します。

    1. ゾーンコンソールで nscd サービスを表示します。


      zone-name # svcs -x name-service-cache
      svc:/system/name-service-cache:default (name service cache)
       State: online since October 10, 2010  10:10:10 AM PDT
         See: nscd(1M)
         See: /etc/svc/volatile/system-name-service-cache:default.log
      Impact: None.
    2. サブネットワークへのルートを確認します。


      zone-name # netstat -rn
      
  7. ゾーン固有のネームサービスデーモンを削除するには、大域ゾーンで次の手順を実行します。

    1. Labeled Zone Manager を開きます。

    2. 「Unconfigure per-zone name service」を選択し、「了解」をクリックします。

      この選択により、すべてのラベル付きゾーンで nscd デーモンが削除されます。

    3. システムを再起動します。

Trusted Extensions での役割とユーザーの作成

すでに管理役割を使用している場合、セキュリティー管理者役割を追加できます。役割をまだ実装していないサイトにおいて、役割を作成する手順は Solaris OS の場合と同様です。Trusted Extensions ドメインを管理するためには、Trusted Extensions でセキュリティー管理役割を追加し、Solaris 管理コンソールを使用する必要があります。

サイトセキュリティーで、ユーザーと役割アカウントを作成するために 2 人の人が必要な場合は、カスタム権利プロファイルを作成し、役割に割り当てて、責務分離を実施します。

作業 

説明 

参照先 

デフォルトのプロファイルよりも厳しい 3 つの権利プロファイルを作成します。 

ユーザーを管理するための権利プロファイルを作成します。これらのプロファイルは、ユーザーを管理するデフォルトプロファイルよりも制限が厳しくなっています。 

「責務分離を実施する権利プロファイルを作成する」

セキュリティー管理者役割を作成します。 

セキュリティー関連の作業を扱うセキュリティー管理者役割を作成します。 

「Trusted Extensions でセキュリティー管理者役割を作成する」

ユーザーパスワードを設定できないシステム管理者役割を作成します。 

システム管理者役割を作成し、制限されたシステム管理者権利プロファイルに割り当てます。 

「制限されたシステム管理者役割を作成する」

管理役割になるユーザーを作成します。 

役割になることができる 1 人または複数のユーザーを作成します。 

「Trusted Extensions で役割になれるユーザーを作成する」

役割が各自の作業を実行できることを確認します。 

さまざまなシナリオで役割をテストします。 

「Trusted Extensions の役割が機能することを確認する」

ユーザーがラベル付きゾーンにログインできるようにします。 

一般ユーザーがログインできるようにゾーンサービスを開始します。

「ユーザーがラベル付きゾーンにログインできるようにする」

Procedure責務分離を実施する権利プロファイルを作成する

責務分離がサイトセキュリティー要件にない場合は、この手順を省略します。サイトで責務分離が必要な場合は、LDAP サーバーにデータを設定する前に、これらの権利プロファイルと役割を作成します。

この手順では、ユーザーを管理するための個別の機能を持つ権利プロファイルを作成します。これらのプロファイルを個々の役割に割り当てる場合、ユーザーを作成し構成するために 2 つの役割が必要です。一方の役割はユーザーを作成できますが、セキュリティー属性を割り当てることができません。もう一方の役割はセキュリティー属性を割り当てることができますが、ユーザーを作成できません。これらのプロファイルのいずれかが割り当てられた役割で Solaris 管理コンソール にログインすると、役割に該当するタブとフィールドだけが表示されます。

始める前に

スーパーユーザーになるか、root 役割または主管理者役割になる必要があります。この手順を開始する場合には、Solaris 管理コンソール を閉じます。

  1. ユーザー構成に影響を与えるデフォルトの権利プロファイルのコピーを作成します。

    1. prof_attr ファイルを prof_attr.orig ファイルにコピーします。

    2. prof_attr ファイルをトラステッドエディタで開きます。


      # /usr/dt/bin/trusted_edit /etc/security/prof_attr
      
    3. 3 つの権利プロファイルをコピーし、コピーの名前を変更します。


      System Administrator:::Can perform most non-security...
      Custom System Administrator:::Can perform most non-security...
      
      User Security:::Manage passwords...
      Custom User Security:::Manage passwords...
      
      User Management:::Manage users, groups, home...
      Custom User Management:::Manage users, groups, home...
      
    4. 変更を保存します。

    5. 変更内容を確認します。


      # grep ^Custom  /etc/security/prof_attr
      Custom System Administrator:::Can perform most non-security...
      Custom User Management:::Manage users, groups, home...
      Custom User Security:::Manage passwords...

    権利プロファイルを変更せずにコピーすることで、システムを新しい Solaris リリースにアップグレードしたときにも変更内容が保持されます。これらの権利プロファイルは複雑なため、デフォルトのプロファイルのコピーを変更したほうが、ゼロから制限の厳しいプロファイルを作成するよりも、誤りが起きにくくなります。

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


    # /usr/sbin/smc &
    
  3. このコンピュータ (this-host: Scope=Files, Policy=TSOL) ツールボックスを選択します。

  4. 「システムの構成」をクリックして「ユーザー」をクリックします。

    パスワードを入力するよう求められます。

  5. 適切なパスワードを入力します。

  6. 「権限」をダブルクリックします。

  7. カスタムユーザーセキュリティー権利プロファイルを変更します。

    ユーザーを作成できないようにこのプロファイルを制限します。

    1. 「カスタムユーザーセキュリティー」をダブルクリックします。

    2. 「認可」タブをクリックし、次の手順を実行します。

      1. 「含む」リストから、「Manage Users and Roles」認可を削除します。

        次のユーザーアカウント権限が残ります。


        Audit Controls
        Label and Clearance Range
        Change Password
        View Users and Roles
        Modify Extended Security Attributes
      2. 「権限の管理」権限を「含む」リストに追加します。

    3. 「了解」をクリックして変更内容を保存します。

  8. カスタムユーザー管理プロファイルを変更します。

    パスワードを設定できないようにこのプロファイルを制限します。

    1. 「カスタムユーザー管理」をダブルクリックします。

    2. 「認可」タブをクリックし、次の手順を実行します。

      1. 「含む」リストのスクロールバーを「ユーザーアカウント」にドラッグします。

      2. 「含む」リストから、「Modify Extended Security Attributes」認可を削除します。

        次のユーザーアカウント権限が残ります。


        Manage Users and Roles
        View Users and Roles
    3. 変更を保存します。

  9. カスタムシステム管理者権利プロファイルを変更します。

    ユーザー管理者プロファイルは、このプロファイルの補助プロファイルです。システム管理者がパスワードを設定できないようにします。

    1. 「カスタムシステム管理者」をダブルクリックします。

    2. 「補助権限」タブをクリックし、次の手順を実行します。

      1. ユーザー管理権利プロファイルを削除します。

      2. カスタムユーザー管理権利プロファイルを追加します。

      3. カスタムユーザー管理権利プロファイルを、すべての権利プロファイルの上に移動します。

    3. 変更を保存します。

次の手順

デフォルトのプロファイルが使用されないようにするには、カスタムプロファイルによって責務分離が実施されることを確認したあと、「Trusted Extensions の役割が機能することを確認する」手順 7 を参照してください。

ProcedureTrusted Extensions でセキュリティー管理者役割を作成する

Trusted Extensions での役割作成は、Solaris OS での役割作成と同じです。ただし、Trusted Extensions では、セキュリティー管理者役割は必須です。ローカルのセキュリティー管理者役割を作成するには、例 4–6 のようにコマンド行インタフェースを使用することもできます。

始める前に

スーパーユーザーになるか、root 役割または主管理者役割になる必要があります。

ネットワーク上に役割を作成するには、「LDAP のための Solaris 管理コンソールの設定 (作業マップ)」を完了しておく必要があります。

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


    # /usr/sbin/smc &
    
  2. 適切なツールボックスを選択します。

    • ローカルに役割を作成する場合、「このコンピュータ (this-host: Scope=Files, Policy=TSOL)」を使用します。

    • LDAP サービスに役割を作成する場合、「このコンピュータ (ldap-server: Scope=LDAP, Policy=TSOL)」を使用します。

  3. 「システムの構成」をクリックして「ユーザー」をクリックします。

    パスワードを入力するよう求められます。

  4. 適切なパスワードを入力します。

  5. 「管理役割」をダブルクリックします。

  6. 「アクション」メニューから「管理者役割を追加」を選択します。

  7. セキュリティー管理者役割を作成します。

    次の情報を参考にしてください。

    • 「役割名」– secadmin

    • 「役割の正式名」– Security Administrator

    • 「備考欄」– サイトセキュリティー担当者 (ここには機密情報を入力しない)

    • 「役割の ID 番号」– ≥100

    • 「役割シェル」– 管理者の Bourne (プロファイルシェル)

    • 「役割メーリングリストを作成」– チェックボックスを選択されたままにしておきます。

    • 「Password and confirm」– 6 文字以上の英数字のパスワードを割り当てます。

      セキュリティー管理者役割のパスワードをはじめとするすべてのパスワードは推測されにくいようにしなければなりません。パスワードが推測されて、悪意のある、承認されていないアクセスが行われる危険性を減らします。


      注 –

      すべての管理役割に対して、アカウントを常に有効にし、パスワード有効期限を設定しないでください。


    • 「有効な権利」– 情報セキュリティー、ユーザーセキュリティー

      • サイトセキュリティーで責務分離が不要な場合は、情報セキュリティー権利プロファイルとデフォルトのユーザーセキュリティー権利プロファイルを選択します。

      • サイトセキュリティーで責務分離が必要な場合は、情報セキュリティー権利プロファイルとカスタムユーザーセキュリティー権利プロファイルを選択します。

    • 「ホームディレクトリサーバー」– home-directory-server

    • 「ホームディレクトリパス」– /mount-path

    • 「この役割にユーザーを割り当てます」– 役割をユーザーに割り当てると、このフィールドは自動的に入力されます。

  8. 役割を作成したら、設定が正しいことを確認します。

    役割を選択してダブルクリックします。

    次のフィールド内の値を確認します。

    • 「有効なグループ」– 必要な場合にグループを追加します。

    • 「Trusted Extensions 属性」– デフォルトが正しいです。

      単一ラベルのシステムでラベルを表示してはならない場合は、「ラベル: 表示/非表示」で「非表示」を選択してください。

    • 「除外監査クラス/対象監査クラス」– 役割の監査フラグが audit_control ファイルのシステム設定に対する例外である場合のみ、監査フラグを設定します。

  9. その他の役割を作成するには、セキュリティー管理者役割を参考にします。

    例は、『System Administration Guide: Security Services』「How to Create and Assign a Role by Using the GUI」を参照してください。各役割に一意の ID を指定し、その役割に正しい権利プロファイルを割り当てます。可能な役割は、次のとおりです。

    • admin 役割 – System Administrator の付与権利

    • primaryadmin 役割 – Primary Administrator の付与権利

    • oper 役割 – Operator の付与権利


例 4–6 ローカルのセキュリティー管理者役割を作成するための roleadd コマンドの使用

この例では、root ユーザーが roleadd コマンドを使用して、セキュリティー管理者役割をローカルシステムに追加します。詳細は、roleadd(1M) のマニュアルページを参照してください。役割の作成の前に、root ユーザーは表 1–2 を確認します。このサイトでは、ユーザーを作成するために責務分離は不要です。


# roleadd -c "Local Security Administrator" -d /export/home1 \
-u 110 -P "Information Security,User Security" -K lock_after_retries=no \
-K idletime=5 -K idlecmd=lock -K labelview=showsl \
-K min_label=ADMIN_LOW -K clearance=ADMIN_HIGH secadmin

root ユーザーは、役割の初期パスワードを指定します。


# passwd -r files secadmin
New Password:        <Type password>
Re-enter new Password: <Retype password>
passwd: password successfully changed for secadmin
#

役割をローカルユーザーに割り当てるには、例 4–7 を参照してください。


Procedure制限されたシステム管理者役割を作成する

責務分離がサイトセキュリティー要件でない場合は、この手順を省略します。

この手順では、より制限の厳しい権利プロファイルをシステム管理者役割に割り当てます。

始める前に

スーパーユーザーになるか、root 役割または主管理者役割になる必要があります。

「責務分離を実施する権利プロファイルを作成する」を完了しています。権利プロファイルを作成するために使用したのと同じツールボックスを使用します。

  1. Solaris 管理コンソール で、システム管理者役割を作成します。

    詳細は、「Trusted Extensions でセキュリティー管理者役割を作成する」を参照してください。

  2. カスタムシステム管理者権利プロファイルを役割に割り当てます。

  3. 変更を保存します。

  4. Solaris 管理コンソールを閉じます。

ProcedureTrusted Extensions で役割になれるユーザーを作成する

ローカルユーザーを作成するには、次の手順の代わりに、例 4–7 のようにコマンド行インタフェースを使用することもできます。サイトのセキュリティーポリシーで許可されるなら、1 人で複数の管理役割になれるようなユーザーを作成することもできます。

セキュリティー保護されたユーザー作成を行うには、システム管理者役割がユーザーを作成し、セキュリティー管理者役割がパスワードなどのセキュリティー関連の属性を割り当てます。

始める前に

スーパーユーザーになるか、root 役割、セキュリティー管理者役割、または主管理者役割になる必要があります。セキュリティー管理者役割には、ユーザー作成に必要な最低限の権限があります。

Solaris 管理コンソールが表示されます。詳細は、「Trusted Extensions でセキュリティー管理者役割を作成する」を参照してください。

  1. Solaris 管理コンソールで、「ユーザーアカウント」をダブルクリックします。

  2. 「アクション」メニューから「ユーザーを追加」 -> 「ウィザードを使用」を選択します。


    注意 – 注意 –

    役割およびユーザーの名前と ID は、同じプールが元になります。追加するユーザーに既存の名前や ID を使用しないでください。


  3. オンラインヘルプに従います。

    『System Administration Guide: Basic Administration』「How to Add a User With the Solaris Management Console’s Users Tool」の手順に従うこともできます。

  4. ユーザーを作成したら、作成したユーザーをダブルクリックして設定を変更します。


    注 –

    役割になれるユーザーのユーザーアカウントは常に有効にし、パスワード有効期限を設定しないでください。


    次のフィールドが正しく設定されていることを確認します。

    • 「説明」– ここには機密情報を入力しません。

    • 「Password and confirm」– 6 文字以上の英数字のパスワードを割り当てます。


      注 –

      初期設定チームは推測されにくいパスワードを選択しなければなりません。パスワードが推測されて、悪意のある、承認されていないアクセスが行われる危険性を減らします。


    • 「アカウントの有効/無効」– 常に有効です。

    • 「Trusted Extensions 属性」– デフォルトが正しいです。

      単一ラベルのシステムでラベルを表示してはならない場合は、「ラベル: 表示/非表示」で「非表示」を選択してください。

    • 「アカウントの使用方法」– アイドル時間およびアイドルアクションを設定します。

      「アカウントのロック」– 役割になれるユーザーに対して「いいえ」を設定します。

  5. Solaris 管理コンソールを閉じます。

  6. ユーザーの環境をカスタマイズします。

    1. 簡易認証の割り当て

      サイトのセキュリティーポリシーを確認してから、簡易認証権利プロファイルを最初のユーザーに付与できます。このプロファイルによって、ユーザーはデバイスの割り当て、PostScript ファイルの印刷、ラベルなしの印刷、遠隔からのログイン、およびシステムのシャットダウンを行えます。プロファイルを作成するには、『Oracle Solaris Trusted Extensions 管理の手順』「便利な承認のための権利プロファイルを作成する」を参照してください。

    2. ユーザー初期設定ファイルをカスタマイズします。

      『Oracle Solaris Trusted Extensions 管理の手順』の第 7 章「Trusted Extensions でのユーザー、権利、役割の管理 (手順)」を参照してください。

      『Oracle Solaris Trusted Extensions 管理の手順』「Solaris 管理コンソールでのユーザーと権利の管理 (作業マップ)」も参照してください。

    3. マルチラベルのコピーおよびリンクファイルの作成

      マルチラベルシステムで、ほかのラベルにコピーまたはリンクするユーザー初期化ファイルをリストするファイルによって、ユーザーおよび役割を設定できます。詳細は、『Oracle Solaris Trusted Extensions 管理の手順』「.copy_files ファイルと .link_files ファイル」を参照してください。


例 4–7 ローカルユーザーを作成するための useradd コマンドの使用

この例では、root ユーザーが、セキュリティー管理者役割になれるローカルユーザーを作成します。詳細は、useradd(1M) および atohexlabel(1M) のマニュアルページを参照してください。

最初に、root ユーザーは、ユーザーの最下位ラベルおよび認可上限ラベルの 16 進数形式を確認します。


# atohexlabel public
0x0002-08-08
# atohexlabel -c "confidential restricted"
0x0004-08-78

次に、root ユーザーは表 1–2 を確認してから、ユーザーを作成します。


# useradd -c "Local user for Security Admin" -d /export/home1 \
-K  idletime=10 -K idlecmd=logout -K lock_after_retries=no
-K min_label=0x0002-08-08 -K clearance=0x0004-08-78 -K labelview=showsl jandoe

root ユーザーは初期パスワードを指定します。


# passwd -r files jandoe
New Password:    <Type password>
Re-enter new Password: <Retype password>
passwd: password successfully changed for jandoe
#

最後に、root ユーザーは、セキュリティー管理者役割をユーザーの定義に追加します。役割は、「Trusted Extensions でセキュリティー管理者役割を作成する」で作成されました。


# usermod -R secadmin jandoe

ProcedureTrusted Extensions の役割が機能することを確認する

各役割を確認するには、その役割になります。その役割のみが実行できるタスクを実行します。

始める前に

DNS または経路指定を構成してある場合は、役割を作成したら再起動し、そのあとでその役割が機能することを確認してください。

  1. 役割ごとに、その役割になれるユーザーとしてログインします。

  2. トラステッドパスメニューを開きます。

    • Trusted CDE でワークスペーススイッチ領域をクリックします。

      図は、CDE のトラステッドパスメニューを示しています。

      メニューから役割になります。

    • Trusted JDS で、トラステッドストライプ内のユーザー名をクリックします。

      次のトラステッドストライプ内では、ユーザー名は tester です。

      図は、ユーザー名が tester であるトラステッドストライプを示しています。

      割り当てられた役割の一覧から、役割を選択します。

  3. 役割のワークスペースで、Solaris 管理コンソールを起動します。


    $ /usr/sbin/smc &
    
  4. テストする役割の適切な範囲を選択します。

  5. 「システムの構成」をクリックして、「ユーザー」に移動します。

    パスワードを入力するよう求められます。

    1. 役割のパスワードを入力します。

    2. 「ユーザーアカウント」をダブルクリックします。

  6. ユーザーをクリックします。

    • システム管理者役割では、「基本」、「ホームディレクトリ」、および「グループ」のタブの各フィールドを変更できます。

      責務分離を実施するための役割を構成した場合、システム管理者役割はユーザーの初期パスワードを設定できません。

    • セキュリティー管理者役割では、すべてのタブの各フィールドを変更できます。

      責務分離を実施するための役割を構成した場合、セキュリティー管理者役割はユーザーを作成できません。

    • 主管理者役割では、すべてのタブの各フィールドを変更できます。

  7. (省略可能) 責務分離を実施する場合、デフォルトの権利プロファイルが使われないようにします。


    注 –

    システムを新しいバージョンの Solaris OS にアップグレードすると、システム管理者、ユーザー管理、ユーザーセキュリティーのデフォルトプロファイルが置き換えられます。


    トラステッドエディタで、次のいずれかの手順を実行します。

    • 3 つの権利プロファイルを prof_attr ファイルから削除します。

      削除により、管理者がこれらのプロファイルを参照または割り当てできなくなります。また、prof_attr.orig ファイルも削除します。

    • prof_attr ファイルの 3 つの権利プロファイルをコメントアウトします。

      権利プロファイルをコメントアウトすることにより、これらのプロファイルが Solaris 管理コンソール で表示されなくなり、ユーザーを管理するコマンドで使用できなくなります。プロファイルとその内容は、引き続き prof_attr ファイルで参照できます。

    • prof_attr ファイルで、3 つの権利プロファイルに別の説明を入力します。

      prof_attr ファイルを編集し、これらの権利プロファイルの説明フィールドを変更します。たとえば、説明を「Do not use this profile」に置き換えます。この変更により、管理者にこのプロファイルを使用しないよう警告しますが、プロファイルの使用は禁止されません。

Procedureユーザーがラベル付きゾーンにログインできるようにする

ホストが再起動されると、デバイスと基礎のストレージとの関連付けも再設定されなければなりません。

始める前に

少なくとも 1 つのラベル付きゾーンが作成されています。そのゾーンはクローンを作成中ではありません。

  1. システムを再起動します。

  2. root ユーザーとしてログインします。

  3. ゾーンサービスを再起動します。


    # svcs zones
    STATE          STIME    FMRI
    offline        -        svc:/system/zones:default

    # svcadm restart svc:/system/zones:default
    
  4. ログアウトします。

    これで、一般ユーザーがログインできます。そのセッションはラベル付きゾーンです。

Trusted Extensions でのホームディレクトリの作成

Trusted Extensions では、ユーザーは、ユーザーが作業するすべてのラベルでホームディレクトリにアクセスする必要があります。すべてのホームディレクトリをユーザーに使用可能にするには、マルチレベルのホームディレクトリサーバーを作成し、そのサーバー上でオートマウンタを実行し、ホームディレクトリをエクスポートする必要があります。クライアントサイドでは、ユーザーごとにすべてのゾーンのホームディレクトリを検索するスクリプトを実行したり、ホームディレクトリサーバーにユーザーログインしたりできます。

ProcedureTrusted Extensions でホームディレクトリサーバーを作成する

始める前に

スーパーユーザーになるか、root 役割または主管理者役割になる必要があります。

  1. Trusted Extensions ソフトウェアを使用して、ホームディレクトリサーバーをインストールして構成します。

    • ゾーンのクローンを作成する場合、空のホームディレクトリがある Solaris ZFS スナップショットを必ず使用してください。

    • ユーザーはログインできるすべてのラベルのホームディレクトリが必要なので、ユーザーがログインできるすべてのゾーンを作成します。たとえば、デフォルトの label_encodings ファイルを使用する場合、PUBLIC ラベルのゾーンを作成します。

  2. Solaris ZFS ではなく UFS を使用する場合、NFS サーバーが自身の機能を果たすようにします。

    1. 大域ゾーンで、nsswitch.conf ファイルの automount エントリを変更します。

      トラステッドエディタを使って /etc/nsswitch.conf ファイルを編集します。手順については、『Oracle Solaris Trusted Extensions 管理の手順』「Trusted Extensions の管理ファイルを編集する」を参照してください。


      automount: files
    2. 大域ゾーンで automount コマンドを実行します。

  3. ラベル付きゾーンごとに、『Oracle Solaris Trusted Extensions 管理の手順』「ラベル付きゾーンでファイルを NFS マウントする」の自動マウント手順に従います。そのあと、この手順に戻ります。

  4. ホームディレクトリが作成されていることを確認します。

    1. ホームディレクトリサーバーからログアウトします。

    2. 一般ユーザーとしてホームディレクトリサーバーにログインします。

    3. ログインゾーンで端末を開きます。

    4. 端末ウィンドウで、ユーザーのホームディレクトリが存在することを確認します。

    5. ユーザーが作業できるすべてのゾーンにワークスペースを作成します。

    6. 各ゾーンで端末ウィンドウを開き、ユーザーのホームディレクトリが存在することを確認します。

  5. ホームディレクトリサーバーからログアウトします。

ProcedureTrusted Extensions でユーザーがホームディレクトリにアクセスできるようにする

最初にユーザーはホームディレクトリサーバーにログインして、その他のシステムと共有できるホームディレクトリを作成します。すべてのラベルでホームディレクトリを作成するには、各ユーザーはすべてのラベルでホームディレクトリサーバーにログインする必要があります。

あるいは、管理者は、ユーザーが最初にログインする前に、各ユーザーのホームシステムにホームディレクトリのマウントポイントを作成するスクリプトを作成しておくこともできます。このスクリプトは、ユーザーが作業できるすべてのラベルでマウントポイントを作成します。

始める前に

Trusted Extensions ドメインのホームディレクトリサーバーが構成されました。

  1. サーバーへの直接ログインを許可するか、スクリプトを実行するかを選択します。

    • ユーザーがホームディレクトリサーバーに直接ログインできるようにします。

      1. 各ユーザーに、ホームディレクトリサーバーにログインするように指示します。

        正常にログインできたユーザーは、ログアウトしてください。

      2. 各ユーザーに、再びログインして、今度は異なるログインラベルを選択するように指示します。

        ユーザーは、ラベルビルダーを使用して異なるログインラベルを選択します。正常にログインできたユーザーは、ログアウトしてください。

      3. 使用できるすべてのラベルに対してログインプロセスを繰り返すよう、各ユーザーに指示します。

      4. 通常のワークステーションからログインするよう、ユーザーに指示します。

        ユーザーのデフォルトラベルのホームディレクトリが使用可能です。ユーザーがセッションのラベルを変更するか、異なるラベルでワークスペースを追加すると、そのラベルのユーザーのホームディレクトリがマウントされます。

    • すべてのユーザーのホームディレクトリマウントポイントを作成するためのスクリプトを作成し、そのスクリプトを実行します。


      #!/bin/sh
      #
      for zoneroot in `/usr/sbin/zoneadm list -p | cut -d ":" -f4` ; do
      	if [ $zoneroot != / ]; then
      		prefix=$zoneroot/root/export
      	
      		for j in `getent passwd|tr ' ' _` ; do
      			uid=`echo $j|cut -d ":" -f3`
      			if [ $uid -ge 100 ]; then
      				gid=`echo $j|cut -d ":" -f4`
      				homedir=`echo $j|cut -d ":" -f6`
      				mkdir -m 711 -p $prefix$homedir
      				chown $uid:$gid $prefix$homedir
      			fi
      		done
      	fi
      done
      1. 大域ゾーンから、NFS サーバーでスクリプトを実行します。

      2. 次に、ユーザーがログインするすべてのマルチレベルデスクトップでスクリプトを実行します。

既存のトラステッドネットワークへのユーザーとホストの追加

NIS マップで定義されているユーザーがいる場合、そのユーザーをネットワークに追加できます。

ホストおよびラベルをホストに追加するには、次の手順を参照してください。

ProcedureLDAP サーバーに NIS ユーザーを追加する

始める前に

スーパーユーザーになるか、root 役割または主管理者役割になる必要があります。

  1. NIS データベースから、必要な情報を収集します。

    1. aliases データベースのユーザーのエントリからファイルを作成します。


      % ypcat -k aliases | grep login-name > aliases.name
      
    2. passwd データベースのユーザーのエントリからファイルを作成します。


      % ypcat -k passwd | grep "Full Name" > passwd.name
      
    3. auto_home_ データベースのユーザーのエントリからファイルを作成します。


      % ypcat -k auto_home | grep login-name > auto_home_label
      
  2. LDAP および Trusted Extensions の情報の形式を再設定します。

    1. sed コマンドを使用して aliases エントリの形式を再設定します。


      % sed 's/ /:/g' aliases.login-name > aliases
    2. nawk コマンドを使用して passwd エントリの形式を再設定します。


      % nawk -F: '{print $1":x:"$3":"$4":"$5":"$6":"$7}' passwd.name > passwd
    3. nawk コマンドを使用して shadow エントリを作成します。


      % nawk -F: '{print $1":"$2":6445::::::"}' passwd.name > shadow
    4. nawk コマンドを使用して user_attr エントリを作成します。


      % nawk -F: '{print $1"::::lock_after_retries=yes-or-no;profiles=user-profile, ...;
      labelview=int-or-ext,show-or-hide;min_label=min-label;
      clearance=max-label;type=normal;roles=role-name,...;
      auths=auth-name,..."}' passwd.name > user_attr
  3. 変更したファイルを LDAP サーバーの /tmp ディレクトリにコピーします。


    # cp aliases auto_home_internal passwd shadow user_attr /tmp/name
    
  4. 手順 3 のファイルのエントリを LDAP サーバーのデータベースに追加します。


    # /usr/sbin/ldapaddent -D "cn=directory manager" -w DM-password \
    -a simple -f /tmp/name/aliases aliases
    # /usr/sbin/ldapaddent -D "cn=directory manager" -w DM-password \
    -a simple -f /tmp/name/auto_home_internal auto_home_internal
    # /usr/sbin/ldapaddent -D "cn=directory manager" -w DM-password \
    -a simple -f /tmp/name/passwd passwd
    # /usr/sbin/ldapaddent -D "cn=directory manager" -w DM-password \
    -a simple -f /tmp/name/shadow shadow
    # /usr/sbin/ldapaddent -D "cn=directory manager" -w DM-password \
    -a simple -f /tmp/name/user_attr user_attr

例 4–8 NIS データベースから LDAP サーバーへのユーザーの追加

次の例では、管理者が新しいユーザーをトラステッドネットワークに追加します。ユーザーの情報は、最初、NIS データベースに格納されています。LDAP サーバーパスワードを保護するため、管理者はサーバー上で ldapaddent コマンドを実行します。

Trusted Extensions で、新しいユーザーはデバイスを割り当てることができ、オペレータ役割になれます。このユーザーは役割になれるので、そのユーザーアカウントはロックアウトされません。ユーザーの最下位ラベルは PUBLIC です。ユーザーが作業するラベルは INTERNAL なので、janauto_home_internal データベースに追加されます。auto_home_internal データベースは、jan の読み取り/書き込みアクセス権のあるホームディレクトリを自動マウントします。


Trusted Extensions の構成のトラブルシューティング

Trusted Extensions では、ラベル付きゾーンが大域ゾーンを使って X サーバーと通信します。したがって、ラベル付きゾーンには大域ゾーンへの使用可能なルートが必要です。また、Solaris のインストール中に選択したオプションによっては、Trusted Extensions が大域ゾーンへのインタフェースを使用できなくなる可能性があります。

Trusted Extensions の有効化後に netservices limited が実行された

説明:

ユーザーは、Trusted Extensions の有効化前に netservices limited コマンドを実行すべきところを、有効化後にこのコマンドを大域ゾーンで実行しました。そのため、ラベル付きゾーンは大域ゾーン内の X サーバーに接続できません。

回避方法:

次のコマンドを実行して、Trusted Extensions がゾーン間で通信するために必要なサービスを開きます。


# svccfg -s x11-server setprop options/tcp_listen = true
# svcadm enable svc:/network/rpc/rstat:default

ラベル付きゾーンでコンソールウィンドウが開かない

説明:

ラベル付きゾーンでコンソールウィンドウを開こうとすると、次のようなエラーがダイアログボックスに表示されます。


Action:DttermConsole,*,*,*,0 [Error]
Action not authorized.
回避方法:

次の 2 行が、/etc/security/exec_attr ファイルの各ゾーンエントリに存在することを確認します。


All Actions:solaris:act:::*;*;*;*;*:
All:solaris:act:::*;*;*;*;*:

これらの行が存在しない場合は、これらのエントリを追加した Trusted Extensions パッケージがラベル付きゾーンにインストールされていません。この場合は、ラベル付きゾーンをもう一度作成してください。手順については、「ラベル付きゾーンの作成」を参照してください。

ラベル付きゾーンが X サーバーにアクセスできない

説明:

ラベル付きゾーンが X サーバーにアクセスできない場合は、次のようなメッセージが表示されます。

  • Action failed. Reconnect to Solaris Zone?

  • No route available

  • Cannot reach globalzone-hostname:0

原因:

ラベル付きゾーンが X サーバーにアクセスできない理由として次のものが考えられます。

  • ゾーンが初期化されていないため、sysidcfg プロセスの完了を待機している。

  • ラベル付きゾーンのホスト名が、大域ゾーンで実行中のネームサービスに認識されない。

  • all-zones として指定されているインタフェースがない。

  • ラベル付きゾーンのネットワークインタフェースがダウンしている。

  • LDAP 名の検索が失敗する。

  • NFS マウントが機能しない。

回避に向けての手順:

    次の手順を実行してください。

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

    zlogin コマンドまたは「ゾーン端末コンソール」アクションを使用できます。


    # zlogin -z zone-name
    

    スーパーユーザーとしてログインできない場合は、zlogin -S コマンドを使用して認証を省略してください。

  2. ゾーンが実行中であることを確認します。


    # zoneadm list
    

    ゾーンの状態が running であれば、少なくとも 1 つのプロセスがゾーンで実行されています。

  3. ラベル付きゾーンが X サーバーにアクセスするのを妨害しているすべての問題を解決します。

    • sysidcfg プロセスを完了することによってゾーンを初期化します。

      sysidcfg プログラムを対話式で実行します。ゾーン端末コンソール、または zlogin コマンドを実行した端末ウィンドウでプロンプトに答えます。

      sysidcfg プロセスを非対話式に実行するには、次のいずれかの方法があります。

      • /usr/sbin/txzonemgr スクリプトに対して初期化項目を指定します。

        初期化項目により、sysidcfg の質問にデフォルト値を入力できるようになります。

      • 独自の sysidcfg スクリプトを記述します。

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

    • ゾーンから X サーバーにアクセスできることを確認します。

      ラベル付きゾーンにログインします。DISPLAY 変数が X サーバーをポイントするように設定し、ウィンドウを開きます。


      # DISPLAY=global-zone-hostname:n.n
      # export DISPLAY
      # /usr/openwin/bin/xclock

      ラベル付きウィンドウが表示されない場合は、このラベル付きゾーンに対してゾーンネットワークが適切に構成されていません。


      注 –

      Solaris 10 5/09 以降のリリースの Trusted CDE を実行している場合は、「Trusted CDE でローカルゾーンを大域ゾーンルーティングに解決する」を参照してください。


    • ネームサービスを使ってゾーンのホスト名を構成します。

      ゾーンのローカル /etc/hosts ファイルは使用しません。代わりに、同等の情報を大域ゾーンまたは LDAP サーバーに指定する必要があります。この情報には、ゾーンに割り当てられたホスト名の IP アドレスを含める必要があります。

    • all-zones として指定されているインタフェースがない。

      すべてのゾーンに大域ゾーンと同じサブネット上の IP アドレスがある場合を除き、all-zones (共有) インタフェースを構成する必要のある場合があります。このように構成することによって、ラベル付きゾーンが大域ゾーンの X サーバーに接続できるようになります。大域ゾーンの X サーバーへのリモート接続を制限するには、vni0all-zones アドレスとして使用します。

      all-zones インタフェースを構成しない場合は、それぞれのゾーンに大域ゾーンの X サーバーへのルートを指定する必要があります。これらのルートは大域ゾーン内で構成しなければなりません。

    • ラベル付きゾーンのネットワークインタフェースがダウンしている。


      # ifconfig -a
      

      ifconfig コマンドを使用して、ラベル付きゾーンのネットワークインタフェースが UPRUNNING の両方の状態であることを確認します。

    • LDAP 名の検索が失敗する。

      ldaplist コマンドを使用して、各ゾーンが LDAP サーバーまたは LDAP プロキシサーバーと通信できることを確認します。LDAP サーバー上で、ゾーンが tnrhdb データベースに記載されていることを確認します。

    • NFS マウントが機能しない。

      スーパーユーザーとして、ゾーンで automount を再起動します。または、crontab エントリを追加して、automount コマンドを 5 分ごとに実行します。

その他の Trusted Extensions 構成タスク

次の 2 つのタスクでは、構成ファイルの正確なコピーをサイトのすべての Trusted Extensions システムに転送することができます。最後のタスクでは、Trusted Extensions のカスタマイズを Solaris システムから削除できます。

ProcedureTrusted Extensions でファイルをポータブルメディアにコピーする方法

ポータブルメディアにコピーする場合、情報と同じ機密ラベルをメディアに付けます。


注 –

Trusted Extensions の構成時に、スーパーユーザーまたは同等の役割が管理ファイルをポータブルメディアにコピーしたり、ポータブルメディアからコピーしたりします。このメディアには Trusted Path のラベルを付けます。


始める前に

管理ファイルをコピーするには、スーパーユーザーになるか、大域ゾーンで役割になります。

  1. 適切なデバイスを割り当てます。

    デバイス割り当てマネージャーを使用し、何も記録されていないメディアを挿入します。詳細は、『Oracle Solaris Trusted Extensions ユーザーズガイド』「Trusted Extensions でデバイスを割り当てる」を参照してください。

    • Solaris Trusted Extensions (CDE) では、「ファイルマネージャー」にポータブルメディアの内容が表示されます。

    • Solaris Trusted Extensions (JDS) では、「ファイルブラウザ」に内容が表示されます。

    以下の手順では、この GUI を指すのに「ファイルブラウザ」と記述します。

  2. 別のファイルブラウザを開きます。

  3. コピーするファイルがあるフォルダに移動します。

    たとえば、ファイルを /export/clientfiles フォルダにコピーしてあるとします。

  4. 各ファイルに対して次の操作を実行します。

    1. ファイルのアイコンを強調表示します。

    2. ポータブルメディアのファイルブラウザにファイルをドラッグします。

  5. デバイスの割り当てを解除します。

    詳細は、『Oracle Solaris Trusted Extensions ユーザーズガイド』「Trusted Extensions でデバイスの割り当てを解除する」を参照してください。

  6. ポータブルメディアのファイルブラウザで、「ファイル」メニューから「取り出し」を選択します。


    注 –

    コピーしたファイルの機密ラベルを示した物理的なラベルを、メディアに必ず貼り付けてください。



例 4–9 構成ファイルをすべてのシステムで同一にする

システム管理者は、同じ設定ですべてのマシンを確実に構成しようと思っています。そのためには、最初に構成するマシンで、再起動によって削除されないディレクトリを作成します。そのディレクトリに、管理者はすべてのシステムで同一のファイルまたはほとんど同じファイルを配置します。

たとえば、LDAP スコープ用に Solaris 管理コンソール が使用する Trusted Extensions ツールボックス /var/sadm/smc/toolboxes/tsol_ldap/tsol_ldap.tbx をコピーします。tnrhtp ファイルの遠隔ホストテンプレートをカスタマイズしてあり、DNS サーバーのリストおよび監査構成ファイルがあります。サイト向けに policy.conf ファイルも変更しました。これらのファイルを永続ディレクトリにコピーします。


# mkdir /export/commonfiles
# cp  /etc/security/policy.conf \
/etc/security/audit_control \
/etc/security/audit_startup \
/etc/security/tsol/tnrhtp \
/etc/resolv.conf \
/etc/nsswitch.conf \
/export/commonfiles

デバイス割り当てマネージャーを使用して大域ゾーンでフロッピーディスクを割り当て、ファイルをフロッピーディスクに転送します。ADMIN_HIGH のラベルを付けた別のフロッピーディスクに、サイト用の label_encodings ファイルを転送します。

システムにファイルをコピーする場合、システムの /etc/security/audit_control ファイルの dir: のエントリを変更します。


ProcedureTrusted Extensions でポータブルメディアからファイルをコピーする方法

ファイルを置き換える前に、元の Trusted Extensions ファイルの名前を変更しておくと安全です。システムを構成する際に、root 役割が管理ファイルの名前の変更およびコピーを行います。

始める前に

管理ファイルをコピーするには、スーパーユーザーになるか、大域ゾーンで役割になります。

  1. 適切なデバイスを割り当てます。

    詳細は、『Oracle Solaris Trusted Extensions ユーザーズガイド』「Trusted Extensions でデバイスを割り当てる」を参照してください。

    • Solaris Trusted Extensions (CDE) では、「ファイルマネージャー」にポータブルメディアの内容が表示されます。

    • Solaris Trusted Extensions (JDS) では、「ファイルブラウザ」に内容が表示されます。

    以下の手順では、この GUI を指すのに「ファイルブラウザ」と記述します。

  2. 管理ファイルを含むメディアを挿入します。

  3. システムに同じ名前のファイルがある場合、元のファイルを新しい名前でコピーします。

    たとえば、元のファイルの名前の後ろに .orig を追加します。


    # cp /etc/security/tsol/tnrhtp /etc/security/tsol/tnrhtp.orig
    
  4. ファイルブラウザを開きます。

  5. /etc/security/tsol などのコピー先ディレクトリに移動します。

  6. コピーするそれぞれのファイルに対して、次の操作を実行します。

    1. マウントされたメディアのファイルブラウザで、ファイルのアイコンを強調表示します。

    2. 別のファイルブラウザのコピー先ディレクトリにファイルをドラッグします。

  7. デバイスの割り当てを解除します。

    詳細は、『Oracle Solaris Trusted Extensions ユーザーズガイド』「Trusted Extensions でデバイスの割り当てを解除する」を参照してください。

  8. プロンプトが表示されたら、メディアを取り出します。


例 4–10 Trusted Extensions で監査構成ファイルを読み込む

この例では、システムにまだ役割が構成されていません。root ユーザーは、構成ファイルをポータブルメディアにコピーする必要があります。メディアの内容は、その他のシステムにコピーされます。これらのファイルは、Trusted Extensions ソフトウェアで構成される各システムにコピーされることになります。

root ユーザーは、デバイス割り当てマネージャーで floppy_0 デバイスを割り当てて、マウントのクエリーに対して yes と答えます。次に、root ユーザーは、構成ファイルが含まれたフロッピーディスクを挿入し、ディスクにコピーします。このフロッピーディスクには、Trusted Path というラベルが付けられています。

メディアから読み込むには、root ユーザーが受信ホストのデバイスを割り当てて、内容をダウンロードします。

構成ファイルがテープ上にある場合、root ユーザーは mag_0 デバイスを割り当てます。構成ファイルが CD-ROM 上にある場合、root ユーザーは cdrom_0 デバイスを割り当てます。


Procedure Trusted Extensions をシステムから削除する

Trusted Extensions を Solaris システムから削除するには、特定の手順を実行して、Solaris システムに対する Trusted Extensions のカスタマイズを削除します。

  1. Solaris OS の場合と同様に、ラベル付きゾーンのデータで残しておくものを保存します。

  2. システムからラベル付きゾーンを削除します。

    詳細は、『System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones』「How to Remove a Non-Global Zone」を参照してください。

  3. Trusted Extensions サービスを無効化します。


    # svcadm disable labeld
    
  4. bsmunconv コマンドを実行します。

    このコマンドの結果については、bsmunconv(1M) のマニュアルページを参照してください。

  5. (省略可能) システムを再起動します。

  6. システムを構成します。

    さまざまなサービスを Solaris システム用に構成する必要があります。その候補として、監査、基本的なネットワーキング、ネームサービス、およびファイルシステムのマウントがあります。