Oracle Solaris Trusted Extensions 管理の手順

第 12 章 トラステッドネットワーク (概要)

この章では、Trusted Extensions のトラステッドネットワークの概念とメカニズムを説明します。

トラステッドネットワーク

Trusted Extensions は、ゾーン、ホスト、およびネットワークにセキュリティー属性を割り当てます。これらの属性により、ネットワークで次のセキュリティー機能が実施されます。

Trusted Extensions では、ネットワークパケットは MAC によって保護されます。MAC に関する決定には、ラベルが使用されます。データには、機密度を表すラベルが明示的または暗黙的に付けられます。ラベルには、ID フィールド、格付け (「レベル」) フィールド、およびコンパートメント (「カテゴリ」) フィールドがあります。データは、認可検査に合格する必要があります。この検査は、ラベルが適格な形式であるかどうか、およびラベルが受信側ホストの認可範囲内にあるかどうかを確認します。受信側ホストの認可範囲内にある適格な形式のパケットは、アクセスが許可されます。

信頼されたシステム間で交換される IP パケットには、ラベルが付けられます。Trusted Extensions は Commercial IP Security Option (CIPSO) ラベルをサポートします。パケットの CIPSO ラベルは、IP パケットの分類、分離、および経路指定を行います。経路指定の決定では、データの機密ラベルが宛先のラベルと比較されます。

一般的にトラステッドネットワークでは、ラベルは送信側ホストによって生成され、受信側ホストによって処理されます。ただし、信頼されたルーターは、トラステッドネットワークでパケットを転送するときにラベルを追加したり取り除くことができます。機密ラベルは、転送の前に CIPSO ラベルにマップされます。CIPSO ラベルは IP パケットに埋め込まれます。通常、パケットの送信側と受信側は、同じラベルで操作を行います。

トラステッドネットワークソフトウェアは、サブジェクト (プロセス) とオブジェクト (データ) が別のホストに配置されている場合でも、Trusted Extensions のセキュリティーポリシーが実施されるようにします。Trusted Extensions ネットワークは、分散型アプリケーション全体で MAC を保存します。

Trusted Extensions のデータパケット

Trusted Extensions のデータパケットには、CIPSO ラベルオプションが含まれます。データパケットは、IPv4 または IPv6 ネットワークで送信できます。

標準の IPv4 形式では、オプションを指定した IPv4 ヘッダーのあとに TCP か UDP または SCTP ヘッダーが続き、そのあとに実際のデータが続きます。Trusted Extensions の IPv4 パケットは、セキュリティー属性として IP ヘッダーに CIPSO オプションを使用します。

この図については前の本文中で説明しています。

標準の IPv6 形式では、拡張した IPv6 ヘッダーのあとに TCP か UDP または SCTP ヘッダーが続き、そのあとに実際のデータが続きます。Trusted Extensions の IPv6 パケットでは、拡張されたヘッダー内にマルチレベルのセキュリティーオプションが含まれます。

この図については前の本文中で説明しています。

トラステッドネットワークの通信

Trusted Extensions は、トラステッドネットワークでラベル付きホストとラベルなしホストをサポートします。LDAP は、完全にサポートされるネームサービスです。さまざまなコマンドと GUI でネットワークを管理できます。

Trusted Extensions ソフトウェアを実行しているシステムは、Trusted Extensions ホストと次のタイプのシステムとのネットワーク通信をサポートします。

Solaris OS の場合と同様に、Trusted Extensions ネットワークの通信とサービスは、ネームサービスによって管理できます。Trusted Extensions は、Solaris のネットワークインタフェースに次のインタフェースを追加します。

Trusted Extensions のネットワーク構成データベース

Trusted Extensions は、カーネルに 3 つのネットワーク構成データベースをロードします。これらのデータベースは、データがホスト間で転送されるときの認可検査に使用されます。

Trusted Extensions では、Solaris 管理コンソールはこれらのデータベースを処理できるように拡張されています。詳しくは、「Solaris 管理コンソールツール」を参照してください。

Trusted Extensions のネットワークコマンド

Trusted Extensions は、トラステッドネットワークを管理するために、次のコマンドを追加します。

Trusted Extensions は、次の Solaris ネットワークコマンドにオプションを追加します。

