ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Trusted Extensions 開発者ガイド Oracle Solaris 10 1/13 Information Library (日本語) |
1. Trusted Extensions API およびセキュリティーポリシー
Trusted X Window System のセキュリティー属性
Trusted Extensions X Window System API
Trusted X Window System インタフェースの使用
X ウィンドウサーバーワークステーションの所有者 ID の取得
9. Solaris Trusted Extensions ラベル API のための試験的な Java バインディング
ウィンドウ、プロパティー、およびピクセルマップの各オブジェクトには、ユーザー ID、クライアント ID、および機密ラベルがあります。グラフィックコンテキスト、フォント、およびカーソルには、クライアント ID のみがあります。クライアントと X ウィンドウサーバーとの接続には、ユーザー ID、X ウィンドウサーバー ID、および機密ラベルがあります。
「ユーザー ID」とは、オブジェクトを作成したクライアントの ID です。「クライアント ID」は、オブジェクトを作成するクライアントが接続される接続番号に関連します。
DAC ポリシーでは、オブジェクトを所有するクライアントがそのオブジェクトに対してなんらかの操作を実行する必要があります。クライアントのユーザー ID がオブジェクトの ID と等しい場合、クライアントはそのオブジェクトを所有しています。接続リクエストを出す場合は、クライアントのユーザー ID が X ウィンドウサーバーワークステーションの所有者のアクセス制御リスト (ACL) に含まれている必要があります。あるいは、クライアントがトラステッドパス属性を表明する必要があります。
MAC ポリシーは、ウィンドウおよびピックスマップに関しては同位書き込み、ネーミングウィンドウに関しては同位読み取りです。プロパティーに関しては MAC ポリシーは下位読み取りです。機密ラベルは、作成元クライアントの機密ラベルに設定されます。次に、これらのアクションの MAC ポリシーを示します。
変更、作成、削除 – クライアントの機密ラベルは、オブジェクトの機密ラベルと同等である必要があります。
名前付け、読み取り、取得 – クライアントの機密ラベルは、オブジェクトの機密ラベルより優位である必要があります。
接続リクエスト – クライアントの機密ラベルよりも X ウィンドウサーバーワークステーションの所有者のセッション認可上限の方が優位であるか、クライアントがトラステッドパス属性を表明する必要があります。
ウィンドウは、クライアントで共有される情報が含まれたプロパティーを所有できます。ウィンドウプロパティーはアプリケーションが実行されている機密ラベルで作成されるので、プロパティーデータへのアクセスはその機密ラベルによって区別されます。クライアントは、MAC および DAC の制限に従って、プロパティーを作成したり、ウィンドウのプロパティーにデータを格納したり、プロパティーからデータを取得したりできます。多インスタンス化されていないプロパティーを指定するには、TrustedExtensionsPolicy ファイルを更新します。
TrustedExtensionsPolicy ファイルは、Xsun サーバーおよび Xorg サーバーでサポートされています。
SPARC: Xsun では、このファイルは /usr/openwin/server/etc 内にあります。
x86: Xorg では、このファイルは /usr/X11/lib/X11/xserver 内にあります。
これらのセクションでは、次に対するセキュリティーポリシーについて説明します。
ルートウィンドウ
クライアントウィンドウ
オーバーライド/リダイレクトウィンドウ
キーボード、ポインタ、サーバー制御
選択マネージャー
デフォルトのウィンドウリソース
ウィンドウ間のデータ移動
ルートウィンドウは、ウィンドウ階層の最上位にあります。ルートウィンドウはどのクライアントにも属さない公開オブジェクトですが、保護する必要があるデータが含まれています。ルートウィンドウの属性は 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 で動作しているか、適切な特権を持つクライアントに限られます。
ウィンドウリソースは次のとおりです。
ルートウィンドウの属性 – すべてのクライアントに読み取りアクセスと作成アクセスがありますが、書き込みアクセスまたは変更アクセスがあるのは特権クライアントのみです。「特権操作と Trusted X Window System」を参照してください。
デフォルトカーソル – クライアントは、プロトコルリクエストでデフォルトカーソルを自由に参照できます。
定義済みアトム – TrustedExtensionsPolicy ファイルには定義済みアトムの読み取り専用リストが含まれています。
クライアントが選択マネージャーを介さずにウィンドウ間でデータを移動するには、その実効セットに win_selection 特権が含まれている必要があります。「選択マネージャー」を参照してください。