3.8. sysadm_u へのマッピングによる管理者の制限
SELinux ユーザー sysadm_u
に直接マッピングすることで、管理者権限を持つユーザーを制限できます。ユーザーがログインすると、セッションは SELinux コンテキスト sysadm_u:sysadm_r:sysadm_t
で実行されます。
デフォルトでは、管理者権限を持つユーザーを含め、Red Hat Enterprise Linux のすべての Linux ユーザーは、制限のない SELinux ユーザー unconfined_u
にマッピングされます。SELinux の制限のあるユーザーにユーザーを割り当てることで、システムのセキュリティーを強化できます。これは、V-71971 Security Technical Implementation Guide に準拠するのに役立ちます。
前提条件
-
root
ユーザーは制限なしで実行します。これは、Red Hat Enterprise Linux のデフォルトです。
手順
必要に応じて、
sysadm_u
ユーザーが SSH を使用してシステムに接続できるようにするには、次のコマンドを実行します。setsebool -P ssh_sysadm_login on
# setsebool -P ssh_sysadm_login on
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいユーザーまたは既存のユーザーを
sysadm_u
SELinux ユーザーにマッピングします。新規ユーザーをマッピングするには、新規ユーザーを
wheel
ユーザーグループに追加し、そのユーザーを SELinux ユーザーsysadm_u
にマッピングします。adduser -G wheel -Z sysadm_u <example_user>
# adduser -G wheel -Z sysadm_u <example_user>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 既存のユーザーをマッピングするには、ユーザーを
wheel
ユーザーグループに追加し、そのユーザーを SELinux ユーザーsysadm_u
にマッピングします。usermod -G wheel -Z sysadm_u <example_user>
# usermod -G wheel -Z sysadm_u <example_user>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ユーザーのホームディレクトリーのコンテキストを復元します。
restorecon -R -F -v /home/<example_user>
# restorecon -R -F -v /home/<example_user>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
<example_user>
が、SELinux ユーザーsysadm_u
にマッピングされていることを確認します。semanage login -l | grep <example_user>
# semanage login -l | grep <example_user> <example_user> sysadm_u s0-s0:c0.c1023 *
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSH などを使用して
<example_user>
としてログインし、ユーザーのセキュリティーコンテキストを表示します。[<example_user>@localhost ~]$ id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
[<example_user>@localhost ~]$ id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
Copy to Clipboard Copied! Toggle word wrap Toggle overflow root
ユーザーに切り替えます。sudo -i
$ sudo -i [sudo] password for <example_user>:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow セキュリティーコンテキストが変更されていないことを確認します。
id -Z
# id -Z sysadm_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
Copy to Clipboard Copied! Toggle word wrap Toggle overflow sshd
サービスを再起動するなど、管理タスクを実行します。systemctl restart sshd
# systemctl restart sshd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力がない場合は、コマンドが正常に完了します。
コマンドが正常に完了しない場合は、以下のメッセージが表示されます。
Failed to restart sshd.service: Access denied See system logs and 'systemctl status sshd.service' for details.
Failed to restart sshd.service: Access denied See system logs and 'systemctl status sshd.service' for details.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow