Trusted Solaris 管理の概要

第 5 章 トラステッドネットワークの管理

この章では、Trusted Solaris 環境でのネットワーキングについて説明します。SunOS CMW のネットワークサブシステムは、Solaris 7 TCP/IP ネットワークの機能を拡張したものであり、これによって、ネットワーク上のワークステーション間の通信が、信頼できる形で実現されます。また、ネットワークサブシステムによって、システムのセキュリティポリシー (MAC、情報ラベルの移動など) がネットワークのアプリケーション上でも確実に保護されます。各サイトのネットワークに必要な管理と保護の程度は、そのネットワークが同機種システム構成か異機種システム混在構成かによって異なります。


注 -

デフォルト構成では、セキュリティ管理者がネットワークセキュリティを管理することになっています。


Trusted Solaris ネットワークの概要

この節では、ネットワークに関する次のトピックについて説明します。

同機種システムネットワーク

同機種システムネットワークは、管理と保護がもっとも簡単な構成です。同機種システムネットワーク構成では、すべてのワークステーションが Trusted Solaris 7 オペレーティング環境を使用し、同じセキュリティ属性セット (機密ラベル、情報ラベルなど) を持つ同じ NIS+ マスターサーバーを使用します。NIS+ マスターのサービスを受ける一般的な同機種システムネットワークは、次の図に示すような構成になります。同機種システムネットワークのホストは、同じセキュリティドメインに属するものとみなされます。

図 5-1 同機種システムネットワーク

Graphic

ワークステーションは、ネットワークインタフェースと呼ばれる物理コネクタでネットワークに接続されます。各ネットワークインタフェースの認可範囲は、最上位機密ラベルによって上限を、最下位機密ラベルによって下限を定義されています。インタフェースを介して送受信される情報の機密度は、この認可範囲によって制御されます。

異機種システム混在ネットワーク

Trusted Solaris ネットワークには、別のネットワークプロトコルを実行するホストも接続できます。異機種システム混在構成には、同機種システム構成よりも厳重な保護が必要になります。したがって、セキュリティポリシーで、異なるプロトコルのホストから受信するデータの処理方法を指定する必要があります。次の図は、一般的な異機種システム混在ネットワークと、Trusted Solaris ネットワークで通信可能なプロトコルを示しています。

図 5-2 異機種システム混在ネットワーク

Graphic

ホストタイプ

Trusted Solaris ワークステーションが、他の Trusted Solaris ワークステーションや別のデータプロトコルを使用するホストからデータを受け入れる方法を理解するには、標準 Solaris のデータパケットフォーマット (図 5-3 (a))と Trusted Solaris のフォーマット (図 5-3 (b)) とを比較してみるのが良いでしょう。

図 5-3 データパケットフォーマットの比較

Graphic

標準フォーマットは、3 つのヘッダーと、データ領域 1 つ、トレーラ 1 つで構成されています。Trusted Solaris フォーマットにも同じフィールドがありますが、特に次のような特長が備わっています。

Trusted Solaris では、ネットワーキングプロトコルに応じてホストの種類が分類されるため、データを正確に転送できます。ホストの種類は次のように分類されます。


注 -

tsix、msix、cipso、ripso の各ホストの種類は、Trusted Solaris 以外のトラステッドなオペレーティング環境を使用するホストとして分類されます。ラベルなしのホストの種類は、標準のネットワーキングプロトコルを使用し、セキュリティ属性を使用しないホストとして分類されます。


ネットワーク構成データベースを自分のサイトに合わせて構成するときは、すべてのホストに対し、ネットワーク上で通信可能なワークステーションを指定します。また、上記のホストの種類で分類されたデフォルトのセキュリティ属性値を使用してテンプレートを設定します。これについては次の節で説明します。

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

外部との通信を実現するには、ホスト情報、ネットワークインタフェース情報、デフォルトのセキュリティ属性情報を保持するためのデータベースを設定します。次の 3 種類のネットワーク構成データベースを使用することができます。