トラステッドネットワークのセキュリティー属性

Trusted Extensions のネットワーク管理は、セキュリティーテンプレートに基づきます。セキュリティーテンプレートは、共通のプロトコルおよび同じセキュリティー属性を持つ一連のホストを記述します。

セキュリティー属性はテンプレートにより、システム (ホストとルーターの両方) に管理の目的で割り当てられます。セキュリティー管理者はテンプレートを管理し、これらをシステムに割り当てます。システムにテンプレートが割り当てられていない場合、このシステムとの通信は許可されません。

すべてのテンプレートには名前が付けられ、次の情報が含まれます。

ホストタイプとセキュリティー属性の詳細は、「Trusted Extensions のネットワークセキュリティー属性」を参照してください。

Trusted Extensions のネットワークセキュリティー属性

Trusted Extensions には、セキュリティーテンプレートのデフォルトのセットがインストールされています。ホストにテンプレートを割り当てると、テンプレートのセキュリティー値がホストに適用されます。Trusted Extensions では、ネットワーク上のラベルなしホストとラベル付きホストの両方に、テンプレートによってセキュリティー属性が割り当てられます。セキュリティーテンプレートが割り当てられていないホストとは通信できません。テンプレートは、ローカルに保存したり、Sun Java System Directory Server の LDAP ネームサービスに保存することができます。

テンプレートはホストに直接または間接的に割り当てることができます。直接割り当てでは、テンプレートを特定の IP アドレスに割り当てます。間接割り当てでは、ホストを含むネットワークアドレスにテンプレートを割り当てます。セキュリティーテンプレートがないホストは、Trusted Extensions が設定されたホストと通信できません。直接割り当てと間接割り当てについては、「トラステッドネットワーク代替機構」を参照してください。

テンプレートは、Solaris 管理コンソールの「セキュリティーテンプレート」ツールを使用して修正または作成することができます。「セキュリティーテンプレート」ツールは、テンプレートの必要なフィールドへの入力を実施します。どのフィールドが必要かは、ホストタイプに基づきます。

各ホストタイプには、必須および任意のセキュリティー属性の独自セットがあります。セキュリティーテンプレートで、次のセキュリティー属性を指定します。

セキュリティーテンプレートのホストタイプとテンプレート名

Trusted Extensions は、トラステッドネットワークデータベースで 2 種類のホストタイプをサポートし、2 つのデフォルトテンプレートを提供します。


注意 – 注意 –

admin_low テンプレートは、ラベルなしテンプレートをサイト固有のラベルで構築する例を提供します。Trusted Extensions のインストールには admin_low テンプレートが必要ですが、通常のシステム操作に対してセキュリティー設定が適切でない場合があります。システム保守やサポート上の理由により、提供されているテンプレートは変更を加えずそのまま保持してください。


セキュリティーテンプレートのデフォルトラベル

ラベルなしホストタイプのテンプレートでは、デフォルトラベルが指定されます。このラベルは、Solaris システムなど、ラベルを認識しないオペレーティングシステムを実行しているホストとの通信を制御するために使用します。割り当てられるデフォルトラベルは、ホストとそのユーザーに適切な信頼レベルを反映します。

ラベルなしホストとの通信は原則的にデフォルトラベルのみに限定されるため、これらのホストは「シングルラベルのホスト」とも呼ばれます。

セキュリティーテンプレートの解釈のドメイン

同じ DOI (解釈のドメイン) を使用する組織は、ラベル情報やその他のセキュリティー属性を同じ方法で解釈します。Trusted Extensions がラベルの比較を行う場合、DOI が同じであるかどうかが確認されます。

Trusted Extensions システムでは、1 つの DOI 値に対してラベルポリシーを適用します。Trusted Extensions システムのすべてのゾーンは、同じ DOI で動作する必要があります。Trusted Extensions システムでは、異なる DOI を使用するシステムから受信されるパケットに対する例外処理を用意していません。

サイトでデフォルト値と異なる DOI 値を使用する場合は、その値を /etc/system ファイルに追加し、各セキュリティーテンプレートの DOI 値を変更する必要があります。初期手順については、『Oracle Solaris Trusted Extensions 構成ガイド』「解釈ドメインの構成」を参照してください。各セキュリティーテンプレートで DOI を設定する場合は、例 13–1 を参照してください。

