Trusted Solaris のラベル管理

第 2 章 エンコーディングファイルの作成と編集

この章では、自分のサイト用に label_encodings(4) ファイルを準備する手順について説明します。

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

この章では、次のような手順についても説明します。

NIS+ マスターまたはスタンドアロンシステム設定前のラベルエンコーディングファイルの準備

label_encodings ファイルの全体的な設定プロセスを次に示します。

ラベル関連ファイルと集中管理

NIS+ マスターを完全に設定し終わったら (マスターの label_encodings ファイルを設定したら)、インストールチームは、さらに Trusted Solaris 分散システムにその他のホストをインストールします。セキュリティ管理者役割は、label_encodings ファイルと同じコピーがすべてのホストにインストールされていることを確認します。label_encodings ファイルは NIS+ によって管理されていないので、他の配布方法が必要です。詳細は、『Trusted Solaris 管理の手順』の「その他の作業と操作手順」の「変更した構成ファイルのネットワーク上のホストへの配布」を参照してください。

label_encodings ファイルの編集とチェック

label_encodings ファイルは平坦な構造のテキストファイルです。label_encodings ファイルの 1 行の最大長は、256 バイトです。このファイルは任意のテキストエディタで編集できます。ファイルは、インストール前に chk_encodings(1M) ユーティリティを使って検査する必要があります。セキュリティ管理者役割は、表 2-1 に示すアクションのどちらかを使用します。これらのアクションは、アプリケーションマネージャの「システム管理 (System_Admin)」フォルダにあります。

表 2-1 label_encodings ファイルの編集に関する管理者によるアクション

アクション名 

目的 

「エンコーディングの編集 (Edit Encodings)」

指定された label_encodings ファイルを編集し、検査する。

「エンコーディングの検査 (Check Encodings)」

指定された label_encodings ファイルを検査する。指定されたファイルがインストールされている既存ファイルではない場合、「エンコーディングの検査 (Check Encodings)」は、検査の後で、このファイルをインストールするかどうかをたずねます。「エンコーディングの検査 (Check Encodings)」は、インストールされている label_encodings ファイルに上書きする前にそのバックアップをとります。このとき、必要な DAC 属性は保存されます。


注 -

label_encodings ファイルは、どんなシステム上でも作成および編集できます。ただし、Trusted Solaris オペレーティング環境が動作しているホスト上で検査および確認する必要があります。


ヒント

    システムにインストールされている元のファイルのバックアップコピーをテープまたはフロッピーディスクにとります。そのファイルが OS 上で変更されたファイルであれば、現在のファイルのバックアップコピーをとってください。

変更の結果、ラベルが解釈不可能になった場合は、ラベルを手作業で ADMIN_LOW にリセットしてから、変更したファイルから有効なラベルを新たに割り当てます。あるいは、問題のデバッグが済むまで、テープやフロッピーディスクから以前の使用可能な label_encodings ファイルを復元することもできます。ファイルマネージャのオプションを使用して、バックアップコピーを作成します。


注 -

ファイルマネージャでは、セキュリティ管理者役割を使ってファイルの所有権、グループ、アクセス権を復元できます。デフォルトでは、正しいファイル属性を維持するための変更をコマンド行のユーティリティを使って行うことはできません。


    テキストエディタを使用してファイルをコード化し、終了後、ハードコピーを保存します。

    この方法の詳細については、「label_encodings (4) ファイルを変更する」を参照してください。その結果がよければ、それを印刷して、記録としてとっておきます。

    chk_encodings(1M) コマンドを使用して、構文を検査します。

    chk_encodings コマンドと -a オプションを使用して、ラベルの構文とラベル同士の関係を検査します。

    可能であれば、稼働中のシステムへ移動させる前に、スタンドアロンのテスト用マシン上でエンコーディングファイルをテストします。

    すべてのマシン上に label_encodings ファイルと同じコピーを配布します。

単一ラベルファイルとインストールされたラベルエンコーディングファイルの相違点

label_encodings.single ファイルは、デフォルトでインストールされるマルチラベルのものとほぼ同じです。唯一の相違点は、通常のユーザーが使用できる格付けとコンパートメントを定義した ACCREDITATION RANGE セクションの設定値だけです。