これらのデータベースはカーネルに読み込まれ、データがホストからホストに転送される際の認可チェックに使用されます。データベースの管理にはデータベースマネージャを使用します。Trusted Solaris では、NIS+ を使用して tnrhddb データベースと tnrhtp データベースを集中管理します。tnidb データベースだけは、各ホストで個別に管理されます。ネットワークデータベースを管理できるのは、セキュリティ管理者とスーパーユーザーだけです。データベースマネージャにアクセスするには、フロントパネルの CDE アプリケーションマネージャのアイコンをクリックします。データベースマネージャのアイコンは、「アプリケーション・マネージャ (Application Manager)」ウィンドウの「Solstice アプリケーション (Solstice_Apps)」フォルダアイコンから表示できます。「データベースマネージャ (Database Manager)」アイコンをクリックすると、「データベースマネージャ: 読み込み (Database Manager : Load)」ダイアログボックスが現れ、データベースを選択するためのスクロールリストが表示されます。

tnrhdb データベース

tnrhdb(4) データベースには、ネットワーク上のワークステーションと通信可能なすべてのホストのIP アドレスと、それらのホストに (tnrhtp から) 割り当てられたテンプレートが保持されます。また、代替機構の一部として、デフォルト値も保持されます (次の図を参照)。IP アドレスの右端のバイトに 0 を代入すると、これがワイルドカードとして機能し、0 以外のデフォルト部が一致する IP アドレスを持った、リストに表示されていないホストすべてを表します。ただし、代替機構はサブネットマスクには適用されません。

図 5-4 IP アドレスの代替機構

Graphic

データベースマネージャで tnrhdb データベースを選択して読み込むと、データベースマネージャのメインウィンドウに tnrhdb データベースの内容が表示され、リモートホストの IP アドレスと、そのホストとの通信に使用するテンプレートを確認できます。tnrhdb データベースを編集するためには、「編集 (Edit)」メニューから「追加 (Add)」を選択するか、IP アドレスを指定した後「変更 (Modify)」を選択して、適切なダイアログボックスを表示します。次の図に示すのは、データベースマネージャの「読み込み (Load)」ウィンドウ、tnrhdb データベースが表示されたメインウィンドウ、「編集 (Edit)」メニューから表示される 2 種類のダイアログボックスです。

図 5-5 tnrhdb データベース用のデータベースマネージャのウィンドウ

Graphic

tnrhtp データベース

tnrhtp(4) データベースには、ソースホストに割り当てるセキュリティ属性値を含むテンプレートが保持されます。同機種システムネットワークでは 1 種類のテンプレートしか必要ありませんが、異機種システムネットワークになると、ホストタイプに応じて別々のテンプレートが必要になります。テンプレートに含まれる属性は、着信データに属性が欠如している場合のデフォルト属性として使用されるほか、発信データの宛先情報も提供します。対応付けられるセキュリティ属性は、テンプレートに指定されたホストタイプに依存します。tnrhtp に保持されるセキュリティ属性には、次のものがあります。

テンプレートの ip_label フィールドが「cipso」に設定されている場合、または、リモートホストタイプが「cipso」である場合は、タグタイプ 1 が使用されます。リモートホストタイプが MSIX の場合は、タグタイプ 3 が使用されます。ただし、どの属性も特定のタイプのホストだけに適用されます。表 5-1 は、適用されるセキュリティ属性をホストタイプ別に示しています。

表 5-1 ホストタイプ別セキュリティ属性

ホストタイプ 

セキュリティ属性 

ラベルなし 

機密ラベル、情報ラベル、認可上限、UID、GID、強制された特権、監査 UID、監査マスク、監査端末 ID、監査セッション ID、(ゲートウェイホストの最下位 SL と最上位 SL) 

sun_tsol 

許容された特権、最下位 SL と最上位 SL、IP ラベル、RIPSO ラベル、RIPSO エラー、CIPSO DOI、監査 UID、監査マスク、監査端末 ID、監査セッション ID 

ripso 

機密ラベル、情報ラベル、認可上限、UID、GID、強制された特権、RIPSO ラベル、RIPSO エラー、監査 UID、監査マスク、監査端末 ID、監査セッション ID、(ゲートウェイホストの最下位 SL と最上位 SL) 

cipso 

認可上限、情報ラベル、UID、GID、強制された特権、最下位 SL と最上位 SL、CIPSO DOI、監査 UID、監査マスク、監査端末 ID、監査セッション ID 