セキュリティーテンプレートのラベル範囲

「最小ラベル」および「最大ラベル」属性は、ラベル付きホストおよびラベルなしホストのラベル範囲を決定するために使用されます。これらの属性は、次の処理に使用されます。

セキュリティーテンプレートのセキュリティーラベルセット

セキュリティーラベルセットは、遠隔ホストでパケットを受信、転送、または送信できる不連続なラベルを、最大で 4 つ定義します。この属性は省略可能です。デフォルトでは、セキュリティーラベルセットは定義されていません。

トラステッドネットワーク代替機構

tnrhdb データベースは、セキュリティーテンプレートを特定のホストに直接または間接的に割り当てることができます。直接割り当てでは、テンプレートをホストの IP アドレスに割り当てます。間接割り当ては、代替機構で処理されます。トラステッドネットワークソフトウェアは、ホストの IP アドレスをテンプレートに割り当てる固有のエントリを最初に検索します。ホストに固有のエントリが見つからない場合、ソフトウェアは「最長接頭辞一致」で検索します。ホストの IP アドレスが、接頭辞を固定長にした IP アドレスの「最長接頭辞一致」を満たす場合は、ホストをセキュリティーテンプレートに間接的に割り当てることができます。

IPv4 では、サブネットを利用して間接割り当てが可能です。4、3、2、または 1 個の後続ゼロ (0) オクテットを使用して間接割り当てを行う場合、ソフトウェアは接頭辞の長さをそれぞれ 0、8、16、または 24 に計算します。表 12–1 のエントリ 3 - 6は、この代替機構を示します。

スラッシュと固定ビット数を追加して、接頭辞の長さを設定することもできます。IPv4 ネットワークアドレスの接頭辞長は、1 - 32 です。IPv6 ネットワークアドレスの接頭辞長は、1 - 128 です。

次の表に、代替アドレスとホストアドレスの例を示します。代替アドレスセットに含まれるアドレスが直接割り当てられる場合、そのアドレスに対して代替機構は使用されません。

表 12–1 tnrhdb ホストアドレスと代替機構のエントリ

IP バージョン 

tnrhdb エントリ

含まれるアドレス 

IPv4 


192.168.118.57:cipso

192.168.118.57/32:cipso

192.168.118.57

/32 は、接頭辞長が 32 ビットであることを示します。


192.168.118.128/26:cipso

192.168.118.0192.168.118.63


192.168.118.0:cipso

192.168.118.0/24:cipso

192.168.118. ネットワーク上のすべてのアドレス。


192.168.0.0/24:cipso

192.168.0. ネットワーク上のすべてのアドレス。


192.168.0.0:cipso

192.168.0.0/16:cipso

192.168. ネットワーク上のすべてのアドレス。


192.0.0.0:cipso

192.0.0.0/8:cipso

192. ネットワーク上のすべてのアドレス。


192.168.0.0/32:cipso

ネットワークアドレス 192.168.0.0。ワイルドカードアドレスではありません。


192.168.118.0/32:cipso

ネットワークアドレス 192.168.118.0。ワイルドカードアドレスではありません。


192.0.0.0/32:cipso

ネットワークアドレス 192.0.0.0。ワイルドカードアドレスではありません。


0.0.0.0/32:cipso

ホストアドレス 0.0.0.0。ワイルドカードアドレスではありません。


0.0.0.0:cipso

全ネットワーク上の全アドレス。 

IPv6 


2001\:DB8\:22\:5000\:\:21f7:cipso

2001:DB8:22:5000::21f7

2001\:DB8\:22\:5000\:\:0/52:cipso

2001:DB8:22:5000::02001:DB8:22:5fff:ffff:ffff:ffff:ffff


0\:\:0/0:cipso

全ネットワーク上の全アドレス。 

アドレス 0.0.0.0/32 は、アドレス 0.0.0.0 に一致することに注意してください。tnrhdb エントリ 0.0.0.0/32:admin_low は、リテラルアドレス 0.0.0.0 が発信元 IP アドレスとして使用されているシステムで便利です。たとえば、DHCP クライアントは、DHCP サーバーがクライアントに IP アドレスを割り当てるまでは、DHCP サーバーに 0.0.0.0 として接続します。