複数の機密ラベルの場合

この節では、デフォルトの label_encodings ファイルの ACCREDITATION RANGE 設定値について、次の例を使って説明します。


例 2-1 デフォルトのマルチラベルエンコーディングファイルの ACCREDITATION RANGE 設定値


ACCREDITATION RANGE: 
classification= u;   all compartment combinations valid;
classification= c;   all compartment combinations valid;
classification= s;   all compartment combinations valid;
classification= ts;   all compartment combinations valid;

minimum clearance= c; 
minimum sensitivity label= u; 
minimum protect as classification= u;

label_encodings.multi ファイルのあらゆる場所で定義された格付けとコンパートメント語句のすべてをサイトで使用できるようにするために、ACCREDITATION RANGE セクションに次のものが定義されています。

単一の機密ラベルの場合

この節では、デフォルトの label_encodings ファイルの ACCREDITATION RANGE 設定値について、次の例を使って説明します。


例 2-2 デフォルトのシングルラベルのエンコーディングファイルのACCREDITATION RANGE 設定値


ACCREDITATION RANGE:  classification= s;   	
only valid compartment combinations:  s a b rel cntry1  
minimum clearance= s Able Baker NATIONALITY: CNTRY1; 
minimum sensitivity label= s A B REL CNTRY1; 
minimum protect as classification= s;

label_encodings.single ファイルの ACCREDITATION RANGE セクションでは、ユーザーの ACCREDITATION RANGE が次のように制限されます。

単一の機密ラベルを取り扱う簡単な方法は、インストールされた label_encodings.single ファイルの ACCREDITATION RANGE のみを変更することです。別の方法として、はじめからエンコーディングファイルを、ただ 1 つの格付けと、ユーザーが必要とするコンパートメントだけ、またはコンパートメントなしで作成できます。それぞれの方法の指針については、「デフォルトのシングルラベル用エンコーディングファイルのシングルラベルを入れ替える」を参照してください。

システム起動後の label_encodings ファイルの変更

Trusted Solaris システムが完全に構成され動作した後、セキュリティ管理者役割は、 label_encodings(4) ファイルを修正できます。変更が禁止されている内容、他の変更を安全に行う方法については、マニュアルページを参照してください。

ラベル非表示での実行

管理者以外のユーザーにラベルを表示したくない場合や、必須アクセス制御によってユーザーアクセスが制限されていることを認識させたくない場合があります。「ラベルなし動作を設定する」の手順に従って、セキュリティ管理者役割は、「ラベルなし」に見える動作を設定できます。その結果、すべての一般ユーザーは、CDE ウィンドウシステムを持つ Solaris 環境と視覚的にほとんど変わらない作業環境で作業できます。

管理者以外のユーザーにはラベルが表示されなくても、次に示す一部のラベルは常に存在し続けていることを念頭に入れておく必要があります。


注 -

Trusted Slaris 7 では情報ラベルを使用しませんが、label_encodings ファイルを chk_encodings(1M) に渡すためには、ファイルに情報ラベルが定義されていなければなりません。このソフトウェア要件を満たすには、SENSITIVITY LABELS WORDS 中に定義されている語句を INFORMATION LABELS WORDS セクションにコピーします。


語句の順番

語句の設定順は必須ではありませんが、語句同士の関係を設定するときに、重要な要素になります。語句のエンコーディングの方法に、どのように順序が影響するかの例については、第 3 章「プリンタ出力のためのラベルの指定と取り扱い上のガイドライン」「チャネルの指定」を参照してください。また、「はじめに」で参照されている『DIA Label Encodings Format』マニュアルも参照してください。

規定により、SENSITIVITY LABELS セクションの WORDS は重要度の低いものから順に並べられています。

ラベルエンコーディングファイルのテンプレート

label_encodings ファイルには次のようなセクションがあります。

格付けの追加と名前の変更

セキュリティ管理者役割は、デフォルトのデモ版の label_encodings ファイルに定義されている格付け名を置き換えること、新しい格付け名を定義すること、または一意的な格付けを持った新しいファイルを作成することができます。

