Trusted Solaris 開発ガイド

特権の必要な処理

着信メッセージから取得されるセキュリティ属性の読み取りに、特権は必要ありません。以下の節では、発信メッセージに使用される特権について説明します。

情報ラベルの浮上

メッセージの情報ラベルは、データを読み取るプロセスの有効セットに net_nofloat 特権がないかぎり、読み取りプロセスの情報ラベルと結合されて浮上します。

同じ機密ラベルで応答する

サーバープロセスは、その認可上限より優位でないあらゆる機密ラベルで、マルチレベルポート上のメッセージを受信できます。しかし、サーバー応答は、サーバープロセスの有効セットに net_reply_equal 特権がないかぎり、サーバープロセスの機密ラベルで行われます。net_reply_equal 特権がある場合は、応答は最後に受信したメッセージの機密ラベルで送信されます。シングルレベルポートとマルチレベルポートの詳細は、第 11 章「プロセス間通信」を参照してください。


注 -

受信プロセスが要求プロセスとは異なる機密ラベルまたは情報ラベルで応答する必要がある場合、net_reply_equal 特権を無効にしてください。 net_reply_equal を無効にすべき状況の例として、「TCP/IP サーバー」を参照してください。


機密ラベルの変更

シングルレベルのクライアントに応答するには、その子プロセスの機密ラベルを要求クライアントの機密ラベルと同等になるように変更するため、サーバープロセスの有効セットに proc_set_sl 特権が必要です。

セキュリティ属性情報の変更

発信メッセージまたは発信メッセージの通信終端のユーザー ID、グループ ID、機密ラベル、情報ラベル、プロセス認可上限、特権セキュリティ属性を変更するには、プロセスの有効セットに適切なネットワーク特権が必要です。

機密ラベル

送信プロセスは、有効セットに net_downgrade_sl 特権があれば、メッセージまたは通信終端の機密ラベルを、オブジェクトの既存の機密ラベルよりも優位でない新しい機密ラベルに設定できます。送信プロセスは、有効セットに net_upgrade_sl 特権があれば、メッセージまたは通信終端の機密ラベルを、オブジェクトの既存の機密ラベルより優位な新しい機密ラベルに設定できます。

情報ラベル

送信プロセスは、有効セットに net_downgrade_il 特権があれば、通信終端の情報ラベルを、オブジェクトの既存の情報ラベルよりも優位でない新しい情報ラベルに設定できます。

送信プロセスは、有効セットに net_upgrade_il 特権があれば、通信終端の情報ラベルを、オブジェクトの既存の情報ラベルより優位な新しい情報ラベルに設定できます。

システムにより、機密ラベルは必ず情報ラベルよりも優位になります。この制限を無効にする特権はありません。

プロセス認可上限

メッセージとともに送信される認可上限を変更するには、送信プロセスの有効セットに net_setclr 特権が必要です。

システムにより、認可上限は必ず機密ラベルよりも優位になります。この制限を無効にする特権はありません。

ユーザー ID とグループ ID

ユーザー ID やグループ ID を変更するには、送信プロセスの有効セットに net_setid 特権が必要です。

特権

メッセージとともに特権が送信されるように指定するには、送信プロセスの有効セットに net_setpriv 特権が必要です。指定される特権は、送信プロセスの許可セット内に存在していなければなりません。