Trusted Solaris 管理の概要

Trusted Solaris のルーティング

Trusted Solaris オペレーティング環境で、ホストが別々のネットワークにある場合、各ホストを結ぶ経路では、転送処理の段階ごとにセキュリティを維持する必要があります。

ブート時にルーティング情報を読み込む

Trusted Solaris ホストは、ブート時にルーティング情報を読み込み、データの転送に使用します。/etc/tsolgateways ファイルがある場合は、そこに定義されたゲートウェイがホストのデフォルト経路として使用されます。/etc/tsolgateways ファイルがない場合は、/etc/defaultrouter ファイルのデフォルト経路が使用されます。どちらのファイルも管理者が手動で管理します。どちらか一方のファイルがあれば、このホストは「静的ルーティング」を使用していることになります。

/etc/tsolgateways ファイルも /etc/defaultrouter ファイルもない場合は、ホストは「動的ルーティング」を使用し、特別なデーモンを起動する必要があります。in.rdisc(1M) (ネットワークルーター検出デーモン) が使用可能であれば、これを起動し、使用可能でなければ、in.routed(1M) (ネットワークルーティングデーモン) を起動します。ホストがゲートウェイの役目も果たす場合、つまり、ホストが複数のネットワークに接続されている場合は、in.rdiscin.routed の両方を起動します。

ブート時には、/etc/security/tsol/boot ディレクトリに常駐する tnrhdb ファイルと tnrhtp ファイルがカーネルに読み込まれ、ホストと NIS+ マスターとの通信を可能にします。ファイルのデフォルト値はトラステッドネットワークデーモン (tnd(1M)) が起動すると置換されます。デフォルトにより、/etc/security/tsol/boot/tnrhdb ファイルには、0.0.0.0:tsol というエントリが格納されています。これは、ネットワークが Trusted Solaris ネットワークであることを示しています。

Trusted Solaris 環境のルーティングテーブル

Trusted Solaris 環境では、2 台のホストを結ぶ最短かつセキュリティ保護された経路を見つけるためにルーティングを行っています。Trusted Solaris のルーティングテーブルは、拡張メトリック方式 (以下、emetric と呼びます) です。「emetric」は、ルーティングメトリックとセキュリティルーティング情報 (SRI) を組み合わせたもので、セキュリティの程度を計測します。SRI に組み込まれるセキュリティ属性には次のものがあります。

動的ルーティングを行う場合、ルーティングデーモン in.routed が Trusted Solaris 拡張ルーティング情報プロトコルを使用して、これらの情報を収集します。静的ルーティングを行う場合は、route コマンドを実行するか、/etc/tsolgateways/ または /etc/defaultrouter ファイルに手動で入力します。特定経路の emetric は、その経路が転送経路と見なされた場合、認可チェックに使用されます。

emetric は、ルーティングテーブル内の一部の経路にあるだけで十分です。emetric のない経路の場合、認可チェックには、最初に通過するゲートウェイのリモートホスト用テンプレートを使用します。

認可チェック

Trusted Solaris では、経路の適合性をセキュリティの観点から判断するため、「認可チェック」と呼ばれる一連の評価を行っています。これは、ソースホスト、宛先ホスト、経路の emetric 上で実施されます。経路の emetric が見つからない場合は、経路で最初に通過するゲートウェイのセキュリティ属性がチェックされます。ホストのセキュリティ属性は、tnrhdbtnrhtptnidb の各ファイルから収集されます。評価では、たとえば、データパケットの機密ラベルが、経路の各ホストの認可範囲内にあるかどうかがチェックされます。また、経路でゲートウェイとして使用しているホストが CIPSO、RIPSO、MSIX のいずれかである場合、Trusted Solaris ホストと IP オプションを使用しない TSIX ホストとの間で転送されたデータは許可されません。

ソースの認可チェック

ソースホストで実施される認可チェックの項目は次のとおりです。

ゲートウェイの認可チェック

Trusted Solaris のゲートウェイホストでは、次のような認可チェックが行われます。

次に通過するゲートウェイがラベルなしホストの場合は、パケットのデフォルトラベルが宛先ホストのデフォルトラベルと一致しなくてはなりません。

パケットに CIPSO オプションが使用されている場合は、次の転送条件が必要です。

パケットに RIPSO オプションが使用されている場合は、次の転送条件が必要です。

宛先の認可チェック

Trusted Solaris マシンがデータを受信する際、トラステッドネットワークソフトウェアによって次の項目がチェックされます。