格付けの数

1 つのサイトで定義できる格付けの総数は 255 です。

格付けとして定義されるキーワード

格付けとして定義されるキーワードを次の表に示します。アスタリスク(*)で始まるキーワードはオプションです。格付けに関連付けられるオプションの初期コンパートメントとマーキングの設定方法については、「デフォルト語句およびインバース語句の設定」を参照してください。

表 2-2 格付けの値

値 

条件 

name= 

(/)、 (,)、(;) などの使用は不可。それ以外の英数字や空白文字の使用は可。ラベルの指定時は、namesnameaname のいずれも入力可能。

sname=

格付けだけに必要。常に短形式名で機密ラベルに表示 ([ ] で囲む)。

*aname= 

ユーザーによる入力時にのみ使用する名前。いつでも代替名を入力できる。

value= 

格付け間の実際の階層を表すように値を設定すること。後の拡張に備えて、余裕をもたせておくこと。0 は ADMIN_LOW 用に予約。値は 1〜255 まで。

*initial compartments= 

あらゆるデフォルトのコンパートメント語句 (関連する格付けを持つラベルであれば、そのラベルに最初に表示される語句) のビット番号を指定。

応用: インバース語句にもビット番号を指定。推奨: 自分のサイトで最下位の格付け以外のすべての格付けにインバース語句を使用しているときは、インバース語句を後で追加できるように初期コンパートメントを確保しておくこと。最下位の格付けに初期コンパートメントや初期マーキングを使用することは推奨できない。 

*initial markings= 

情報ラベルに使用する。情報ラベルは Trusted Solaris 7 およびそれ以降のリリースでは使用されないので、この値は定義しない。

他の組織のラベルエンコーディングとの互換性が必要なエンコーディングを作成するのでなければ、使用するコンパートメントのビット番号については、気にする必要はありません。ただし、自分の使用している番号とそれぞれのビットの関係を把握してください。

以下に Trusted Solaris のデモ版のlabel_encodings ファイルの CLASSIFICATIONS セクションの冒頭部分を示します。


例 2-3 Trusted Solaris のデモ版の label_encodings ファイル (冒頭部分)


CLASSIFICATIONS:

*
name= UNCLASSIFIED;  sname= U;  value= 1;
name= CONFIDENTIAL;  sname= C;  value= 4; initial compartments= 4-5 190-239;
name= SECRET;        sname= S;  value= 5; initial compartments= 4-5 190-239;
name= TOP SECRET;    sname= TS; value= 6; initial compartments= 4-5 190-239;

例 2-3 で定義された格付けにはそれぞれ、必須の namesnamevalue が指定されています。CONFIDENTIAL、SECRET、TOP SECRET の格付けにはそれぞれ initial compartments (初期コンパートメント) が設定されていますが、UNCLASSIFIED には何も設定されていません。

以下の表は、初期コンパートメントのビットの割り当てとその意味を示しています。

表 2-3 初期コンパートメントのビット割り当て例とその意味

initial compartments= 4 5 100-227; 

この格付けのラベルでは、コンパートメントビットの 1、5、および 100〜227 は、初期設定でオンになっている (1 に設定)。 

例 2-3 に示した初期コンパートメントの一部は、デフォルト語句やインバース語句を定義するために後で使用します。またインバース語句を後で定義するために予約されているものもあります。

初期コンパートメントが設定されていない簡単な格付けの例を以下に示します。


例 2-4 初期コンパートメントや初期マーキングのない簡単な格付け定義例


CLASSIFICATIONS:

name= PUBLIC; sname= PUBLIC; value= 1;
name= INTERNAL_USE_ONLY; sname= INTERNAL; aname= INTERNAL; value= 4;
name= NEED_TO_KNOW; sname= NEED_TO_KNOW; aname= NEED_TO_KNOW; value= 5;
name= REGISTERED; sname= REGISTERED; aname= REGISTERED; value= 6;
initial compartments= 10;

デフォルト語句およびインバース語句の設定

