Privileged Access Manager Server Control (以下、 PAMSC) が導入された環境で、OS をRHEL7からRHEL8にアップグレード後、「sesu -」 コマンドで root に成り代わる動作が拒否される。
seaudit コマンドで監査ログを確認すると ログイン中のユーザ usr1 ではなく、root ユーザとして実行され、拒否されている。
23 Jan 2024 08:19:19 D SURROGATE root Read 63 3 USER.root /opt/CA/AccessControl/bin/sesu root
63 プログラム条件アクセス
「sewhoami -a 」 コマンドで確認すると実行ユーザが root で認識されている。
[user1@server /]$ sewhoami -a
root
ACEE の内容
ユーザ名 : root
ACEE のハンドル : 9
グループ接続テーブル :
<空>
カテゴリ : <None>
プロファイル グループ : <None>
セキュリティ ラベル : <None>
ユーザの監査モード : Failure LoginSuccess LoginFailure
ユーザのセキュリティ レベル : 0
ソース端末 : <Unknown>
ACEEのプロセス数 : 4
ユーザのモード : Admin Auditor
ACEEの作成時間 : Thu Jan 25 13:36:46 2024
LOGINAPPL の設定では PAMLOGIN が指定されている。
editres LOGINAPPL ('SSH') audit(FAILURE) comment('Predefined rule for Login application.') defaccess(EXECUTE) loginflags(PAMLOGIN) loginmethod(NORMAL) loginseq(SGRP SUID) loginpath(/usr/sbin/sshd)
Privileged Access Manager Server Control: UNIX版の全てのバージョン
Privileged Identity Manager: UNIX版の全てのバージョン
この事象にはいくつかの原因が考えられます。PAMSC では不適切なルールが適用されることを防ぐために、デフォルトユーザが root と認識されることがあります。
このようなケースでは最初にトレースを設定してログ($SEOSDIR/log/seosd.trace)の内容を確認します。
($SEOSDIR は PAMSC のインストールディレクトリになります。)
トレースは以下の手順で行います。
今回のケースではトレースファイルの中で 以下のPAMLOGIN のメッセージが無いことから システムのPAMの設定が間違っていることが推察されます。
01 Apr 2022 00:24:37> PAMLOGIN: P=nnnnn User=XXXXX Terminal=XXXXXXXX U=0 G=0 O=
/etc/pam.d/password-auth の内容を確認すると、 PAMSCのPAMモジュールが定義されていないことがわかりました。
# ls -l /etc/pam.d/password-*
lrwxrwxrwx 1 root root 29 Sep 26 21:40 password-auth -> /etc/authselect/password-auth
# grep seos /etc/pam.d/password-auth
#
password-auth の適切な場所に pam_seos.so の設定を追加することで問題を解決できました。
[user1@server /]$ grep seos /etc/pam.d/password-auth
account optional pam_seos.so
auth optional pam_seos.so
password sufficient pam_seos.so
session optional pam_seos.so
適切な場所は OS 種類、バージョン等に違いがあるため、詳細についてはOS側のPAMの設定についてご確認ください。
以下は Red Hat Enterprise Linux release 8.6 (Ootpa) でのデフォルトでの設定例です。
# cat /etc/pam.d/password-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authselect is run.
auth required pam_env.so
auth sufficient pam_unix.so try_first_pass nullok
auth required pam_deny.so
account optional pam_seos.so
account required pam_unix.so
auth optional pam_seos.so
password sufficient pam_seos.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so try_first_pass use_authtok nullok sha512 shadow
password required pam_deny.so
session optional pam_seos.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
なお、本KBは以下の英文 KB を翻訳し補足しました。
Article ID: 278396: PAMSC - Intermittently the sewhoami -a incorrectly shows the user as root instead of the logged in user.