データが上記の認可チェックに合格すると、システムは、データに必要なセキュリティ属性がすべて含まれているかどうかをチェックします。欠落した属性があった場合は、ソフトウェアによって (IP アドレスまたは欠落している属性名をキーワードにして) tnrhdb データベースのソースホストが検索され、そのホストに割り当てられているネットワークセキュリティテンプレートの名前が取得されます。次に、tnrhtp データベースから、そのテンプレートのセキュリティ属性のセットが取得されます。それでもまだ欠けているセキュリティ属性がある場合は、tnidb データベースのネットワークインタフェースが検索され、デフォルトのセキュリティ属性が取得されます。tnrhtp のデフォルト属性の方が tnidb の属性よりも優先されます。

ルーティングの例

次の図は、Trusted Solaris 環境のルーティングの例を示したものです。図 5-8 (a) はルーティングの図解、図 5-8 (b) はルーティングテーブルです。ホスト 1 とホスト 2 を結ぶ経路には、次の 3 種類が考えられます。

図 5-8 一般的な Trusted Solaris の経路とルーティングテーブル

Graphic

ルーティングコマンドの使用法

ルーティングテーブルの内容を表示するには、netstat コマンドに -R オプションを付けて実行します。ルーティングテーブルを手動で変更するには、route コマンドと add または delete オプションを使用します。次に、コマンドの使用例を示します。

% route add net 129.150.115.0 129.150.118.39 -m 
metric=2,min_sl=c,max_sl=ts,ripso_label="top_secret 
sci",ripso_error="genser;sci"add net 129.150.115.0: gateway 129.150.118.39

上の例では、IP アドレス 129.150.115.0 と 129.150.118.39 のホストのループを、距離メトリック: 2、SL 範囲: C から TS、RIPSO ラベル: top_secret sci、RIPSO エラー: genser;sci としてルーティングテーブルに追加しています。追加したループの結果を確認するには、次のように入力します。

% netstat -Rn
...
129.150.115.0        129.150.118.39        UG       0      0  
        metric=2,min_sl=C,max_sl=TS,ripso_label=0x3d 0x20000000 (top_secret sci)
,ripso_error=0xa0000000 (genser;sci)
...

追加した経路は上記のように表示されます。その他の経路は省略符号 (...) で置き換えられています。次の例は、2 つの新しい emetric を持つ経路の追加手続きと、追加後の新しいルーティングテーブルを表示しています。

% route add net 129.150.114.0 129.150.118.39 -m 
metric=3,min_sl=admin_low,max_sl=s,doi=3 -m 
metric=4,min_sl=c,max_sl=admin_high,doi=4,ripso_label="top_secret 
sci",ripso_error="genser;sci"
add net 129.150.114.0: gateway 129.150.118.39
% netstat -Rn
...
129.150.115.0        129.150.118.39        UG       0      0  
        metric=2,min_sl=C,max_sl=TS,ripso_label=0x3d 0x20000000 (top_secret sci)
,ripso_error=0xa0000000 (genser;sci)
129.150.114.0        129.150.118.39        UG       0      0  
        metric=4,min_sl=C,max_sl=ADMIN_HIGH,doi=4,ripso_label=0x3d 0x20000000 (t
op_secret sci),ripso_error=0xa0000000 (genser;sci)
        metric=3,min_sl=ADMIN_LOW,max_sl=S,doi=3
...

Trusted Solaris 以外のゲートウェイクラスタを介したルーティング

セキュリティ保護されたデータのルーティングは、Trusted Solaris 以外 (以下、非 Trusted Solaris と呼びます) のゲートウェイが接続されているクラスタを介して行うことができます。この手続きは「トンネリング」と呼ばれています。ここで言う「クラスタ」とは、Trusted Solaris のホストとゲートウェイだけが接続された構成、または、非 Trusted Solaris のホストとゲートウェイだけが接続された構成を指します。種類の違うクラスタ同士を接続するゲートウェイ (Trusted Solaris または非 Trusted Solaris ) を「エッジゲートウェイ」と呼びます。

次の図は、トンネリングの例を示したものです。影付きの長方形は、非 Trusted Solaris ゲートウェイを表しています。太線で結ばれたループ (環) がクラスタです。クラスタ 1 は非 Trusted Solaris クラスタで、クラスタ 2 は Trusted Solaris クラスタです。

図 5-9 トンネリングの例

Graphic

ホスト 1 からホスト 2 にデータを転送する際、非 Trusted Solaris クラスタであるクラスタ 1 と、Trusted Solaris クラスタであるクラスタ 2 を結ぶ経路が要求されます。このような経路は、次の 2 つの条件が満たされた場合に限り許可されます。