PAMSC: sewhoami -a コマンドが ログインユーザではなく常に root になっている
search cancel

PAMSC: sewhoami -a コマンドが ログインユーザではなく常に root になっている

book

Article ID: 282236

calendar_today

Updated On:

Products

CA Privileged Access Manager - Server Control (PAMSC) CA Privileged Identity Management Endpoint (PIM)

Issue/Introduction

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)

Environment

Privileged Access Manager Server Control: UNIX版の全てのバージョン

Privileged Identity Manager: UNIX版の全てのバージョン

Cause

この事象にはいくつかの原因が考えられます。PAMSC では不適切なルールが適用されることを防ぐために、デフォルトユーザが root と認識されることがあります。

このようなケースでは最初にトレースを設定してログ($SEOSDIR/log/seosd.trace)の内容を確認します。
($SEOSDIR は PAMSC のインストールディレクトリになります。)

 トレースは以下の手順で行います。

  1. secons -tc -t+
  2. login を行う
  3. secons -t-

今回のケースではトレースファイルの中で 以下の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

Resolution

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

Additional Information

なお、本KBは以下の英文 KB を翻訳し補足しました。

Article ID: 278396: PAMSC - Intermittently the sewhoami -a incorrectly shows the user as root instead of the logged in user.