6.2. 新規の Linux ユーザーの制限: useradd
SELinux
unconfined_u ユーザーにマッピングされた Linux ユーザーは、unconfined_t ドメインで実行します。これは、unconfined_u にマッピングされた Linux ユーザーとしてログインしながら id -Z を実行すると確認できます。
id -Z unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
~]$ id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Linux ユーザーが
unconfined_t ドメインで実行している場合は、SELinux ポリシールールが適用されますが、unconfined_t ドメインで実行している Linux ユーザーのほぼすべてのアクセスを許可するポリシールールが存在します。制限のない Linux ユーザーが、unconfined_t ドメインから自身の制限のあるドメインに移行できるものとして SELinux ポリシーが定義するアプリケーションを実行すると、制限のない Linux ユーザーは制限のあるドメインの制限を引き続き受けます。セキュリティー上の利点は、Linux ユーザーが制限されていなくても、アプリケーションは制限されたままになるため、アプリケーションの欠陥の悪用はポリシーにより制限される可能性があることです。
注記
これにより、システムがユーザーから保護されることはありません。その代わりに、ユーザーとシステムは、アプリケーションの欠陥による潜在的な不具合から保護されています。
useradd コマンドで Linux ユーザーを作成する場合は、
-Z オプションを使用して、マッピング先の SELinux ユーザーを指定します。以下の例では、新しい Linux ユーザー useruuser を作成し、そのユーザーを SELinux user_u ユーザーにマップしています。SELinux user_u ユーザーにマッピングされた Linux ユーザーは、user_t ドメインで実行します。このドメインでは、SELinux ポリシーで setuid アプリケーションが許可 (passwd など) されていない限り、Linux ユーザーは setuid アプリケーションを実行できず、su コマンドまたは sudo コマンドを実行できないため、これらのコマンドで root ユーザーになることができません。
手順6.1 新しい Linux ユーザーを user_u SELinux ユーザーに限定する
- root で、SELinux
user_uユーザーにマッピングする新しい Linux ユーザー (useruuser) を作成します。useradd -Z user_u useruuser
~]# useradd -Z user_u useruuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow useruuserとuser_uとの間のマッピングを表示するには、root で以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - root で、Linux
useruuserユーザーにパスワードを割り当てます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 現行セッションからログアウトし、Linux
useruuserユーザーとしてログインします。ログインすると、pam_selinuxにより、Linux ユーザーが SELinux ユーザー (この例ではuser_u) にマップされ、作成される SELinux コンテキストが設定されます。Linux ユーザーのシェルはこのコンテキストで起動します。以下のコマンドを入力して、Linux ユーザーのコンテキストを表示します。id -Z user_u:user_r:user_t:s0
~]$ id -Z user_u:user_r:user_t:s0Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Linux
useruuserのセッションをログアウトし、アカウントで再度ログインします。Linuxuseruuserを使用しない場合は、root で次のコマンドを実行し、ホームディレクトリーとともに削除します。userdel -Z -r useruuser
~]# userdel -Z -r useruuserCopy to Clipboard Copied! Toggle word wrap Toggle overflow