Trusted Solaris 7 は、次に示すソケット型機構を使用して、通信終端上のプロセス間通信をサポートします。
マルチレベルポート
Berkeley ソケット
トランスポートレイヤーインタフェース (TLI)
トラステッド情報交換 (TSIX) ライブラリ
遠隔手続き呼び出し (RPC)
この節では、ソケット通信機構と関連するセキュリティポリシーの概要を述べます。セキュリティポリシーとアプリケーション特権の詳細は、該当するマニュアルページを参照してください。
Trusted Solaris 7 は、シングルレベルとマルチレベルのポートをサポートします。マルチレベルポートは任意の機密ラベルでデータを受信でき、シングルレベルポートは指定された機密ラベルでしかデータを受信できません。
シングルレベルポート - 通信チャネルは、特権を持たない 2 つのアプリケーション間で確立されます。通信終端の機密ラベルは等しくなければなりません。
マルチレベルポート - 通信チャネルは、有効セットに net_mac_read を持つ 1 つのアプリケーションと、複数の機密レベルで動作している特権を持たない 1 つのアプリケーション間で確立されます。プロセスの有効セットに net_mac_read を持つアプリケーションは、その機密ラベルやプロセス認可上限にかかわらず、他方のアプリケーションからすべてのデータを受信できます。マルチレベル通信チャネルは、すでにシングルレベル接続が存在する場合には確立できません。
Berkeley ソケットと TSIX ライブラリを使用してマルチレベルポート接続を確立する短いアプリケーション例は、第 13 章「トラステッドセキュリティ情報交換ライブラリ」の 「クライアントサーバーアプリケーション」を参照してください。
接続がマルチレベルの場合、そのアプリケーションがある機密レベルで接続を行い、別の機密レベルでデータの送受信を行うことがないように気を付けてください。このような設定は、承認のない宛先にデータが届く原因となります。
Trusted Solaris 7 は、シングルレベルポートとマルチレベルポート上で、Berkeley ソケットとトランスポートレイヤーインタフェース (TLI) を使用したネットワーク通信をサポートします。システムコールの UNIX アドレスファミリは、完全に解決されたパス名によって指定された特殊ファイルを使用して、同じホスト上にプロセス間接続を確立します。システムコールのインターネットアドレスファミリは、IP アドレスとポート番号を使用して、ネットワーク上のプロセス間接続を確立します。
PAF_DISKLESS_BOOT プロセス属性フラグは、ディスクレスブートサーバーをサポートします。このフラグがオンの場合、ネットワークパケットヘッダー内のセキュリティ属性情報は送信されません。プロセスの属性フラグの取得と設定は、第 2 章「プログラミングインタフェースの概要」を参照してください。
UNIX アドレスファミリのインタフェースでは、1 つのファイルに対し 1 つのサーバーバインド (結合) しか確立できません。マルチレベルポート接続を行う場合、サーバープロセスの有効セットに net_mac_read 特権が必要です。シングルレベルのポート接続が確立される場合には、サーバープロセスはソケットに対する必須同位読み取り権を必要とし、クライアントプロセスは必須同位書き込み権を必要とします。両プロセスとも、ファイルに対する必須アクセス権と任意アクセス権が必要です。ファイルに対するアクセスが拒否される場合、拒否されたプロセスは、有効セットに適切なファイル特権を入れてアクセス権を取得する必要があります。
サーバープロセスは、同じ MLD 内の複数の SLD にある同じ名前のファイルを使用して、複数のシングルレベルバインドを確立できます。この方法は、マルチレベルポート接続と異なり、並列のシングルレベルポート接続 (多重インスタンス化されたポート) を設定し、指定されたシングルレベルディレクトリに対する任意アクセスまたは必須アクセスが拒否されないかぎり特権を必要としません。第 8 章「マルチレベルディレクトリ」を参照してください。
インターネットアドレスファミリでは、プロセスは、特権を持つポート番号または特権のないポート番号に対する、シングルラベルまたはマルチラベルの接続を確立できます。特権を持つポート番号にマルチレベルポート接続を行う場合には、net_mac_read 特権のほかに net_priv_addr 特権が必要です。
トラステッドセキュリティ情報交換 (TSIX) ライブラリには、着信メッセージのセキュリティ属性を受け取るインタフェースや、発信メッセージのセキュリティ属性を変更するインタフェースが用意されています。メッセージには、本来、その発信プロセスのセキュリティ属性情報が付いています。TSIX ライブラリを使用すると、メッセージのセキュリティ属性を直接変更することも、メッセージが送信される通信終端上でセキュリティ属性を変更することも、あるいはこの両方を実施することもできます。プログラミングインタフェースと関連する特権の詳細は、第 13 章「トラステッドセキュリティ情報交換ライブラリ」を参照してください。
Trusted Solaris 7 の遠隔手続き呼び出し (RPC) 機構は、Berkeley インターネットソケットとトラステッドセキュリティ情報交換 (TSIX) ライブラリで構築されます。RPC 機構は、トランスポートレイヤーインタフェース (TLI) をサポートします。RPC を使用すると、クライアントプロセスに代わってサーバープロセス側で手続きを呼び出し、メッセージのセキュリティ属性情報を処理できます。RPC プログラミングインタフェースと関連する特権の詳細は、第 14 章「遠隔手続き呼び出し」を参照してください。