Red Hat Training

A Red Hat training course is available for RHEL 8

第3章 制限のあるユーザーおよび制限のないユーザーの管理

各 Linux ユーザーは、SELinux ポリシーのルールに基づいて SELinux ユーザーにマッピングされます。管理者は、semanage login ユーティリティーを使用するか、Linux ユーザーを特定の SELinux ユーザーに直接割り当てることで、このルールを変更できます。したがって、Linux ユーザーには、割り当てられている SELinux ユーザーの制限が適用されます。SELinux ユーザーに割り当てられた Linux ユーザーがプロセスを起動すると、他のルールで別のロールまたはタイプが指定されていない限り、このプロセスは SELinux ユーザーの制限を継承します。

3.1. SELinux における制限のあるユーザーおよび制限のないユーザー

デフォルトでは、管理者権限を持つユーザーを含め、Red Hat Enterprise Linux のすべての Linux ユーザーは、制限のない SELinux ユーザー unconfined_u にマッピングされます。SELinux の制限のあるユーザーにユーザーを割り当てることで、システムのセキュリティーを強化できます。

Linux ユーザーのセキュリティーコンテキストは、SELinux ユーザー、SELinux ロール、および SELinux タイプで構成されます。以下に例を示します。

user_u:user_r:user_t

ここでは、以下のようになります。

user_u
SELinux ユーザーです。
user_r
SELinux ロールです。
user_t
SELinux タイプです。

Linux ユーザーのログイン後に、その SELinux ユーザーを変更することはできません。ただし、そのタイプとロールは、移行中などに変更できます。

システムで SELinux ユーザーマッピングを表示するには、root で semanage login -l コマンドを使用します。

semanage login -l
Login Name           SELinux User         MLS/MCS Range        Service

__default__          unconfined_u         s0-s0:c0.c1023       *
root                 unconfined_u         s0-s0:c0.c1023       *

Red Hat Enterprise Linux では、Linux ユーザーはデフォルトで SELinux の __default__ ログインにマッピングされ、これは、SELinux unconfined_u ユーザーにマッピングされます。以下の行は、デフォルトのマッピングを定義します。

__default__          unconfined_u         s0-s0:c0.c1023       *

制限のあるユーザーは、現在の SELinux ポリシーで明示的に定義されている SELinux ルールにより制限されます。制限のないユーザーには、SELinux による制限が最小限にとどまります。

制限のある Linux ユーザー、および制限のない Linux ユーザーは、実行可能なメモリーチェックおよび書き込み可能なメモリーチェックに依存し、また MCS または MLS によっても制限されます。

利用可能な SELinux ユーザーをリスト表示するには、以下のコマンドを実行します。

$ seinfo -u
Users: 8
   guest_u
   root
   staff_u
   sysadm_u
   system_u
   unconfined_u
   user_u
   xguest_u

seinfo コマンドは、setools-console パッケージにより提供されることに注意してください。これは、デフォルトではインストールされません。

制限のない Linux ユーザーが、unconfined_t ドメインから自身の制限のあるドメインに移行できるものとして SELinux ポリシーが定義するアプリケーションを実行すると、制限のない Linux ユーザーは制限のあるドメインの制限を引き続き受けます。このセキュリティー上の利点は、Linux ユーザーが制限なしで実行している場合でも、アプリケーションは制限されたままになります。したがって、アプリケーションにおける不具合の悪用はポリシーによって制限できます。

同様に、これらのチェックを制限のあるユーザーに適用できます。制限のある各ユーザーは、制限のあるユーザードメインによって制限されます。SELinux ポリシーは、制限のあるユーザードメインから自身のターゲット制限のあるドメインへの移行を定義することもできます。このような場合、制限のあるユーザーはそのターゲットの制限のあるドメインの制限を受けます。主な点として、特別な権限は、ロールに応じて制限のあるユーザーに関連付けられる点が挙げられます。