初期コンパートメントまたは初期マーキングのいずれかにビットが設定されると、格付けされているすべてのラベルのビットは 1 になります。初期コンパートメントに指定された各ビットは、後で label_encodings ファイルで定義することによって、「デフォルト語句」または「インバース語句」を作成できます。

以下の表は、格付けに関連付けられた初期コンパートメント値の条件を要約しています。

表 2-4 格付けに使用する初期コンパートメントの値

値 

条件 

*initial compartments= 

あらゆるデフォルトのコンパートメント語句 (関連付けられた格付けを持つラベルであれば、そのラベルに常に表示される名前) のビット番号を指定。 

応用: インバース語句にもビット番号を指定。推奨: インバース語句を後で追加できるように初期コンパートメントを確保しておくこと。 

コンパートメントビットとマーキングビットに使用する番号については、エンコーディングが、別の組織のものと互換性を持つ必要がある場合に限り、注意する必要があります。

以下の例では、格付けが PUBLIC のラベルには初期コンパートメントが割り当てられていませんが、格付けが SUN FEDERAL のラベルには 4-5 が初期コンパートメントとして割り当てられています。


例 2-5 初期コンパートメントの簡単な割り当て


name= PUBLIC;  sname= P;  value= 1;
name= SUN FEDERAL;  sname= SUNFED;  value= 4; initial compartments= 4-5

例 2-5 のようにビットが割り当てられている場合には、PUBLIC 格付けを含むラベルには、デフォルトのコンパートメントが割り当てられていない一方で、SUN FEDERAL 格付けを含むラベルのコンパートメントビットの 4 と 5 が常にオンになります。これらの初期コンパートメントビットの語句への割り当てを示す例については、以下のコード例とそれに続く説明を参照してください。


例 2-6 INFORMATION LABELS のデフォルト語句とインバース語句の例


SENSITIVITY LABELS:

WORDS:

name= DIVISION ONLY;     sname= DO;    minclass=  SUN FEDERAL; compartments= 4-5;
name= SMCC AMERICA;     sname= SMCCA;  minclass= SUN FEDERAL; compartments= ‾4;
name= SMCC WORLD;     sname= SMCCW;    minclass= SUN FEDERAL; compartments= ‾5;

label_encodings ファイルの SENSITIVITY LABELS セクションで定義された WORDS を上記のコード例に示します。コンパートメントビットの 4 と 5 が、DIVISION ONLY という語句に割り当てられています。コンパートメントビットの 4 と 5 は、インバース語句にも関連付けられており、SMCC AMERICA はインバースコンパートメントビットの ‾4 に、SMCC WORLD はインバースコンパートメントビットの ‾5 に割り当てられています。このエンコーディングの結果、格付けが SUN FEDERAL の情報ラベルには最初から DIVISION ONLY という語句が含まれ、そのバイナリ表現として、コンパートメントビットの 4 と 5 がオンになり、一方、格付けが PUBLIC の情報ラベルのコンパートメントビットの 4 と 5 は常にオフになります。その結果、SMCC AMERICASMCC WORLD が、ラベルに表示されます。IUO (INTERNAL_USE_ONLY) の minclass はインバース語句として指定されるため、SMCC AMERICASMCC WORLD は、PUBLIC の機密ラベルには表示されません。それによって、この 2 つのインバース語句の存在が分かります。

後で割り当てられることが予約されていないコンパートメントやマーキングビットに関しては以下のことを心掛けてください。指定された初期コンパートメントごとに SENSITIVITY LABELS: WORDS: セクションと INFORMATION LABELS: WORDS: セクションの中のビットに語句を割り当てる必要があります。

シングルラベル処理の設定

デフォルトのシングルラベルファイルの例 (/etc/security/tsol/label_encodings.single) を使用または変更するか、付録 A から /etc/security/tsol/label_encodings.simple ファイルを手動でコピーするか、1 つの格付けと任意の数のコンパートメントをもつエンコーディングファイルを作成します。次の例は ACCREDITATION RANGE: セクションの設定値を示したものです。唯一の格付けとして ANY_CLASS が定義され、すべてのラベル型に対しコンパートメント語句として ABREL CNTRY 1 が指定されています。


