Trusted Extensions 構成と管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

Trusted Extensions ソフトウェアのラベル

ラベルおよび認可上限は、Trusted Extensions の必須アクセス制御 (MAC) の中心にあります。これらは、各ユーザーがアクセスできるプログラム、ファイル、およびディレクトリを決定します。ラベルと認可上限は、1 つの「格付け」コンポーネントと任意の数の「コンパートメント」コンポーネントから構成されます。格付けコンポーネントは、TOP SECRETSECRETPUBLIC など、セキュリティーの階層レベルを表します。コンパートメントコンポーネントは、共通な情報へのアクセスを必要とするユーザーのグループを表します。コンパートメントの一般的な例として、プロジェクト、部署、物理的な場所などがあります。承認されたユーザーには、ラベルは読みやすい形式で表示されますが、内部的にはラベルは数値として処理されます。数値によるラベルと人が読みやすい形式のラベルは、label_encodings ファイルで定義されます。

Trusted Extensions は、試行されるセキュリティー関連トランザクションのすべてを仲介します。このソフトウェアは、アクセス元のエンティティー (一般的にはプロセス) のラベルと、アクセス先のエンティティー (通常はファイルシステムオブジェクト) のラベルを比較します。このソフトウェアは、どちらのラベルが「優位」であるかに応じて、トランザクションを許可または拒否します。ラベルは、割り当て可能なデバイス、ネットワーク、フレームバッファー、別のシステムなど、ほかのシステムリソースへのアクセスを決定する場合にも使用されます。

ラベル間の優位関係

    次の 2 つの条件を満たす場合、一方のエンティティーのラベルが、他方のエンティティーのラベルよりも優位であると言います。

  • 一方のエンティティーのラベルの格付けコンポーネントが、他方のエンティティーの格付けと同等かそれよりも高い。セキュリティー管理者は、label_encodings ファイルで格付けに数値を割り当てます。ソフトウェアはこれらの数値を比較して、優位性を決定します。

  • 一方のエンティティーのコンパートメントセットに、他方のエンティティーのコンパートメントがすべて含まれる。

2 つのラベルの格付けが同じで、コンパートメントのセットも同じである場合、これらのラベルは「同等」であるとされます。ラベルが同等であれば、相互に優位となり、アクセスは許可されます。

一方のラベルのコンパートメントに他方のラベルのコンパートメントがすべて含まれ、このラベルの格付けが他方よりも高いか、両方のラベルの格付けが同等である場合、最初のラベルは他方のラベルより「完全に優位」であると言います。

どちらのラベルにも優位が付けられない場合、これらのラベルは無関係または比較不可能とみなされます。

次の表に、ラベルの優位の比較例を示します。この例では、NEED_TO_KNOW の格付けは INTERNAL よりも上位にあります。3 つのコンパートメントとして Eng、Mkt、および Fin があります。

表 6-1   ラベル関係の例
ラベル 1
関係
ラベル 2
NEED_TO_KNOW Eng Mkt
(完全に) 優位
INTERNAL Eng Mkt
NEED_TO_KNOW Eng Mkt
(完全に) 優位
NEED_TO_KNOW Eng
NEED_TO_KNOW Eng Mkt
(完全に) 優位
INTERNAL Eng
NEED_TO_KNOW Eng Mkt
優位 (または同等)
NEED_TO_KNOW Eng Mkt
NEED_TO_KNOW Eng Mkt
無関係
NEED_TO_KNOW Eng Fin
NEED_TO_KNOW Eng Mkt
無関係
NEED_TO_KNOW Fin
NEED_TO_KNOW Eng Mkt
無関係
INTERNAL Eng Mkt Fin
管理ラベル

Trusted Extensions には、ADMIN_HIGH と ADMIN_LOW の 2 つの特殊な管理ラベルがあり、ラベルまたは認可上限として使用されます。これらのラベルは、システムリソースを保護するために使用され、一般ユーザーではなく管理者用のラベルです。

ADMIN_HIGH は最大のラベルです。ADMIN_HIGH は、システム中のすべてのラベルに対して優位であり、管理データベースや監査証跡などのシステムデータが読み取られるのを防ぎます。ADMIN_HIGH ラベルが付いたデータを読み取るには、大域 ゾーンで操作する必要があります。

ADMIN_LOW は最小のラベルです。一般ユーザーのラベルも含め、システム内のその他すべてのラベルは、ADMIN_LOW に対して優位になります。必須アクセス制御では、ユーザーはユーザーのラベルよりも低いラベルのファイルにデータを書き込むことができません。したがって、一般ユーザーは ADMIN_LOW ラベルのファイルを読み取ることはできますが、修正することはできません。一般的に ADMIN_LOW は、/usr/bin のファイルなど、共有されているだれでも実行可能なファイルを保護するために使用されます。

ラベルエンコーディングファイル

    システムのラベルコンポーネント (格付け、コンパートメント、および関連規則) はすべて、ADMIN_HIGH ファイルの label_encodings ファイルに保存されます。元のファイルは、/etc/security/tsol ディレクトリにあります。Trusted Extensions が有効になると、このファイルの場所は labeld サービスのプロパティーとして格納されます。セキュリティー管理者は、サイトの label_encodings ファイルを構成します。ラベルエンコーディングファイルには、次の内容が含まれます。

  • コンポーネントの定義 – 格付け、コンパートメント、ラベル、および認可上限を、必要な組み合わせと制約の規則を含めて定義します

  • 認可範囲の定義 – システム全体と一般ユーザーが利用できるラベルのセットを定義する、認可上限と最小ラベルを指定します

  • 印刷の指定 – 印刷出力の印刷バナー、トレーラ、ヘッダー、フッター、およびその他のセキュリティー機能で使用される、識別情報と取り扱い情報です

  • カスタマイズ – ラベルのカラーコードなどのローカルな定義と、その他のデフォルトです

