The macOS system must enforce multifactor authentication for the su command.

STIG ID: APPL-14-003051  |  SRG: SRG-OS-000105-GPOS-00052 |  Severity: medium |  CCI: CCI-000765,CCI-000766,CCI-000767,CCI-000768,CCI-001941 |  Vulnerability Id: V-259548

Vulnerability Discussion

The system must be configured such that, when the su command is used,
multifactor authentication is enforced.

All users must go through multifactor authentication to prevent unauthenticated access and potential
compromise to the system.

IMPORTANT: Modification of Pluggable Authentication Modules (PAM) now requires user authorization or use
of a Privacy Preferences Policy Control (PPPC) profile from MDM that authorizes modifying system
administrator files or full disk access.

Note: /etc/pam.d/su will be automatically modified to its original state following any update or major
upgrade to the operating system.

Satisfies:
SRG-OS-000105-GPOS-00052,SRG-OS-000106-GPOS-00053,SRG-OS-000107-GPOS-00054,SRG-OS-000108-GPOS-00055,SRG-OS-000112-GPOS-00057

Check

Verify the macOS system is configured to enforce multifactor authentication for the su
command with the following command:

/usr/bin/grep -Ec '^(auth\s+sufficient\s+pam_smartcard.so|auth\s+required\s+pam_rootok.so)'
/etc/pam.d/su

If the result is not "2", this is a finding.

Fix

Configure the macOS system to enforce multifactor authentication for
the su command with the following commands:

/bin/cat > /etc/pam.d/su << SU_END
# su: auth account password session
auth sufficient pam_smartcard.so
auth required pam_rootok.so
auth required pam_group.so no_warn group=admin,wheel ruser root_only fail_safe
account required pam_permit.so
account required pam_opendirectory.so no_check_shell
password required pam_opendirectory.so
session required pam_launchd.so
SU_END

# Fix new file ownership and permissions
/bin/chmod 644 /etc/pam.d/su
/usr/sbin/chown root:wheel /etc/pam.d/su