1

プロセス名でファイルへのアクセスを (SELinux で) チェックするにはどうすればよいですか?

たとえば、次の 2 つのプロセスがあります。

  • /usr/bin/foo1
  • /usr/bin/foo2

それらはユーザー名のアカウントで実行されuserA、ファイルを変更するために開こうとします:

  • /home/userA/test.txt

ファイルを開こうとすると、それが必要foo1です-大丈夫です。しかし、foo2このファイルを開こうとすると、これに関するメッセージが にあります/var/log

問題は、両方のプロセスが同じユーザー ID を持っていることです。また、ユーザー名で RBAC を使用することはできません。

4

1 に答える 1

2

SELinux ポリシーを使用して実行するには、両方のドメイン タイプfoo1foo2カスタム ドメイン タイプを指定する必要があります。これには次のことが伴います。

  1. バイナリのタイプを作成します (例:foo1_exec_tfoo2_exec_t)
  2. プロセスのタイプを作成します (例:foo1_tおよびfoo2_t)
  3. ユーザー タイプ (おそらくunconfined_t) が実行されると、次のようfoo1_exec_tに遷移することを指定します。foo1_tfoo2

test.txt次に、 (例test_t)のカスタムタイプを作成する必要があります

これが完了したら、これらに対して好きなポリシーを作成できます (auditallow探している特定のアクセスのルールを含む)。問題は、カスタム タイプを作成することによって、それらに対するすべてのアクセスを指定する必要があることです。

アクセス制御を行うのではなく、何かが発生したときにログを記録するだけの場合は、監査サブシステムを選択することをお勧めしますが、監査サブシステムを使用してこれほど細かくできるかどうかはわかりません。

于 2011-02-12T23:48:52.973 に答える