5 Multi-Category SecurityによるSELinuxポリシーの拡張

Multi-Category Security (MCS)は、SELinux targetedポリシーおよびMulti-Level Security (MLS)ポリシーを拡張し、プロセスおよびファイルにカテゴリ・ラベルを割り当てることができます。MCSでは、ファイルにアクセスできるのは、そのファイルに適用されているのと同じカテゴリに割り当てられたプロセスまたはユーザーのみです。MCSは、他のすべてのセキュリティ・チェックが実行された後に適用されます。したがって、MCSは通常、アクセスをさらに制限するために使用されます。カテゴリ・タグの範囲はc0からc1023までですが、使用しやすくなるように、これらのカテゴリ値にテキスト・ラベルを定義できます。mcstransサービスは、システムの入出力を処理する際に、カテゴリ値とテキスト・ラベルとの変換に使用できます。

MLSは様々なセキュリティ・レベル、またはデータの機密性を定義するために使用でき、MCSは様々な目的でデータをグループ化するために使用できます。たとえば、システム上の複数の異なるプロジェクトに対して同じサービスを実行でき、各プロジェクト内のデータを様々な機密レベルにすることができます。ユーザーには、個別のプロジェクトについて、機密性クリアランスを満たしているデータへのアクセス権のみを付与する必要があります。MCSは、カテゴリ・タグを各プロジェクトに関連付けることで、この制限を適用します。その結果、ファイルまたはプロセスのセキュリティ・コンテキストは、SELinuxユーザー、SELinuxロール、SELinuxタイプ、MLS機密レベルおよびMCSカテゴリを組み合せたものになります。

表5-1データ機密性およびカテゴリ適用を示すマトリックス

機密性 カテゴリ
未指定 会計 マーケティング 開発
未分類 s0 s0:c0 s0:c1 s0:c2
内部 s1 s1:c0 s1:c1 s1:c2
制限あり s2 s2:c0 s2:c1 s2:c2
強い制限あり s3 s3:c0 s3:c1 s3:c2

この例の表では、強い制限のあるデータ(s3)にアクセスする必要がある、会計部門(c0)内の高い権限があるユーザーが、次のようなセキュリティ・コンテキストを定義されている可能性があります。

user_u:user_r:user_t:s3:c0