Go to main content

マニュアルページ セクション 7: 標準、環境、マクロ、文字セット、その他

印刷ビューの終了

更新: 2022年7月27日
 
 

clearance(7)

名前

clearance - Solaris プロセスのラベル属性

説明

Clearance は、必須ポリシーの決定で使用されるプロセス属性です。ラベル付きオブジェクトへのアクセス時に、プロセスの認可上限は、オブジェクトのラベルより優位である必要があります。認可上限とオブジェクトラベルの両方は、格付け名に対応する整数コンポーネントと、コンパートメント名に対応するビットマスクで構成されます。認可上限は、その格付けがオブジェクトのラベル以上であり、そのコンパートメントビットにオブジェクトのラベル内のコンパートメントビットがすべて含まれている場合に、オブジェクトのラベルより優位です。同一のラベルは互いに優位です。各ラベルに少なくとも 1 つの一意のコンパートメントビットがある場合、どちらも優位ではないため、その関係は無関係です。

分類名とコンパートメント名の関係は、labelcfg(8) を使用して指定されます。ラベルの階層および無関係のセットを作成するために、さまざまな制約を定義できます。ラベルの仕様は、内部表現と外部表現の間でラベルを変換する svc:/system/labeld:clearance サービスによって内部形式にコンパイルされます。ラベルは、比較する前に m_label_t 構造に変換する必要があります。変換機能については、libtsol(3LIB) で説明します。

プロセス認可上限は、カーネルの資格構造に保持されます。デフォルトでは、プロセスには、その他すべてのラベルより優位である最大値 ADMIN_HIGH が割り当てられます。プロセス認可上限は下げることはできますが、上げることはできません。ユーザーは、sandbox コマンドを使用して、低い認可上限でプロセスを開始できます。デフォルトでは、認可上限は、その他すべてのラベルの方が優位である ADMIN_LOW に下げられます。下げたあと、新しい認可上限が子プロセスによって継承されます。The setclearance(3TSOL) function can be used to lower the current process clearance programmatically.この関数では特権は必要ありません。ただし、すべての特権を持つ場合でも、プロセス認可上限を上げるためには使用できません。

Administrative Interfaces

プロセス認可上限を設定するには、4 つの管理インタフェースがあります。

  1. ユーザーと役割のデフォルトの認可上限は、labelcfg(8) の認可上限プロパティーによって指定されます。このプロパティーは最初は ADMIN_HIGH に設定されるため、ユーザーはどのラベル付けポリシーによっても制約されません。ラベルポリシーの構成時には、明示的なデフォルトの認可上限を設定することが前提条件となります。

  2. 特定のユーザーと役割の認可上限は、useradd(8) または roleadd(8) を使用して認可上限プロパティーによって設定され、user_attr(5) で管理されます。

  3. SMF サービスインスタンスの認可上限は svccfg(8) を使用して method_context/clearance property によって指定されます。指定しない場合、認可上限のデフォルトは、policy.conf(5)CLEARANCE プロパティーで指定された値に設定されます。PAM が適切なセッション認可上限を設定できるように、ユーザーセッションの認証を PAM に依存するサービスには、ADMIN_HIGH ラベルを明示的に割り当ててください。

  4. 個々のコマンドの認可上限は、profiles(1) を使用して認可上限プロパティーによって指定します。これは主に、低い認可上限を持つユーザーが、高い認可上限を持つ役割を引き受ける場合に役立ちます。役割の前提はプロセス認可上限を上げるために使用できないため、特定の認可上限で実行するコマンドを含む正しいプロファイルを役割に割り当てることをお勧めします。(user_attr(5) で設定する) 役割の認可上限がコマンドの認可上限より優位である場合に、指定された認可上限でそのようなコマンドが実行されます。

Mandatory Policy

plabel(1) コマンドを使用すると、ほかのプロセスの認可上限を表示できます。ただし、現在のプロセスは、ターゲットプロセスへの通常のアクセス権を持っている必要があり、ターゲットプロセスの認可上限より優位である必要があります。The same restrictions apply to debugging tools such as dtrace(8), mdb(1), dbx(1), truss(1), and other proc(1) tools.