tsix 

機密ラベル、情報ラベル、認可上限、UID、GID、許容された特権、強制された特権、最下位 SL と最上位 SL、IP ラベル、RIPSO ラベル、RIPSO エラー、CIPSO DOI、監査 UID、監査マスク、監査端末 ID、監査セッション ID 

msix 

機密ラベル、情報ラベル、認可上限、UID、GID、最下位 SL と最上位 SL、監査 UID、監査マスク、監査端末 ID、監査セッション ID 

データベースマネージャから tnrhtp データベースを選択して読み込むと、データベースマネージャのメインウィンドウに tnrhtp データベースの内容が表示され、各リモートホストのテンプレート名と、それに対応付けられたデフォルト属性値を確認できます。tnrhtp データベースを編集するためには、「編集 (Edit)」メニューから「追加 (Add)」を選択するか、テンプレートを指定してから「変更 (Modify)」を選択します。次の図に示すようなダイアログボックスが表示されます。

図 5-6 リモートホストテンプレートの追加時に表示されるデータベースマネージャのダイアログボックス (tnrhtp 用)

Graphic

ダイアログボックスは、次の 4 つの領域に分かれています。

tnidb データベース

tnidb(4) データベースは、各ホストのローカルデータベースです。ここには、ホストのネットワークインタフェースとその認可範囲、機密ラベル、認可上限、実効 UID (実効 GID)、強制された特権の各デフォルト値が保持されます。ただし、tnidb の値よりtnrhtp のデフォルト値の方が優先されます。

データベースマネージャから tnidb データベースを選択して読み込むと、データベースマネージャのメインウィンドウに tnidb データベースの内容が表示され、ネットワークインタフェース、そのインタフェースの認可範囲、対応するデフォルトのセキュリティ属性を確認できます。tnidb データベースを編集するには、「編集 (Edit)」メニューの「追加 (Add)」を選択するか、ネットワークインタフェースを指定した後「変更 (Modify)」を選択して、それぞれのダイアログボックスを表示します。次の図は、tnidb データベースのメインウィンドウと「追加 (Add)」ダイアログボックスを示しています。「最下位 SL (Minimum SL)」ボタンと「最上位 SL (Maximum SL)」ボタンは認可範囲の定義に使用され、クリックするとラベルビルダーのダイアログボックスが表示されます。「機密ラベル (Sensitivity Label)」ボタン、「認可上限 (Clearance)」ボタンからも、ラベルビルダーが表示されます。「強制された特権 (Forced Privileges)」ボタンをクリックすると、特権を選択するダイアログボックスが表示されます。「ユーザー ID (User ID)」フィールド、「グループ ID (Group ID)」フィールドには、そのネットワークインタフェースに適用するデフォルトの ID を指定します。

図 5-7 ネットワークインタフェース情報の追加時に表示されるデータベースマネージャのメインウィンドウと「追加 (Add)」ダイアログボックス (tnidb 用)

Graphic

関連サブシステム

Trusted Solaris 2.5.1 のトラステッド NFS 機能により、Trusted Solaris ホストと異種ホスト間でのマウントが可能になりました。転送されたデータは MAC と DAC によって保護され、欠落したセキュリティ属性がある場合は、tnrhtp データベースや tnidb データベースから取得することができます。詳細は、「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 つの条件が満たされた場合に限り許可されます。

Solaris ネットワークコマンドとの相違点

この項で説明する次のネットワークコマンドは、Solaris の基本コマンドを Trusted Solaris 環境の操作向けに変更したものです。

arp

arp(1M) コマンドを使用すると、アドレス解決プロトコルに使用されるインターネットと Ethernet 間での変換テーブルを表示、変更できます。Trusted Solaris 版の arp コマンドにオプション -d-s または -f を付けて実行するには、sys_net_config 特権の継承が必要です。-a オプションを使用する場合は、実効 UID を 0 に指定し ADMIN_HIGH で実行する必要があります。ただし、この制約は、file_mac_read 特権、file_dac_read 特権によって無効にできます。

ifconfig

