Vulnerability Discussion
When UsePAM is set to "yes", PAM runs through account and session types properly. This is important when restricted access to services based off of IP, time, or other factors of the account is needed. Additionally, this ensures users can inherit certain environment variables on login or disallow access to the server.
Check
Verify the RHEL 9 SSHD is configured to allow for the UsePAM interface with the following command:
$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH '^\s*usepam'
UsePAM yes
If the "UsePAM" keyword is set to "no", is missing, or is commented out, this is a finding.
Fix
Configure the RHEL 9 SSHD to use the UsePAM interface add or modify the following line in "/etc/ssh/sshd_config".
UsePAM yes
Restart the SSH daemon for the settings to take effect:
$ sudo systemctl restart sshd.service