詳細は、label_encodings(4) のマニュアルページを参照してください。詳しい情報は、Trusted Extensions Label Administration Compartmented Mode Workstation Labeling: Encodings Format も参照してください。

ラベル範囲

「ラベル範囲」は、ユーザーが操作できる使用可能なラベルのセットです。ユーザーにもリソースにもラベル範囲があります。ラベル範囲で保護可能なリソースには、割り当て可能なデバイス、ネットワーク、インタフェース、フレームバッファー、コマンドなどが含まれます。ラベル範囲は、上限が認可上限によって、下限が最小ラベルによって定められます。

範囲は必ずしも、最大ラベルと最小ラベル間のすべてのラベルの組み合わせを含む必要はありません。label_encodings ファイルの規則で、特定の組み合わせを無効にできます。ラベルが範囲に含まれるためには、ラベルエンコーディングファイルの適用可能なすべての規則で許可される、「適格な形式」である必要があります。

ただし、認可上限は適格な形式である必要はありません。たとえば、label_encodings ファイルで、ラベルでコンパートメント EngMkt、および Fin の組み合わせが禁止されている場合を考えます。 INTERNAL Eng Mkt Fin は、有効な認可上限ですが、有効なラベルではありません。認可上限として、この組み合わせはユーザーが INTERNAL EngINTERNAL Mkt、および INTERNAL Fin のラベルのファイルにアクセスすることを許可します。

アカウントラベル範囲

ユーザーに認可上限と最小ラベルを割り当てると、ユーザーが操作の実行を許可される「アカウントラベル範囲」の上限と下限が決まります。次の式は、アカウントラベル範囲を表しています。≤ は、「前者より後者が優位であるか、両者が同等」であることを表します。

minimum-labelpermitted-labelclearance

ユーザーは、認可上限を超えず、最小ラベルよりも優位なラベルで操作が許可されます。ユーザーの認可上限または最小ラベルが明示的に設定されていない場合は、label_encodings ファイルで定義されたデフォルトが有効になります。

ユーザーが複数ラベルまたは単一ラベルで操作を実行できるよう、認可上限と最小ラベルを割り当てることができます。ユーザーの許可上限と最小ラベルが等しい場合、このユーザーは 1 つのラベルだけで操作できます。

セッション範囲

「セッション範囲」は、Trusted Extensions のセッション中にユーザーが利用可能なラベルのセットです。セッション範囲は、ユーザーのアカウントラベル範囲内であり、かつシステムに設定されたラベル範囲内である必要があります。ログイン時にユーザーがシングルラベルのセッションモードを選択する場合、セッション範囲はそのラベルに制限されます。ユーザーが複数ラベルのセッションモードを選択する場合、ユーザーによって選択されたラベルがセッションの認可上限になります。セッションの認可上限は、セッション範囲の上限を定義します。ユーザーの最小ラベルは、下限を定義します。ユーザーは、最小ラベルのワークスペースでセッションを開始します。ユーザーはセッション中に、セッション範囲内の別のラベルのワークスペースに切り替えることができます。

ラベルの保護対象とラベルの表示場所

ラベルは、デスクトップに表示されるほか、印刷出力など、デスクトップで実行される出力にも表示されます。

  • アプリケーション – アプリケーションはプロセスを開始します。これらのプロセスは、アプリケーションが起動されたワークスペースのラベルで動作します。ラベル付きゾーンのアプリケーションには、ファイルとしてゾーンのラベルでラベルが付けられます。

  • デバイス – デバイスを通過するデータは、デバイス割り当てとデバイスのラベル範囲で制御されます。デバイスを使用するユーザーは、デバイスのラベル範囲内にあり、デバイスを割り当てるために承認される必要があります。

  • ファイルシステムのマウントポイント – すべてのマウントポイントにはラベルが設定されます。ラベルは getlabel コマンドを使用して表示できます。

  • IPsec および IKE – IPsec のセキュリティーアソシエーションと IKE の規則にラベルが付けられます。

  • ネットワークインタフェース – IP アドレス (ホスト) には、ラベル範囲を記述するセキュリティーテンプレートが割り当てられます。ラベルなしホストにも、Trusted Extensions システムとの通信によってデフォルトラベルが割り当てられます。

  • プリンタと印刷 – プリンタにはラベル範囲があります。ラベルは本文ページに印刷されます。ラベル、取り扱い情報、およびその他のセキュリティー情報が、バナーとトレーラページに印刷されます。Trusted Extensions で印刷を構成するには、Chapter 19, ラベル付き印刷の管理およびTrusted Extensions Label Administration のLabels on Printed Outputを参照してください。

  • プロセス – プロセスはラベル付けされています。プロセスは、プロセスが開始されたワークスペースのラベルで動作します。プロセスのラベルは、plabel コマンドを使用して表示できます。

  • ユーザー – ユーザーはデフォルトラベルとラベルの範囲を割り当てられています。ユーザーのワークスペースのラベルは、ユーザーのプロセスのラベルを表します。

  • ウィンドウ – ラベルは、デスクトップのウィンドウ上部に表示されます。デスクトップのラベルは、色でも示されます。色は、Figure 6–1 に示したように、ワークスペースパネル上と、ウィンドウタイトルバーの上側に表示されます。

    ウィンドウが別のラベルのワークスペースに移動しても、このウィンドウは元のラベルを維持します。そのウィンドウから起動されたプロセスは、元のラベルで実行されます。

  • ゾーン – すべてのゾーンにはラベルがあります。ゾーンで所有されるファイルとディレクトリは、ゾーンのラベルになります。詳細は、getzonepath(1) のマニュアルページを参照してください。