3 SELinuxセキュリティ・コンテキストの管理
SELinuxでは、すべてのファイル・システム、ファイル、ディレクトリ、デバイス、プロセスにセキュリティ・コンテキストが関連付けられています。ファイルの場合、SELinuxはファイル・システムの拡張属性にコンテキスト・ラベルを格納します。コンテキストには、システム・オブジェクト(SELinuxユーザー、そのロール、タイプ、セキュリティ・レベル)についての追加情報が含まれます。SELinuxはこのコンテキスト情報を使用して、プロセス、Linuxユーザー、ファイル別にアクセスを制御します。この章では、SELinuxのセキュリティ・コンテキストの管理方法について説明します
特定のコマンド(ls、psおよびid)で-Zオプションを指定し、次の構文を使用してSELinuxコンテキストを表示できます。
SELinux user:Role:Type:Level
-
SELinux user
-
SELinuxユーザー・アカウントは、通常のLinuxユーザー・アカウントを補完します。SELinuxは、すべてのLinuxユーザーを、ユーザー・セッション内のプロセスのSELinuxコンテキストで使用されるSELinuxユーザーIDにマップします。
-
Role
-
ロール・ベース・アクセス制御(RBAC)セキュリティ・モデルでは、ロールはSELinuxプロセス・ドメインまたはファイル・タイプとSELinuxユーザーとの間の中間抽象レイヤーとして機能します。プロセスは特定のSELinuxドメインで実行され、ファイル・システム・オブジェクトにはSELinuxファイル・タイプが割り当てられます。SELinuxユーザーには指定されたロールを実行する権限が与えられ、ロールには指定されたSELinuxドメインおよびファイル・タイプへの権限が与えられます。ユーザーのロールが、ユーザーがアクセスできるプロセス・ドメインおよびファイル・タイプ、またユーザーがアクセスできるプロセスおよびファイルを定義します。
-
Type
-
タイプは、SELinuxファイル・タイプまたはSELinuxプロセス・ドメインを定義します。それぞれのドメインで実行することで、プロセスは互いに分離されています。この分離によって、他のプロセスが使用しているファイルにプロセスがアクセスするのを防ぎ、他のプロセスにプロセスがアクセスするのを防ぎます。SELinuxポリシー・ルールは、プロセス・ドメインがファイル・タイプおよび他のプロセス・ドメインに対して有するアクセス権を定義します。
-
Level
-
レベルは、Multi-Level Security (MLS)およびMulti-Category Security (MCS)の属性です。MLS範囲は機密レベルのペアで、
low_level-high_level
で示されます。レベルが同一の場合、範囲はlow_level
と略記できます。たとえば、s0
とs0-s0
は同じです。各レベルには、レベルが適用されるセキュリティ・カテゴリのオプション・セットがあります。セットが連続する場合は、略記できます。たとえば、s0:c0.c3
とs0:c0,c1,c2,c3
は同じです。