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 AlmaLinux OS 9 SSHD is configured to allow for the UsePAM interface with the following command:
$ sshd -T | grep usepam
usepam yes
If the "UsePAM" keyword is set to "no", is missing, or is commented out, this is a finding.
Fix
Configure the SSH daemon to use PAM.
Add the following line to "/etc/ssh/sshd_config", or uncomment the line and set the value to "yes":
UsePAM yes
Alternatively, add the setting to an include file if the line "Include /etc/ssh/sshd_config.d/*.conf" is found at the top of the "/etc/ssh/sshd_config" file:
$ cat << EOF | tee /etc/ssh/sshd_config.d/pam.conf
UsePAM yes
EOF
Restart the SSH daemon for the settings to take effect:
$ systemctl restart sshd.service