ifconfig(1M) コマンドを使用すると、ネットワークパラメータを構成し、ネットワークインタフェースにアドレスを割り当てることができます。Trusted Solaris 版の ifconfig コマンドには、sys_net_config 特権が必要です。etherauto-revarpplumb の各オプションを使用するには、スーパーユーザーだけが読み取ることのできる ADMIN_HIGH のネットワークデバイスを開く必要があります。これらのオプションは、実効 UID が 0 に指定された ADMIN_HIGH で使用できます。また、file_dac_read 特権、file_mac_read 特権で無効にすることもできます。

ndd

ndd(1M) コマンドの -set オプションを使用してドライバパラメータを設定するには、sys_net_config 特権の継承が必要です。

netstat

netstat(1M) コマンドは、ネットワーク関連のデータ構造 (ソケット、ルーティングテーブルなどの構造) の内容を、さまざまな形式で表示します。異なるネットワークに接続されたホストと通信する際は、netstat -rn と入力し、ゲートウェイが構成されていることを確認します。Trusted Solaris 版の netstat コマンドを使用して、カーネル情報およびネットワーク構成情報にアクセスするには、機密ラベルが ADMIN_HIGH でなくてはなりません。この制約は、file_mac_read 特権で無効にできます。

-R オプションを使用すると、セキュリティ情報のほかに、動的ルーティングテーブルに含まれる各経路のメトリック情報も表示できます。ただし、これには net_rawaccess 特権が必要です。このオプションの使用例については、「ルーティングコマンドの使用法」を参照してください。

rdate

rdate(1M) コマンドを正しく実行するには、sys_config 特権が必要です。

route

route(1M) コマンドを使用して、emetric (セキュリティ情報) の追加、削除などのネットワークルーティングテーブルの操作ができます。Trusted Solaris 版の route コマンドを正しく実行するには、sys_net_config 特権の継承が必要です。Trusted Solaris 環境の route コマンドには、次の 3 つのオプションがあります。

IP デバイスを開いて経路を追加または削除できるようにするには、sys_net_config 特権の継承が必要です。また、ADMIN_HIGH の機密ラベルで、実効 UID を 0 にするか、sys グループに指定して実行しなくてはなりません。MAC ポリシーの条件である ADMIN_HIGH の制約は、file_mac_read 特権で無効にできます。DAC の条件である UID 0 または sys グループの制約は、file_dac_read 特権で無効にできます。詳細は、「Trusted Solaris のルーティング」を参照してください。

snoop

snoop(1M) コマンドは、ネットワークからパケットを取り込み、その内容を表示します。ネットワークデバイスを開くときは、Trusted Solaris 版の snoop コマンドを機密ラベル ADMIN_HIGH で、実効 UID を 0 に指定して実行する必要があります。この 2 つの条件は、プロセスに file_mac_read 特権と file_dac_read 特権が指定されている場合は必要ありません。そのほか、snoop コマンドには、sys_net_config 特権の継承も必要になります。なお、-i オプションは、ネットワークデバイスではなくファイルを開くため、使用条件は異なります。

snoop コマンドを使用すると、パケットの SAMP セキュリティ属性と IP オプションも表示できます。

spray

spray(1M) コマンドは、RPC を使用して、指定されたホストに一方向ストリームのパケットを送信し、受信数と転送速度のレポートを出力します。ホストがブロードキャストアドレスの場合、コマンドを正しく実行するためには net_broadcast 特権の継承が必要です。

Trusted Solaris 特有のネットワークコマンド

この項で説明する次のネットワークコマンドは、Trusted Solaris 特有のものです。

tnd コマンド、tokmapd コマンドは、それぞれトラステッドネットワークデーモンとトークンマッピングデーモンを呼び出します。トークンマッピングデーモンは、TSIX ホストとの通信が必要な場合に使用します。tnctl コマンドは、ネットワーキング情報をカーネルのキャッシュに読み込みます。この情報は、tninfo コマンドでチェックすることができます。また、tnchkdb コマンドでネットワーク構成データベースの障害を検査し、tokmapctl コマンドで TSIX トークンマッピングの障害を追跡することができます。

tnchkdb