DHCP クライアントにサービスを提供する Sun Ray サーバー上で tnrhdb エントリを作成する方法については、例 13–13 を参照してください。0.0.0.0:admin_low はデフォルトのワイルドカードエントリであるため、このデフォルトを削除または変更する前に、「トラステッドネットワーク上で接続できるホストを制限する」の留意事項を参照してください。

IPv4 および IPv6 アドレスの接頭辞長については、『System Administration Guide: IP Services』「Designing Your CIDR IPv4 Addressing Scheme」『System Administration Guide: IP Services』「IPv6 Addressing Overview」を参照してください。

Trusted Extensions の経路指定の概要

Trusted Extensions では、異なるネットワーク上にあるホスト間の送信経路は、伝送の各ステップでセキュリティーを維持する必要があります。Trusted Extensions は、Solaris OS の経路制御プロトコルに拡張セキュリティー属性を追加します。Solaris OS と異なり、この Trusted Extensions のリリースは動的な経路指定をサポートしません。静的な経路指定の詳細は、route(1M) のマニュアルページの -p オプションを参照してください。

ゲートウェイとルーターはパケットを経路指定します。この説明では、「ゲートウェイ」と「ルーター」の 2 つの用語を同じ意味で使用しています。

同じサブネット上のホスト間の通信では、ルーターが必要ないため、認可検査は終端のみで実行されます。ラベル範囲検査は発信元で実行されます。受信側ホストが Trusted Extensions ソフトウェアを実行している場合は、宛先でもラベル範囲検査が実行されます。

発信元ホストと宛先ホストが別のサブネット上にある場合、パケットは発信元ホストからゲートウェイに送信されます。経路を選択するときに、宛先のラベル範囲と 1 ホップ目のゲートウェイのラベル範囲が発信元で検査されます。ゲートウェイは、宛先ホストが接続されたネットワークにパケットを転送します。宛先に届くまでに、パケットが複数のゲートウェイを通過する場合もあります。

経路指定に関する背景

Trusted Extensions ゲートウェイでは、特定の場合にラベル範囲検査が実行されます。Trusted Extensions システムが 2 つのラベルなしホスト間でパケットを経路指定している場合、発信元ホストのデフォルトラベルと宛先ホストのデフォルトラベルが比較されます。ラベルなしホストがデフォルトラベルを共有している場合は、パケットが経路指定されます。

各ゲートウェイは、すべての宛先への経路をリストで維持します。標準の Solaris の経路指定では、最適となる経路が選択されます。Trusted Extensions は、経路の選択に適用されるセキュリティー要件を検査するための追加ソフトウェアを提供します。セキュリティー要件を満たさない Solaris の選択はスキップされます。

Trusted Extensions の経路指定テーブルエントリ

Trusted Extensions の経路指定テーブルのエントリには、セキュリティー属性を組み込むことができます。セキュリティー属性には、cipso キーワードを含めることができます。セキュリティー属性には、最大ラベル、最小ラベル、および DOI を含める必要があります。

セキュリティー属性を指定しないエントリには、ゲートウェイのセキュリティーテンプレートの属性が使用されます。

Trusted Extensions の認可検査

Trusted Extensions ソフトウェアは、セキュリティーの見地から、送信経路の適切さを判定します。ソフトウェアは「認可検査」と呼ばれる一連のテストを、発信元ホスト、宛先ホスト、および中間ゲートウェイで実行します。


注 –

次の説明では、ラベル範囲の認可検査はセキュリティーラベルセットの検査も意味します。


認可検査では、ラベル範囲と CIPSO ラベル情報が確認されます。経路のセキュリティー属性は、経路指定テーブルのエントリから取得されるか、エントリにセキュリティー属性がない場合はゲートウェイのセキュリティーテンプレートから取得されます。

