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 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 the Ubuntu operating system has the packages required for multifactor authentication installed with the following commands:
$ dpkg -l | grep libpam-pkcs11
ii libpam-pkcs11 0.6.8-4 amd64 Fully featured PAM module for using PKCS#11 smart cards
If the "libpam-pkcs11" package is not installed, this is a finding.
Verify the sshd daemon allows public key authentication with the following command:
$ grep -r ^Pubkeyauthentication /etc/ssh/sshd_config*
PubkeyAuthentication yes
If this option is set to "no" or is missing, this is a finding.
If conflicting results are returned, this is a finding.
Fix
Configure the Ubuntu operating system to use multifactor authentication for network access to accounts.
Add or update "pam_pkcs11.so" in "/etc/pam.d/common-auth" to match the following line:
auth [success=2 default=ignore] pam_pkcs11.so
Set the sshd option "PubkeyAuthentication yes" in the "/etc/ssh/sshd_config" file.