例 2-7 シングルラベルに処理を限定するための ACCREDITATION RANGE の別の設定方法


ACCREDITATION RANGE:

classification= ANY_CLASS;      only valid compartment combinations:

ANY_CLASS A B REL CNTRY1

minimum clearance= ANY_CLASS A B REL CNTRY1;
minimum sensitivity label= ANY_CLASS A B REL CNTRY1;
minimum protect as classification= ANY_CLASS;

シングルラベル処理を行わせるこれらの方法には、いずれも 「ラベルをユーザーに対して非表示に設定する」に示すサポート手順が必要です。

label_encodings 関連の手順

label_encodings (4) ファイルを変更する


注意 - 注意 -

label_encodings ファイルの変更はホストのインストール時に行うのが安全です。操作ファイルを変更する必要が生じた場合は、慎重に行ってください。label_encodings(4) ファイル中の警告を参照してください。


  1. ADMIN_LOW ワークスペースでセキュリティ管理者役割になります。

  2. label_encodings ファイルの新規または既存バージョンを開きます。

    1. label_encodings ファイルの新規バージョンを作成する場合は、任意のテキストエディタを使ってファイルを作成するか、「エンコーディングの編集 (Edit Encodings)」アクションを使用します。

      「エンコーディングの編集 (Edit Encodings)」アクションは、このファイルを編集し、chk_encodings(1M) を実行します。


      注 -

      ファイルをまったく新しく作成する場合は、「ラベルエンコーディングファイルのテンプレート」に示すすべてのセクションを必ず指定してください。または、付録 A 「使用例: ラベルエンコーディングファイル」 の例をコピーし、変更してください。



      注 -

      ラベル間の関係を分析し、結果を表示するには、-a オプションを指定した chk_encodings(1M) をコマンド行から実行します。


    2. インストールする新規バージョンの準備ができたら、「エンコーディングの検査 (Check Encodings)」アクションを使ってファイルのオープンと検査を行います。

      「エンコーディングの検査 (Check Encodings)」アクションでは、指定するファイルに対し chk_encodings(1M) が実行されます。ファイルが検査に合格すると、すでにインストールされている label_encodings ファイルの上書きを確認するメッセージが出力されます。上書きを許可すると、label_encodings.orig という名前でバックアップコピーが作成され、既存のファイルが上書きされます。


      注 -

      デフォルトでは、「エンコーディングの検査 (Check Encodings)」アクションはセキュリティ管理者役割でもスーパーユーザー役割でも使用できます。スーパーユーザー役割の場合は、インストール後にシステムを構成するときに、このアクションを使って label_encodings ファイルをインストールします。


    3. 新規の label_encodings ファイルをインストールする場合は、次のプロンプトに肯定の応答を返します。


      Do you want to install this label_encodings file?
  3. 「ワークスペース (Workspace)」メニューを使ってウィンドウマネージャを再起動し、新しいエンコーディングファイルを初期化します。

  4. Trusted Solaris ホストからなる分散システムで、label_encodings ファイルのコピーを NIS+ マスターからこのシステムにあるすべてのホストの /etc/security/tsol ディレクトリに配布します。

    変更したファイルをフロッピーディスクにコピーし、それを手動で配布する方法については、「label_encodings ファイルをフロッピーディスクにコピーする」を参照してください。システムが操作可能になった後で、変更したファイルを rdist(1) コマンドを使って配布する方法については、『Trusted Solaris 管理の手順』の「その他の作業と操作手順」の「変更した構成ファイルのネットワーク上のホストへの配布」を参照してください。

