Vulnerability Discussion
Without the use of multifactor authentication, the ease of access to privileged functions is greatly increased.
Multifactor authentication requires using two or more factors to achieve authentication.
Factors include:
1) Something a user knows (e.g., password/PIN);
2) Something a user has (e.g., cryptographic identification device, token); and
3) Something a user is (e.g., biometric).
A privileged account is defined as an information system account with authorizations of a privileged user.
Network access is defined as access to an information system by a user (or a process acting on behalf of a user) communicating through a network (e.g., local area network, wide area network, or the internet).
The DOD common access card (CAC) with DOD-approved PKI is an example of multifactor authentication.
Satisfies: SRG-OS-000105-GPOS-00052, SRG-OS-000106-GPOS-00053, SRG-OS-000107-GPOS-00054, SRG-OS-000108-GPOS-00055
Check
Verify that the "pam_pkcs11.so" module is configured by using the following command:
$ grep -i pam_pkcs11.so /etc/pam.d/common-auth
auth [success=2 default=ignore] pam_pkcs11.so
If "pam_pkcs11.so" is commented out, or is missing, this is a finding.
Verify the sshd daemon allows public key authentication by using the following command:
$ sudo /usr/sbin/sshd -dd 2>&1 | awk '/filename/ {print $4}' | tr -d '\r' | tr '\n' ' ' | xargs sudo grep -iH 'pubkeyauthentication'
/etc/ssh/sshd_config:PubkeyAuthentication yes
If "PubkeyAuthentication" is not set to "yes", is commented out, is missing, or conflicting results are returned, this is a finding.
Fix
Configure Ubuntu 22.04 LTS to use multifactor authentication for access to accounts.
Add or modify the following line in the "/etc/pam.d/common-auth" file:
auth [success=2 default=ignore] pam_pkcs11.so
Add or modify the following line in the "/etc/ssh/sshd_config" file:
PubkeyAuthentication yes