マルチレベルプロパティーが有効になっている ZFS ファイルシステム内のファイルまたはディレクトリにアクセスするときは、プロセス認可上限がそのファイルまたはディレクトリラベルより優位である必要があります。ディレクトリリストには、現在のプロセス認可上限の方が優位なエントリのみが表示されます。

solaris.label.file.upgrade 承認を持つユーザーまたは役割は、setlabel(1) を使用して、ファイルまたはディレクトリを、現在のプロセス認可上限の方が優位な新しいラベルにアップグレードできます。同様に、現在のプロセス認可上限が既存のラベルより優位である場合、solaris.label.file.downgrade 承認を使用するとユーザーまたは役割はラベルを下げることができます。

ZFS マルチレベルファイルシステムは、ファイルまたはディレクトリのアップグレード時に上がる上限ラベルを維持します。ファイルシステムの最大ラベルは、ZFS mlslabel プロパティーを使用して監視できますが、下げることはできません。ラベル付きファイルシステムを送信またはアーカイブするには、現在のプロセス認可上限が mlslabel プロパティーより優位である必要があります。

デバイスポリシー

add_drv(8) または update_drv(8) で構成されたデバイスは、ポリシートークン require_admin_high=true を設定することによって、ADMIN_HIGH プロセス認可上限を必要とするように制限できます。これには、/dev/kmem などのデバイスが含まれます。

不変ポリシー

現在のゾーンが不変 (mac(9F) を参照) となるように構成されている場合、特定の SMF プロパティーを変更するには ADMIN_HIGH プロセス認可上限が必要です。トラステッドパスドメイン (tpd(7) を参照) の一部としてマークされるすべてのプロセスが ADMIN_HIGH 認可上限で開始されます。

セキュリティーポリシーの再構成を許可する SMF プロパティーは、ADMIN_HIGH 認可上限のプロセスでのみ変更できます。これには、すべてのメソッドまたは sysconfig プロパティーが含まれます。たとえば、既存のサービスのプロセス認可上限を変更したり、ネームサービスを再構成したりするには、ADMIN_HIGH 認可上限が必要です。

監査およびデータ損失の防止

機密情報を不注意で開示することを抑制するために、ディレクトリに制限付きラベルを割り当てることができます。これらのラベルは、そのラベル下で作成されたすべてのファイルまたはディレクトリに自動的に適用されます。認識する必要があるユーザーと役割には、これらのラベルに対応する認可上限を割り当てることができます。そのようなファイルとディレクトリは、認可上限が不十分なユーザーには非表示にされます。承認されたユーザーは、アクセスをさらに制限するためにファイルとディレクトリをアップグレードまたはダウングレードできます。職務の分離を容易にするために、無関係なラベルを使用できます。

コンプライアンスの報告を容易にするために、監査トレールを使用できます。ファイル属性が含まれている監査イベントは、ラベルが付いていない場合を除き、ファイルラベルも含んでいます。無関係な監査データの量を最小限に抑えるために、auditconfig(8) の unlabeled オプションを使用して、明示的にラベルが付けられたファイルに対応する、読み取りに対して開かれたイベントのみを監査するように監査ポリシーを構成できます。auditreduce(8)–l オプションを使用して、特定のファイルラベルまたは範囲に一致する監査イベントをフィルタできます。

プロセス属性が含まれているイベントのプロセス認可上限は、監査トレールに自動的に記録されます。auditreduce(8)–L オプションを使用して、特定のプロセス認可上限または範囲に一致するイベントをフィルタできます。

関連項目

plabel(1), sandbox(1), setlabel(1), libtsol(3LIB), getclearance(3TSOL), setclearance(3TSOL), policy.conf(5), user_attr(5), attributes(7), labels(7), tpd(7), auditconfig(8), auditreduce(8), labelcfg(8), svccfg(8), useradd(8), zfs(8), profiles(1), roleadd(8)

Oracle Solaris 11.4 でのユーザーとプロセスのセキュリティー保護

ファイルのラベル付けは、Trusted Extensions が有効になっている場合にも使用可能ですが、プロセス認可上限はそうではありません。代わりに、Trusted Extensions は、ゾーンラベルに依存してその必須ポリシーを適用します。