label_encodings ファイルをフロッピーディスクにコピーする

  1. ADMIN_LOW ワークスペースでセキュリティ管理者役割になります。

  2. 次のようにしてフロッピーデバイスを ADMIN_LOW で割り当てます。

    1. フロッピーデバイスの名前を強調表示します。

    2. デバイスを「割り当てられたデバイス (Allocated Devices)」リストに移動します。

    3. 「更新後のラベル (Update With)」フィールドに「ADMIN_LOW」と入力します。

    4. OK」をクリックします。

  3. フロントパネルのファイルマネージャアイコンをダブルクリックします。

  4. ファイルマネージャを使って、label_encodings ファイルが含まれているフォルダを見つけます。


    注 -

    label_encodings ファイルのコピーには別の名前を指定してください。ドット (.) を使用しない 8 文字未満の名前にすれば、通常、どのフロッピーディスクの PC ファイルシステムとも互換性があります。PC ファイル名のドットに続く文字列 (.doc など) は、ファイルのタイプを表す接尾辞として使用されます。


  5. 「ファイル (File)」メニューから「フロッピーディスクを表示」を選択します。

  6. コピーするファイルのアイコンを強調表示します。

  7. ファイルをフロッピーディスクフォルダにドラッグします。

  8. フロッピーディスクフォルダ上で「ファイル (File)」メニューから「取り出し (Eject)」を選択します。

フロッピーディスクから label_encodings ファイルをコピーする

  1. ADMIN_LOW ワークスペースでセキュリティ管理者役割になります。

  2. 次のようにしてフロッピーデバイスを ADMIN_LOW で割り当てます。

    1. フロッピーデバイスの名前を強調表示します。

    2. デバイスを「割り当てられたデバイス (Allocated Devices)」リストに移動します。

    3. 「更新後のラベル (Update With)」フィールドに「ADMIN_LOW」と入力します。

    4. OK」をクリックします。

  3. フロントパネルのファイルマネージャアイコンをダブルクリックします。

  4. ファイルマネージャを使って、必要な宛先ディレクトリを見つけます。

  5. 「ファイル (File)」メニューから「フロッピーディスクを表示」を選択します。

    フロッピーディスクフォルダが開かれます。

  6. label_encodings ファイルのアイコンを強調表示します。

  7. フロッピーディスクフォルダからファイルを宛先ディレクトリにドラッグします。

    ファイルを /etc/security/tsol フォルダにドラッグする場合は、ドラッグするファイルの名前が label_encodings でないことを確認してください。ファイル名が label_encodings の場合、ファイルをドロップしたときに既存の label_encodings ファイルが上書きされます。したがって、ファイル名が同じ場合は、ファイルをホストにコピーしてから「エンコーディングの検査 (Check Encodings)」アクションを使ってファイルをインストールしてください。この手順については、「label_encodings (4) ファイルを変更する」を参照してください。

  8. フロッピーディスクフォルダ上で「ファイル (File)」メニューから「取り出し (Eject)」を選択します。

  9. 新しいエンコーディングファイルを初期化します。

    ワークスペースメニューを使ってウィンドウマネージャを再起動します。

既存のラベルエンコーディングファイルに Sun の拡張を追加する

  1. /etc/security/tsol にあるデフォルトの label_encodings ファイルの 1 つから LOCAL DEFINITIONS セクションをコピーし、このセクションをサイトの既存ファイルに追加します。

    必要なら、ファイルの編集と検査を行う方法について 「label_encodings (4) ファイルを変更する」を参照してください。

  2. サイトのセキュリティポリシーに合わせて宛先を変更します。

    拡張の構成方法については、第 4 章「LOCAL DEFINITIONS セクションの Sun 拡張機能の変更」を参照してください。

  3. 「エンコーディングの検査 (Check Encodings)」アクションを使ってファイルを検査します。

  4. 「エンコーディングの検査 (Check Encodings)」アクションからプロンプトが表示されたら、変更した label_encodings ファイルをインストールします。

ラベルなし動作を設定する

インストールチームは次のことを行います。

  1. label_encodings.single のシングルラベルの名前を変更するか、または確定します。

    これについては、「デフォルトのシングルラベル用エンコーディングファイルのシングルラベルを入れ替える」を参照してください。

  2. ユーザーマネージャにユーザーアカウントを設定するときは、ユーザーをシングルラベル操作に限定します。

    例は、PUBLIC ラベルを示しています。

    1. ユーザー認可上限と初期 (最下位の) ラベルを唯一のエンコーディングされたラベルと同等に設定します。


      Clearance: PUBLIC 
      Minimum Label: PUBLIC
    2. 機密ラベルを非表示に設定します。


      SL: Hide