通信の着信時には、Trusted Extensions ソフトウェアは可能であればパケット自体からラベルを取得します。パケットからのラベルの取得は、ラベルをサポートするシステムからメッセージが送信されている場合にのみ可能です。パケットからラベルを取得できない場合は、トラステッドネットワークデータベースファイルからデフォルトラベルがメッセージに割り当てられます。これらのラベルは認可検査時にも使用されます。Trusted Extensions は、発信メッセージ、転送メッセージ、および着信メッセージに対して複数の検査を実施します。

発信元の認可検査

送信側プロセスまたは送信側ゾーンで、次の認可検査が実行されます。


注 –

最初のホップ検査は、メッセージが任意のネットワーク上のホストからゲートウェイを経由して別のネットワーク上のホストに送信されているときに行われます。


ゲートウェイの認可検査

Trusted Extensions ゲートウェイシステムでは、次のホップのゲートウェイに対して認可検査が実行されます。

宛先の認可検査

Trusted Extensions ホストがデータを受信するときに、ソフトウェアは次の検査を実行します。

Trusted Extensions での経路指定の管理

Trusted Extensions は、ネットワーク間通信の経路指定を、複数の方法でサポートしています。セキュリティー管理者役割は、サイトのセキュリティーポリシーで要求されるセキュリティーレベルを実施できる経路を設定できます。

たとえば、サイトではローカルネットワークの外部の通信をシングルラベルに制限できます。このラベルは、公開情報に適用します。UNCLASSIFIEDPUBLIC などのラベルで公開情報を表すことができます。制限を実施するために、これらのサイトはシングルラベルテンプレートを外部ネットワークに接続されたネットワークインタフェースに割り当てます。TCP/IP と経路指定の詳細は、次のマニュアルを参照してください。

Trusted Extensions でのルーターの選択

Trusted Extensions ホストは、信頼度のもっとも高いルーターとして動作します。ほかの種類のルーターは、Trusted Extensions のセキュリティー属性を認識するとは限りません。管理アクションを行わないと、MAC セキュリティー保護を提供しないルーターを経由してパケットが送信される可能性があります。

トラステッド経路指定をサポートするために、Trusted Extensions セキュリティー属性を含むように Solaris 10 経路指定テーブルが拡張されます。属性については、「Trusted Extensions の経路指定テーブルエントリ」を参照してください。Trusted Extensions では、経路指定テーブルのエントリを管理者が手動で作成する、静的経路指定がサポートされます。詳しくは、route(1M) のマニュアルページの -p オプションを参照してください。

経路指定ソフトウェアは、経路指定テーブルで宛先ホストへの送信経路を探します。ホストが明示的に定義されていない場合、経路指定ソフトウェアは、ホストが配置されているサブネットワークのエントリを探します。ホストと、ホストが配置されているネットワークのどちらも定義されていない場合、デフォルトゲートウェイが定義されていれば、ホストはデフォルトゲートウェイにパケットを送信します。複数のデフォルトゲートウェイを定義可能で、それぞれが同等に扱われます。

このリリースの Trusted Extensions では、セキュリティー管理者は経路を手動で設定し、条件が変更されたときに手動で経路指定テーブルを変更します。たとえば、多くのサイトは外部との通信を単一のゲートウェイで行なっています。この場合、ネットワーク上の各ホストで、単一のゲートウェイを「デフォルト」として静的に定義することができます。動的な経路指定のサポートは、Trusted Extensions の今後のリリースで利用できるようになる可能性があります。

Trusted Extensions のゲートウェイ

Trusted Extensions の経路指定の例は次のとおりです。図と表では、ホスト 1 とホスト 2 の間で可能な 3 つの送信経路を示しています。

図 12–1 一般的な Trusted Extensions 経路と経路指定テーブルのエントリ

図には、ラベルのない経路が示されています。

経路 

最初のホップのゲートウェイ 

最小ラベル 

最大ラベル 

DOI 

#1 

ゲートウェイ 1 

CONFIDENTIAL

SECRET

#2 

ゲートウェイ 3 

ADMIN_LOW

ADMIN_HIGH

#3 

ゲートウェイ 5 

 

 

 

Trusted Extensions の経路指定コマンド

ラベルやソケットの拡張されたセキュリティー属性を表示するために、Trusted Extensions では次の Solaris のネットワークコマンドが修正されています。

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

例については、「セキュリティー属性を使用して経路を構成する」を参照してください。