Trusted Solaris 管理の概要

特権

特権は、プロセスに与えられる権利です。特権があれば、Trusted Solaris で通常禁止されている操作を実行することができます。たとえば、通常は、適切なファイルアクセス権のないプロセスはデータファイルを開くことができません。けれども Trusted Solaris 環境では、file_dac_read 特権によって、UNIX のファイルアクセス権を無視する権限がプロセスに与えられるため、ファイルアクセス権がなくてもファイルを読み取ることができるようになります。

Trusted Solaris は、アプリケーションの実行可能ファイルに割り当てられた特権と、アプリケーションのプロセスまたは親プロセスに対応付けられた特権に基づいて、プロセスが実行できる特権を判定します。アプリケーションで特権を使用できるようにするには、次の 2 つ以上の特権セットにアプリケーションを割り当てます。どれに割り当てるかは、アプリケーションをどのようにユーザーに許可するかによって異なります。

プロセスが特権を取得する方法

プロセスが特権を使うためには、次の条件が満たされている必要があります。

Trusted Solaris のデフォルトの特権

Trusted Solaris には、80 以上の特権が用意されています。この特権をアプリケーションに適用すると、セキュリティポリシーを無効にすることができます。すべての特権を記載したリストについては、priv_desc(4) のマニュアルページを参照してください。特権は、次の表に示すカテゴリに分類されます。

表 1-6 特権カテゴリ

特権カテゴリ 

用途 

カテゴリに該当する特権の例 

ファイルシステムセキュリティ

ユーザー ID、グループ ID に対するファイルシステムの制約、アクセス権、ラベル付け、所有権、ファイルの特権セットを無効にする 

file_dac_chown - プロセスにファイル所有者のユーザー ID の変更を許可する

システム V プロセス間通信 (IPC) セキュリティ

メッセージ待ち行列、セマフォセット、共用メモリ領域の制約を無効にする 

ipc_dac_read - アクセス権ビットまたは ACL でプロセス読み取りが許可されていないプロセスに、System V IPC メッセージ待ち行列、セマフォセット、共用メモリ領域などのプロセス読み取りを許可する

ネットワークセキュリティ

予約ポートの割り当てやマルチレベルポートへの関連付け、ブロードキャストメッセージの送信、セキュリティ属性 (ラベル、メッセージの特権、終端のデフォルト値など) の指定などに関する制約を無効にする 

net_broadcast - プロセスに特定のネットワーク上でのブロードキャストパケットの送信を許可する

プロセスセキュリティ

監査、ラベル付け、隠しチャネル遅延、所有権、認可上限、ユーザー ID、グループ ID などに関する制約を無効にする 

proc_mac_read - 相手のプロセスの機密ラベルよりも優位でない機密ラベルを持つプロセスに、相手のプロセスの読み取りを許可する

システムセキュリティ

監査、ワークステーションのブート、ワークステーションの構成管理、コンソールの出力先変更、デバイス管理、ファイルシステム、複数ディレクトリへのハードリンクの作成、メッセージ待ち行列サイズの拡大、プロセス数の増大、ワークステーションのネットワーク構成、他者の読み込み可能なモジュール、ラベル変換などに関する制約を無効にする 

sys_boot - プロセスに Trusted Solaris ワークステーションの停止またはリブートを許可する

ウィンドウセキュリティ

カラーマップ、ウィンドウに対する読み取りと書き込み、入力デバイス、ラベル付け、フォントパス、ウィンドウ間でのデータの移動、X サーバーのリソース管理、ダイレクトグラフィックスアクセス (DGA) の X プロトコル拡張機能などに関する制約を書き換える 

win_selection - プロセスが、選択アービトレータの介入なしでウィンドウ間のデータの移動を要求できるようにする

許容された特権と強制された特権の割り当て

ファイルマネージャを使用して、許容された特権と強制された特権を実行ファイルに割り当てます。実際には、すべての特権を許容セットに含めておき、アプリケーションで使用してはならない特権があれば、それだけを除外するのが一般的です。強制された特権は、通常、アプリケーションに不可欠な場合だけ使用します。許容されているだけで強制されていない特権は、プロセスの継承可能セットに含まれている場合に限り使用できます。

ファイルマネージャのポップアップメニューから「特権 (Privileges)」を選択すると、選択したアプリケーションアイコンの「特権 (Privileges)」ダイアログボックスが表示されます (次の図を参照)。「特権 (Privileges)」ダイアログボックスでは、実行可能ファイルのパス、所有者、グループ、ファイルタイプ (実行可能ファイルまたはスクリプトファイル) を確認したり、特権セットの種類 (許容された特権または強制された特権) を選択することができます。また、除外する特権セットに特権を追加したり、逆に削除するための 2 つのリストフィールドも表示されます。「説明 (Description)」フィールドには、選択した特権の説明が表示されます。右側の 3 つの選択制御ボタンを使用すると、特権グループ全体に対する操作を指定できます。

図 1-10 ファイルに特権を割り当てる

Graphic

継承可能な特権の割り当て

継承可能な特権は、プロファイルマネージャを使用して実行プロファイル中の CDE アクションとコマンドに割り当てます。プロファイル中のアプリケーションの継承可能セットに含まれる特権は、対応する実行可能ファイルの許容セットにも含まれていないと使用できません。この特権は、アプリケーションのプロセスによって、他の継承可能な特権 (許容されている場合のみ) とともに、アプリケーションが起動する子プロセスに渡されます。


注 -

同じアプリケーションを、別の継承可能セットを持つ別のプロファイルに割り当てることも可能です。


特権の可用性 (例)

次の表は、プロセスが特権を獲得する方法を、例を挙げて示したものです。この表では、あるアプリケーションを想定して、それに対する許容セット、強制セット、継承可能セットの例を示します。

表 1-7 アプリケーションに割り当てられた特権セット (例)

特権 

許容セット 

強制セット 

継承可能セット 

file_mac_write [許容されていないため使用不能]

 

 

○ 

file_upgrade_sl

 

 

○ 

win_dga [許容され強制されているため使用可能。継承可能な特権は重複]

○ 

○ 

○ 

win_fontpath

○ 

○ 

○ 

win_colormap

○ 

○ 

○ 

file_dac_search [許容され継承可能であるため使用可能]

○ 

 

○ 

file_dac_read

○ 

 

○ 

file_chown [強制されておらず継承不可能なため使用不能]

○ 

 

 

file_dac_execute

○ 

 

 

この例からは、次のことがわかります。