ファイルに割り当てられたときにsystem_uはどういう意味ですか?

ファイルに割り当てられたときにsystem_uはどういう意味ですか?

私の質問は次のとおりです

  1. system_uにSELinuxに割り当てられたファイルがある場合、system_u / unconfined_uにマップされたユーザーだけがファイルにアクセスできることを意味しますか?
  2. このラベルが実行可能ファイルに割り当てられている場合、このexecを実行しているすべての人がsystem_u / system_rラベルを使用してプロセスを開始することを意味しますか?
  3. あるいは、ファイルにsystem_uまたはsystem_rを割り当てることは意味がありません。ただプレースホルダーです。

ベストアンサー1

system_uにSELinuxに割り当てられたファイルがある場合、system_u / unconfined_uにマップされたユーザーだけがファイルにアクセスできることを意味しますか?

セキュリティモデルによって異なりますが、通常、セキュリティコンテキストのユーザー属性は、残りのセキュリティコンテキストをLinuxユーザー/グループIDに関連付けるためにのみ使用されます。このセキュリティモデルをIDベースのアクセス制御と呼びます。プロパティの主な目的は、次の問題を解決することです。既存のLinuxアクセス制御モデルをどのように拡張/拡張/現代化できますか? IBACはこれら2つを接続する役割を果たします。

ただし、ユーザー属性は、SELinuxユーザーID(IBAC分離)に基づいてエンティティを分離するためにさらに使用できます。ただし、このセキュリティモデルは通常有効ではありません(しかし、selinux参照ポリシーにはこのオプションがあります)。

このラベルが実行可能ファイルに割り当てられている場合、このexecを実行しているすべての人がsystem_u / system_rラベルを使用してプロセスを開始することを意味しますか?

いいえ、しかし(私の考えでは)そうすることができます。デフォルトの動作は、いわゆる「基本ルール」を使用してセキュリティポリシーでカスタマイズできます。デフォルトでは、ファイルを実行すると、新しいプロセスは「呼び出しプロセス」のセキュリティコンテキストからユーザー属性に関連付けられた識別子を継承します。

望むより:https://github.com/SELinuxProject/selinux-notebook/blob/main/src/default_rules.md#default_user

あるいは、ファイルにsystem_uまたはsystem_rを割り当てることは意味がありません。ただプレースホルダーです。

ファイルに関連するsystem_rはほとんど見えません。代わりに、ファイルに関連付けられたobject_rを見ることができます。 object_r は、実際には、オブジェクトに関連付けられたセキュリティ コンテキストで selinux ロールのセキュリティ属性フィールドを入力するために使用されるプレースホルダです。これは、ロールが「役割ベースのアクセス制御」というセキュリティモデルを実装するために使用されます。これは、ファイルではなくユーザープロセスにのみ適用されるためです。オプションで、この属性をさらに使用して、役割識別子に基づいてファイルへのアクセスを分離できるRBAC分離などのカスタムセキュリティモデルを適用できます。

セキュリティコンテキストの各フィールドには少なくとも1つの意味があります。これらのフィールドに関連する属性と識別子はセキュリティモデルに対応し、セキュリティモデルは「特定のセキュリティ問題を解決するように設計されています」。唯一の例外はobject_rロール識別子ですが、ロールによってファイルへのアクセスが分離されていないことを知らせるので、これも意味があります。

おすすめ記事