tnchkdb(1M) コマンドは、tnrhdbtnrhtptnidb の各データベースの形式に含まれるエラーをチェックします。データベースを変更または作成するたびにこのコマンドを実行します。

tnctl

tnctl(1M) コマンドを使用すると、Trusted Solaris ネットワークデーモンの制御パラメータを構成できます。このパラメータはデバッグ、カーネルインタフェースキャッシュの更新、カーネルリモートホストキャッシュの更新、カーネルテンプレートキャッシュの更新などに使用します。

tnctl コマンドは、トラステッドパスメニューから実行します。また、カーネルキャッシュを更新するには、sys_net_config 特権の継承が必要です。

tnd

tnd(1M) (トラステッドネットワークデーモン) コマンドは、トラステッドネットワークデータベースが読み込まれているカーネルを初期化したり、必要に応じてデータベースを再度読み込む際に使用します。トラステッドネットワークデーモンは、ブート処理のはじめに起動し、tnrhdbtnrhtptnidb データベースをカーネルに読み込みます。

tnd コマンドを実行するには、トラステッドパスメニューを使用し、net_privaddr、net_mac_read、sys_net_config の各特権を継承する必要があります。また、rc スクリプトから起動し、機密ラベル ADMIN_LOW で実行しなくてはなりません。

-d オプションを使用すると、tnd のデバッグ機能が有効になり、デバッグ情報をログファイルに記録できます。ネットワークのデバッグに使用されるデフォルトのログファイルは/var/tsol/tndlog です。このファイルには、デバッグメッセージごとに 1 レコードずつ格納されます。デバッグメッセージには、デバッグ情報と時間が記録されます。

デフォルトでは、デバッグ機能が有効になっていないと、tndlog ファイルが作成されません。tndlog ファイルは、tnd コマンドの -d オプションのほか、tnctl コマンドでも作成できます。

tninfo

tninfo(1M) コマンドを使用すると、ホスト情報 (-h)、テンプレート情報 (-t)、カーネルレベルのネットワーク情報と統計 (-k) を印刷できます。カーネルにキャッシングされている情報が正しいかどうかをチェックするために使用します。tninfo コマンドは、機密ラベル ADMIN_HIGH で、実効 UID を 0 にして実行しなくてはなりません。こうした制約は、file_mac_read、sys_trans_label、file_dac_read の各特権で無効にできます。tninfo の実行可能ファイルは、機密ラベル ADMIN_LOW で管理します。ADMIN_LOW には、アクセス権ビット 555、所有者、スーパーユーザー、sys グループが指定されています。

# tninfo
==================
kernel statistics
==================
fails host accreditation: 1496
fails interface accreditation: 0
number of seccom structures allocated: 29020
deallocated but memory not yet reclaimed: 28885
memory reclaimed: 28885

tokmapd

tokmapd(1M) (トークンマッピングデーモン) コマンドは、SATMP トークンマッピングプロトコルを実装し、トラステッドネットワーク外に転送される情報のラベル付けを行います。情報には、属性値を示すトークンによってラベルが付けられます。tokmapd は、トークンと属性値対応付けを行うコマンドで、カーネルや他のホストのトークンマッピングサーバーからのトークンマッピング要求を受け入れます。デバッグ用のオプションも多数用意されています。

tokmapd コマンドは、トラステッドパスメニューから実行します。このとき、net_privaddr、proc_setclr、proc_setsl の各特権の継承と、機密ラベル ADMIN_HIGH が必要です。

tokmapctl

tokmapctl(1M) コマンドは、tokmapd の処理に制御要求と構成要求を送信するインタフェースの役目をします。このコマンドは、トラステッドパスから実行します。このとき、net_privaddr 特権と net_mac_read 特権の継承と、機密ラベル ADMIN_HIGH が必要です。

ネットワークの障害追跡

この節では、ネットワーク障害のデバッグに役立つ Trusted Solaris ツールとコマンドを紹介します。コマンドの詳細については、それぞれのマニュアルページのほか、『Trusted Solaris 管理の手順』の パート III の「ホストおよびネットワーク管理」を参照してください。Trusted Solaris 環境には、snoop(1M)、ipcs(1)、netstat(1M) などの標準のネットワークデバッグコマンドも用意されています。