デフォルトの label_encodings ファイルの格付けを追加するまたは名前を変更する

  1. ADMIN_LOW ワークスペースのセキュリティ管理者役割で、編集する label_encodings ファイルを開きます。

    必要に応じて、「label_encodings (4) ファイルを変更する」を参照してください。

  2. VERSION= セクションに自分のサイト名、ファイルのタイトル、バージョン番号、および日付を入力します。


    VERSION= Sun Microsystems, Inc. Example Version - 5.8 97/05/28

    Sun では、バージョン番号と日付に SCCS キーワードを使用しています(SCCS については、sccs(1) のマニュアルページを参照してください)。


    VERSION= Sun Microsystems, Inc. Example Version - %I% %E%
  3. CLASSIFICATIONS セクションに新しい格付けの長形式名、短形式名、および数値を入力します。


    name= NEW_CLASS; sname= N; value= 2; 
  4. 新しい格付けを ACCREDITATION RANGE セクションに追加します。

    デモ用ファイルの ACCREDITATION RANGE セクションに新しく 3 つの格付けが追加された例を次に示します。これらの 3 つ (INTERNAL_USE_ONLYNEED_TO_KNOWREGISTERED) はすべて all compartment combinations valid とともに指定されています。


    ACCREDITATION RANGE:
    
    classification= UNCLASSIFIED;        all compartment combinations valid;
    
    * i is new in this file
    classification= INTERNAL_USE_ONLY;   all compartment combinations valid;
    
    * n is new in this file
    classification= NEED_TO_KNOW;        all compartment combinations valid;
    
    classification= CONFIDENTIAL;        all compartment combinations valid except:
    c
    c a
    c b
    
    classification= SECRET;               only valid compartment combinations:
    . . .
    * r is new in this file
    classification= REGISTERED;           all compartment combinations valid;
  5. 必要に応じて、ACCREDITATION RANGE セクションで指定した最下位の値を調整します。


    minimum clearance= u; 
    minimum sensitivity label= u; 
    minimum protect as classification= u;
  6. 編集が終ったらファイルを保存し、手順を終了します。

  7. ファイルをインストールする場合は、「エンコーディングの検査 (Check Encodings)」アクションを使います。新規ファイルをインストールするかどうかのプロンプトに肯定の応答を返します。

デフォルト語句およびインバース語句を指定する

  1. ADMIN_LOW シェルのセキュリティ管理者役割で、編集するファイルを開きます。

    必要なら 「label_encodings (4) ファイルを変更する」を参照してください。

  2. 格付けを定義するときに、初期コンパートメントおよび初期マーキングを CLASSIFICATIONS セクションに指定します。


    CLASSIFICATIONS:
    name= PUBLIC;  sname= P;  value= 1;
    name= SUN FEDERAL;  sname= SUNFED;  value= 2; initial compartments= 4-5 ;
  3. 初期コンパートメントビットまたは初期マーキングビットを語句に割り当てて、デフォルト語句を指定します。


    name= DIVISION ONLY;  sname= DO;  minclass=  IUO; compartments= 4-5; 
    
    name= SMCC AMERICA;  sname= SMCCA; minclass= IUO; compartments= 4;  
    
    name= SMCC WORLD;  sname= SMCCW; minclass= IUO; compartments= 5;  
  4. 初期コンパートメントをチルド (‾) を頭に付けて語句に割り当てて、インバース語句を指定します。


    name= DIVISION ONLY;  sname= DO;  minclass=  IUO; compartments= 4-5; 
    
    name= SMCC AMERICA;  sname= SMCCA; minclass= IUO; compartments= ‾4;  
    
    name= SMCC WORLD;  sname= SMCCW; minclass= IUO; compartments= ‾5;  

