Solaris Trusted Extensions 開発ガイド

トラステッド X ウィンドウシステムのセキュリティーポリシー

ウィンドウ、プロパティー、およびピックスマップオブジェクトには、ユーザー ID、クライアント ID、および機密ラベルがあります。グラフィックコンテキスト、フォント、およびカーソルには、クライアント ID のみがあります。クライアントと X ウィンドウサーバーとの接続には、ユーザー ID、X ウィンドウサーバー ID、および機密ラベルがあります。

ユーザー ID」は、オブジェクトを作成したクライアントの ID です。「クライアント ID」は、オブジェクトを作成するクライアントが接続される接続番号に関連します。

DAC ポリシーでは、オブジェクトを所有するクライアントはそのオブジェクトで操作を実行しなければなりません。クライアントのユーザー ID がオブジェクトの ID と等しい場合、クライアントはオブジェクトを所有します。接続要求の場合、クライアントのユーザー ID が X ウィンドウサーバーワークステーションの所有者のアクセス制御リスト (ACL) にある必要があります。あるいは、クライアントがトラステッドパス属性を表明する必要があります。

MAC ポリシーは、ウィンドウおよびピックスマップに関しては等位書き込み、ネーミングウィンドウに関しては等位読み取りです。MAC ポリシーは、プロパティーに関しては下位読み取りです。機密ラベルは、作成元クライアントの機密ラベルに設定されます。次は、それぞれのアクションの MAC ポリシーです。

ウィンドウは、クライアント間で共有される情報を含むプロパティーを持つことができます。ウィンドウプロパティーは、アプリケーションが実行されている機密ラベルで作成されるので、プロパティーデータへのアクセスはそれの機密ラベルによって分離されます。クライアントは、プロパティーを作成したり、ウィンドウ上のプロパティーにデータを格納したり、MAC および DAC の制限に従ってプロパティーからデータを取得したりできます。多インスタンス化されないプロパティーを指定するには、TrustedExtensionsPolicy ファイルを更新します。

TrustedExtensionsPolicy ファイルは、Xsun サーバーおよび Xorg サーバー用にサポートされます。

次の節でそれぞれのセキュリティーポリシーについて説明します。

ルートウィンドウ

ルートウィンドウは、ウィンドウ階層の最上位です。ルートウィンドウは、いずれのクライアントにも属さない公共オブジェクトですが、保護する必要があるデータを持ちます。ルートウィンドウの属性は ADMIN_LOW で保護されます。

クライアントウィンドウ

クライアントには、通常、ルートウィンドウから派生する少なくとも 1 つの最上位クライアントウィンドウと、その最上位ウィンドウ内で入れ子にされた追加ウィンドウがあります。クライアントの最上位ウィンドウから派生するすべてのウィンドウの機密ラベルは同じです。

優先指定/リダイレクトウィンドウ

メニューや特定のダイアログボックスなどの優先指定/リダイレクトウィンドウは、別のクライアントから離れた入力フォーカスを受け取ることはできません。そのため、入力フォーカスは誤った機密ラベルでファイルに入力を受け入れません。優先指定/リダイレクトウィンドウは、作成元クライアントによって所有され、ほかのクライアントによって別の機密ラベルでデータにアクセスするために使用できません。

キーボード、ポインタ、サーバー制御

クライアントは、キーボード、ポインタ、およびサーバーを制御するために MAC および DAC を必要とします。フォーカスをリセットするには、クライアントはフォーカスを所有するか、実効セットに win_devices 特権を必要とします。

ポインタを移動するには、クライアントはポインタ制御、および宛先ウィンドウに対する MAC と DAC が必要です。明示的なユーザーアクションを含むイベントに関して、X および Y 座標情報が取得されます。

選択マネージャー

選択マネージャーアプリケーションは、信頼できないウィンドウ間をデータが転送されるカット&ペースト、ドラッグ&ドロップなど、ユーザーレベルのウィンドウ間データ移動を仲介します。転送が試みられると、選択マネージャーは転送をキャプチャーし、制御ユーザーの承認を確認し、ユーザーに確認とラベル付け情報を要求します。ユーザーがデータ移動を試みると常に、選択マネージャーが自動的に表示されます。選択マネージャーが表示されるようにアプリケーションコードを更新する必要はありません。

管理者は、一部の転送タイプに対して自動確認を設定できます。その場合、選択マネージャーは表示されません。転送が MAC および DAC ポリシーに一致する場合、データ転送は完了します。ファイルマネージャーおよびウィンドウマネージャーは、それぞれの専用ドロップ領域の選択エージェントとしても動作します。多インスタンス化される選択ターゲットを指定するには、/usr/openwin/server/etc/TrustedExtensionsPolicy ファイルを参照してください。自動的に確認される選択ターゲットを決定するには、/usr/dt/config/sel_config ファイルを参照してください。

デフォルトのウィンドウリソース

クライアントによって作成されていないリソースは、ADMIN_LOW で保護されるデフォルトのリソースです。ADMIN_LOW で実行されるか、適切な特権を持って実行されるクライアントのみがデフォルトのリソースを変更できます。

ウィンドウリソースは次のとおりです。

ウィンドウ間のデータの移動

クライアントは、選択マネージャーと関係なくウィンドウ間でデータを移動するには、実効セットに win_selection 特権が必要です。「選択マネージャー」を参照してください。