デフォルトのシングルラベル用エンコーディングファイルのシングルラベルを入れ替える

  1. ADMIN_LOW ワークスペースのセキュリティ管理者役割で、編集する /etc/security/tsol/label_encodings.single ファイルを開きます。

    必要なら 「label_encodings (4) ファイルを変更する」を参照してください。

  2. 格付けの名前を代替名で置き換えます。

    1. CLASSIFICATIONS: セクションで、名前 SECRET を自分のサイトに適した代替名に変更します。

      この例では、name=SECRETから INTERNAL_USE_ONLY に変更され、sname=s から INTERNAL に変更されています。便宜上、value=initial compartments= の定義は変更されていません。


      CLASSIFICATIONS:  
      name= INTERNAL_USE_ONLY;  sname= INTERNAL;  value= 5; initial compartments= 4-5 
      190-239;
    2. ACCREDITATION RANGE で、格付けの短形式名 (S) を新しい短形式名に置き換えます。


      ACCREDITATION RANGE:
      
      classification= INTERNAL;      only valid compartment combinations:
      
      INTERNAL a b rel cntry1
  3. 必要に応じて、ユーザー認可範囲からコンパートメント a b rel cntry1 を取り除きます。


    ACCREDITATION RANGE:
    
    classification= INTERNAL;    only valid compartment combinations:
    
    INTERNAL 
  4. 必要に応じて、ACCREDITATION RANGE で、minimum clearance (最下位の認可上限)、minimum sensitivity label (最下位の機密ラベル)、minimum protect as classification (最下位の機密保護の格付け) の定義を新しい短形式名と置き換えます。


    ACCREDITATION RANGE:
    
    classification= INTERNAL;      only valid compartment combinations:
    
    INTERNAL
    
    minimum clearance= INTERNAL;
    minimum sensitivity label= INTERNAL;
    minimum protect as classification= INTERNAL;

独自のシングルラベルエンコーディングファイルを作成する

  1. ADMIN_LOW ワークスペースのセキュリティ管理者役割で、編集する label_encodings ファイルを開きます。

    必要なら 「label_encodings (4) ファイルを変更する」を参照してください。

  2. 格付けが 1 つだけで、必要なコンパートメントだけのエンコーディングファイルを作成します。

    たとえば、次に示すように、格付けが INTERNAL_USE_ONLY で、語句には何も指定しない label_encodings ファイルを作成できます。


    VERSION= Single-label Encodings
    
    . . .
    CLASSIFICATIONS:
    
    name= INTERNAL_USE_ONLY;	     sname= INTERNAL;  value= 5;
    
    INFORMATION LABELS:
    
    WORDS:
    
    SENSITIVITY LABELS:
    
    WORDS:
    
    CLEARANCES:
    
    WORDS:
    
    CHANNELS:
    
    WORDS:
    
    PRINTER BANNERS:
    
    WORDS:
  3. ACCREDITATION RANGE セクションに指定するのは、格付けは 1 つだけ、コンパートメントの有効な組み合わせも 1 つだけです。

    次の例に示すように、自分の格付け、および自分のコンパートメントの語句があればそれを使用して、ACCREDITATION RANGE セクションの設定値を入力します。


    ACCREDITATION RANGE:
    
    classification= INTERNAL;
    only valid compartment combinations:
    
    INTERNAL
    
    minimum clearance= INTERNAL;
    minimum sensitivity label= INTERNAL;
    minimum protect as classification= INTERNAL;
  4. 第 4 章「LOCAL DEFINITIONS セクションの Sun 拡張機能の変更」で説明する LOCAL DEFINITIONS セクションをエンコーディングします。このとき、システムのデフォルトのラベル表示は External に設定します。

  5. ラベルをユーザーに対して非表示に設定します。

    これについては、「ラベルをユーザーに対して非表示に設定する」を参照してください。

ラベルをユーザーに対して非表示に設定する

  1. ユーザーマネージャを使用してユーザーアカウントの設定を行うときは、ユーザーに対してラベルを非表示に設定し、ラベル範囲をシングルラベルだけに設定します。

    1. デフォルトのラベル表示を External に設定します。

    2. SL」メニューから「非表示 (Hide)」を選択します。

  2. アカウントの「認可上限 (Clearance)」を自身の「最下位 SL (Minimum SL)」と同等に設定します。

    認可上限が 1 つ、機密ラベルが INTERNAL_USE_ONLY の場合、「認可上限 (Clearance)」と「最下位ラベル (Minimum Label)」は、INTERNAL_USE_ONLY に設定します。