Apple macOS 11 (Big Sur) Security Technical Implementation Guide
Pick two releases to diff their requirements.
Open a previous version of this STIG.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000056
- Version
- APPL-11-000001
- Vuln IDs
-
- V-230743
- Rule IDs
-
- SV-230743r599842_rule
Checks: C-33688r591351_chk
To check if the system is configured to prevent Apple Watch from terminating a session lock, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowAutoUnlock" allowAutoUnlock = 0; If there is no result or "allowAutoUnlock" is not set to "0", this is a finding.
Fix: F-33661r591352_fix
This setting is enforced using the “Restrictions Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000056
- Version
- APPL-11-000002
- Vuln IDs
-
- V-230744
- Rule IDs
-
- SV-230744r599842_rule
Checks: C-33689r591354_chk
To check if the system will prompt users to enter their passwords to unlock the screen saver, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep askForPassword If there is no result, or if "askForPassword" is not set to "1", this is a finding.
Fix: F-33662r591355_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000056
- Version
- APPL-11-000003
- Vuln IDs
-
- V-230745
- Rule IDs
-
- SV-230745r599842_rule
Checks: C-33690r591357_chk
To check if the system will prompt users to enter their passwords to unlock the screen saver, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep askForPasswordDelay If there is no result, or if "askForPasswordDelay" is not set to "5.0" or less, this is a finding.
Fix: F-33663r591358_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- APPL-11-000004
- Vuln IDs
-
- V-230746
- Rule IDs
-
- SV-230746r599842_rule
Checks: C-33691r591360_chk
To check if the system has a configuration profile configured to enable the screen saver after a time-out period, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep idleTime If there is no result, or if "idleTime" is not set to "900" seconds or less, this is a finding.
Fix: F-33664r591361_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000058
- Version
- APPL-11-000005
- Vuln IDs
-
- V-230747
- Rule IDs
-
- SV-230747r599842_rule
Checks: C-33692r591363_chk
To check if support for session locking with removal of a token is enabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "tokenRemovalAction = 1;" If there is no result, this is a finding.
Fix: F-33665r591364_fix
This setting is enforced using the "Smart Card Policy" configuration profile. Note: Before applying the "Smart Card Policy", the supplemental guidance provided with the STIG should be consulted to ensure continued access to the operating system.
- RMF Control
- AC-11
- Severity
- L
- CCI
- CCI-000060
- Version
- APPL-11-000006
- Vuln IDs
-
- V-230748
- Rule IDs
-
- SV-230748r599842_rule
Checks: C-33693r591366_chk
To view the currently selected screen saver for the logged-on user, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep modulePath If there is no result or defined "modulePath", this is a finding.
Fix: F-33666r591367_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000060
- Version
- APPL-11-000007
- Vuln IDs
-
- V-230749
- Rule IDs
-
- SV-230749r599842_rule
Checks: C-33694r591369_chk
To check if the system is configured to disable hot corners, run the following commands: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep wvous If the return is null, or does not equal: "wvous-bl-corner = 0 wvous-br-corner = 0; wvous-tl-corner = 0; wvous-tr-corner = 0;" this is a finding.
Fix: F-33667r591370_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- AC-18
- Severity
- M
- CCI
- CCI-001443
- Version
- APPL-11-000008
- Vuln IDs
-
- V-230750
- Rule IDs
-
- SV-230750r599842_rule
Checks: C-33695r591372_chk
If the system requires Wi-Fi to connect to an authorized network, this is not applicable. To check if the Wi-Fi network device is disabled, run the following command: /usr/bin/sudo /usr/sbin/networksetup -listallnetworkservices A disabled device will have an asterisk in front of its name. If the Wi-Fi device is missing this asterisk, this is a finding.
Fix: F-33668r591373_fix
To disable the Wi-Fi network device, run the following command: /usr/bin/sudo /usr/sbin/networksetup -setnetworkserviceenabled "Wi-Fi" off
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- APPL-11-000011
- Vuln IDs
-
- V-230751
- Rule IDs
-
- SV-230751r599842_rule
Checks: C-33696r591375_chk
Verify the "SSHD" service is disabled by using the following command: /bin/launchctl print-disabled system | grep sshd If the results do not show "com.openssh.sshd => true", this is a finding.
Fix: F-33669r591376_fix
Disable the "SSHD" service by using the following command: usr/bin/sudo /bin/launchctl disable system/com.openssh.sshd The system may need to be restarted for the update to take effect.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000016
- Version
- APPL-11-000012
- Vuln IDs
-
- V-230752
- Rule IDs
-
- SV-230752r599842_rule
Checks: C-33697r591378_chk
Verify if a password policy is enforced by a directory service by asking the System Administrator (SA) or Information System Security Officer (ISSO). If no policy is enforced by a directory service, a password policy can be set with the "pwpolicy" utility. The variable names may vary depending on how the policy was set. If there are no temporary or emergency accounts defined on the system, this is Not Applicable. To check if the password policy is configured to disable a temporary or emergency account after 72 hours, run the following command to output the password policy to the screen, substituting the correct user name in place of username: /usr/bin/sudo /usr/bin/pwpolicy -u username getaccountpolicies | tail -n +2 If there is no output, and password policy is not controlled by a directory service, this is a finding. Otherwise, look for the line "<key>policyCategoryAuthentication</key>". In the array that follows, there should be a <dict> section that contains a check <string> that allows users to log in if "policyAttributeCurrentTime" is less than the result of adding "policyAttributeCreationTime" to 72 hours (259299 seconds). The check might use a variable defined in its "policyParameters" section. If the check does not exist or if the check adds too great an amount of time to "policyAttributeCreationTime", this is a finding.
Fix: F-33670r592284_fix
This setting may be enforced using local policy or by a directory service. To set local policy to disable a temporary or emergency user, create a plain text file containing the following: <dict> <key>policyCategoryAuthentication</key> <array> <dict> <key>policyContent</key> <string>policyAttributeCurrentTime < policyAttributeCreationTime+259299</string> <key>policyIdentifier</key> <string>Disable Tmp Accounts </string> </dict> </array> </dict> After saving the file and exiting to the command prompt, run the following command to load the new policy file, substituting the correct user name in place of "username" and the path to the file in place of "/path/to/file". /usr/bin/sudo /usr/bin/pwpolicy -u username setaccountpolicies /path/to/file
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-002046
- Version
- APPL-11-000014
- Vuln IDs
-
- V-230753
- Rule IDs
-
- SV-230753r599842_rule
Checks: C-33698r591381_chk
The TIMED (NTP replacement in Big Sur) service must be enabled on all networked systems. To check if the service is running, use the following command: sudo systemsetup -getusingnetworktime If the following in not returned, this is a finding: Network Time: On To verify that an authorized Time Server is configured, run the following command: sudo systemsetup -getnetworktimeserver Only approved time servers should be configured for use. If no server is configured, or if an unapproved time server is in use, this is a finding.
Fix: F-33671r591382_fix
To enable the TIMED service, run the following command: /usr/bin/sudo systemsetup -setusingnetworktime on To configure a time server, use the following command: /usr/bin/sudo systemsetup -setnetworktimeserver "server"
- RMF Control
- SI-2
- Severity
- M
- CCI
- CCI-001233
- Version
- APPL-11-000015
- Vuln IDs
-
- V-230754
- Rule IDs
-
- SV-230754r599842_rule
Checks: C-33699r591384_chk
Verify that there is an approved HBSS solution installed on the system. If there is not an approved HBSS solution installed, this is a finding. Verify that all installed components of the HBSS Solution are at the DoD approved minimal version. If the installed components are not at the DoD approved minimal versions, this is a finding.
Fix: F-33672r591385_fix
Install an approved HBSS solution onto the system and ensure that all components are at least updated to their DoD approved minimal versions.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- APPL-11-000016
- Vuln IDs
-
- V-230755
- Rule IDs
-
- SV-230755r599842_rule
Checks: C-33700r591387_chk
If the system is using a mandatory Smart Card Policy, this is Not Applicable. To determine if the system is integrated to a directory service, run the following command: /usr/bin/dscl localhost -list . | /usr/bin/grep "Active Directory" If no results are returned, this is a finding.
Fix: F-33673r591388_fix
Integrate the system into an existing directory services infrastructure.
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-002238
- Version
- APPL-11-000022
- Vuln IDs
-
- V-230756
- Rule IDs
-
- SV-230756r599842_rule
Checks: C-33701r591390_chk
Password policy is set with the Passcode Policy configuration profile. /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep 'maxFailedAttempts\|minutesUntilFailedLoginReset' If "maxFailedAttempts" is not set to "3" and "minutesUntilFailedLoginReset" is not set to "15", this is a finding.
Fix: F-33674r591391_fix
This setting may be enforced using the "Passcode Policy" configuration profile or by a directory service.
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- APPL-11-000023
- Vuln IDs
-
- V-230757
- Rule IDs
-
- SV-230757r599842_rule
Checks: C-33702r591393_chk
Verify the operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the operating system. Check to see if the operating system has the correct text listed in the "/etc/banner" file with the following command: # more /etc/banner The command should return the following text: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." If the operating system does not display a graphical logon banner or the banner does not match the Standard Mandatory DoD Notice and Consent Banner, this is a finding. If the text in the "/etc/banner" file does not match the Standard Mandatory DoD Notice and Consent Banner, this is a finding.
Fix: F-33675r591394_fix
Create a text file containing the required DoD text. Name the file "banner" and place it in "/etc/".
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- APPL-11-000024
- Vuln IDs
-
- V-230758
- Rule IDs
-
- SV-230758r599842_rule
Checks: C-33703r591396_chk
If SSH is not being used, this is Not Applicable. For systems that allow remote access through SSH, run the following command to verify that "/etc/banner" is displayed before granting access: # /usr/bin/grep Banner /etc/ssh/sshd_config Banner /etc/banner If the sshd Banner configuration option does not point to "/etc/banner", this is a finding.
Fix: F-33676r591397_fix
For systems that allow remote access through SSH run the following command: # /usr/bin/sudo /usr/bin/sed -i.bak 's/^#Banner.*/Banner \/etc\/banner/' /etc/ssh/sshd_config
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- APPL-11-000025
- Vuln IDs
-
- V-230759
- Rule IDs
-
- SV-230759r599842_rule
Checks: C-33704r591399_chk
The policy banner will show if a "PolicyBanner.rtf" or "PolicyBanner.rtfd" exists in the "/Library/Security" folder. Run this command to show the contents of that folder: /bin/ls -l /Library/Security/PolicyBanner.rtf* If neither "PolicyBanner.rtf" nor "PolicyBanner.rtfd" exists, this is a finding. The banner text of the document MUST read: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." If the text is not worded exactly this way, this is a finding.
Fix: F-33677r591400_fix
Create an RTF file containing the required text. Name the file "PolicyBanner.rtf" or "PolicyBanner.rtfd" and place it in "/Library/Security/".
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- APPL-11-000030
- Vuln IDs
-
- V-230760
- Rule IDs
-
- SV-230760r599842_rule
Checks: C-33705r591402_chk
To check if a log file contains ACLs, run the following commands: /usr/bin/sudo ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') | /usr/bin/grep -v current In the output from the above commands, ACLs will be listed under any file that may contain them (e.g., "0: group:admin allow list,readattr,reaadextattr,readsecurity"). If any such line exists, this is a finding.
Fix: F-33678r591403_fix
For any log file that contains ACLs, run the following command: /usr/bin/sudo chmod -N [audit log file]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-11-000031
- Vuln IDs
-
- V-230761
- Rule IDs
-
- SV-230761r599842_rule
Checks: C-33706r591405_chk
To check if a log folder contains ACLs, run the following commands: /usr/bin/sudo ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') In the output from the above commands, ACLs will be listed under any folder that may contain them (e.g., "0: group:admin allow list,readattr,reaadextattr,readsecurity"). If any such line exists, this is a finding.
Fix: F-33679r591406_fix
For any log folder that contains ACLs, run the following command: /usr/bin/sudo chmod -N [audit log folder]
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-002143
- Version
- APPL-11-000032
- Vuln IDs
-
- V-230762
- Rule IDs
-
- SV-230762r599842_rule
Checks: C-33707r591408_chk
Retrieve a list of authorized FileVault users: # sudo fdesetup list fvuser,85F41F44-22B3-6CB7-85A1-BCC2EA2B887A If any unauthorized users are listed, this is a finding. Verify that the authorized FileVault users are marked as “DisabledUser”, preventing console logins: Note: This procedure will need to be run for each authorized FileVault User. # sudo dscl . read /Users/<FileVault_User> AuthenticationAuthority | grep "DisabledUser" AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512-PBKDF2,SRP-RFC5054-4096-SHA512-PBKDF2> ;Kerberosv5;;unlock@LKDC:SHA1.20BABA05A6B1A86A8C57581A8487596640A3E37B;LKDC:SHA1.20CEBE04A5B1D92D8C58189D8487593350D3A40A; ;SecureToken; DisabledUser If the FileVault user is not disabled, this is a finding.
Fix: F-33680r592242_fix
Create an authorized user account that will be used to unlock the disk on startup. Disable the login ability of the newly created user account: # sudo dscl . append /Users/<FileVault_User> AuthenticationAuthority DisabledUser Remove all FileVault login access from each user account defined on the system that is not a designated FileVault user: # sudo fdesetup remove -user <username>
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-002143
- Version
- APPL-11-000033
- Vuln IDs
-
- V-230763
- Rule IDs
-
- SV-230763r599842_rule
Checks: C-33708r591411_chk
Verify that password forwarding has been disabled on the system: # /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "DisableFDEAutoLogin" DisableFDEAutologin = 1; If "DisableFDEAutologin" is not set to a value of "1", this is a finding.
Fix: F-33681r591412_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- SC-10
- Severity
- M
- CCI
- CCI-001133
- Version
- APPL-11-000051
- Vuln IDs
-
- V-230764
- Rule IDs
-
- SV-230764r599842_rule
Checks: C-33709r591414_chk
The SSH daemon "ClientAliveInterval" option must be set correctly. To check the idle timeout setting for SSH sessions, run the following: /usr/bin/grep ^ClientAliveInterval /etc/ssh/sshd_config If the setting is not "900" or less, this is a finding.
Fix: F-33682r591415_fix
To ensure that "ClientAliveInterval" is set correctly, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*ClientAliveInterval.*/ClientAliveInterval 900/' /etc/ssh/sshd_config
- RMF Control
- SC-10
- Severity
- M
- CCI
- CCI-001133
- Version
- APPL-11-000052
- Vuln IDs
-
- V-230765
- Rule IDs
-
- SV-230765r599842_rule
Checks: C-33710r591417_chk
The SSH daemon "ClientAliveCountMax" option must be set correctly. To verify the SSH idle timeout will occur when the "ClientAliveCountMax" is set, run the following command: /usr/bin/grep ^ClientAliveCountMax /etc/ssh/sshd_config If the setting is not "ClientAliveCountMax 0", this is a finding.
Fix: F-33683r591418_fix
To ensure that the SSH idle timeout occurs precisely when the "ClientAliveCountMax" is set, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*ClientAliveCountMax.*/ClientAliveCountMax 0/' /etc/ssh/sshd_config
- RMF Control
- SC-10
- Severity
- M
- CCI
- CCI-001133
- Version
- APPL-11-000053
- Vuln IDs
-
- V-230766
- Rule IDs
-
- SV-230766r599842_rule
Checks: C-33711r591420_chk
The SSH daemon "LoginGraceTime" must be set correctly. To check the amount of time that a user can log on through SSH, run the following command: /usr/bin/grep ^LoginGraceTime /etc/ssh/sshd_config If the value is not set to "30" or less, this is a finding.
Fix: F-33684r591421_fix
To ensure that "LoginGraceTime" is configured correctly, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*LoginGraceTime.*/LoginGraceTime 30/' /etc/ssh/sshd_config
- RMF Control
- IA-7
- Severity
- M
- CCI
- CCI-000803
- Version
- APPL-11-000054
- Vuln IDs
-
- V-230767
- Rule IDs
-
- SV-230767r599842_rule
Checks: C-33712r591423_chk
If SSH is not being used, this is Not Applicable. Inspect the "Ciphers" configuration with the following command: Note: The location of the "sshd_config" file may vary if a different daemon is in use. # /usr/bin/grep "^Ciphers" /etc/ssh/sshd_config Ciphers aes256-ctr,aes192-ctr,aes128-ctr If any ciphers other than "aes256-ctr", "aes192-ctr", or "aes128-ctr" are listed, the order differs from the example above, or the "Ciphers" keyword is missing, this is a finding.
Fix: F-33685r592244_fix
Configure SSH to use secure cryptographic algorithms. To ensure that "Ciphers" set correctly, run the following command: /usr/bin/sudo /usr/bin/grep -q '^Ciphers' /etc/ssh/sshd_config && /usr/bin/sudo /usr/bin/sed -i.bak 's/^Ciphers.*/Ciphers aes256-ctr,aes192-ctr,aes128-ctr/' /etc/ssh/sshd_config || /usr/bin/sudo /usr/bin/sed -i.bak '/.*Ciphers and keying.*/a\'$'\n''Ciphers aes256-ctr,aes192-ctr,aes128-ctr'$'\n' /etc/ssh/sshd_config The SSH service must be restarted for changes to take effect.
- RMF Control
- AC-19
- Severity
- M
- CCI
- CCI-000087
- Version
- APPL-11-000055
- Vuln IDs
-
- V-230768
- Rule IDs
-
- SV-230768r599842_rule
Checks: C-33713r591426_chk
If SSH is not being used, this is Not Applicable. Inspect the "MACs" configuration with the following command: Note: The location of the "sshd_config" file may vary if a different daemon is in use. /usr/bin/grep "^Macs" /etc/ssh/sshd_config MACs hmac-sha2-512,hmac-sha2-256 If any hashes other than "hmac-sha2-512" and/or "hmac-sha2-256" are listed, the order differs from the example above, or the "MACs" keyword is missing, this is a finding.
Fix: F-33686r592246_fix
Configure SSH to use secure Keyed-Hash Message Authentication Codes. To ensure that "MACs" set correctly, run the following command: /usr/bin/sudo /usr/bin/grep -q '^MACs' /etc/ssh/sshd_config && /usr/bin/sudo /usr/bin/sed -i.bak 's/^MACs.*/MACs hmac-sha2-256,hmac-sha2-512/' /etc/ssh/sshd_config || /usr/bin/sudo /usr/bin/sed -i.bak '/.*Ciphers and keying.*/a\'$'\n''MACs hmac-sha2-512,hmac-sha2-256'$'\n' /etc/ssh/sshd_config The SSH service must be restarted for changes to take effect.
- RMF Control
- IA-7
- Severity
- M
- CCI
- CCI-000803
- Version
- APPL-11-000056
- Vuln IDs
-
- V-230769
- Rule IDs
-
- SV-230769r599842_rule
Checks: C-33714r591429_chk
If SSH is not being used, this is Not Applicable. Inspect the "KexAlgorithms" configuration with the following command: Note: The location of the "sshd_config" file may vary if a different daemon is in use. /usr/bin/grep "^KexAlgorithms" /etc/ssh/sshd_config KexAlgorithms diffie-hellman-group-exchange-sha256 If any algorithm other than "diffie-hellman-group-exchange-sha256" is listed or the "KexAlgorithms" keyword is missing, this is a finding.
Fix: F-33687r592248_fix
Configure SSH to use a secure Key Exchange Algorithm. To ensure that "KexAlgorithms" set correctly, run the following command: /usr/bin/sudo /usr/bin/grep -q '^KexAlgorithms' /etc/ssh/sshd_config && /usr/bin/sudo /usr/bin/sed -i.bak 's/^KexAlgorithms.*/KexAlgorithms diffie-hellman-group-exchange-sha256/' /etc/ssh/sshd_config || /usr/bin/sudo /usr/bin/sed -i.bak '/.*Ciphers and keying.*/a\'$'\n''KexAlgorithms diffie-hellman-group-exchange-sha256'$'\n' /etc/ssh/sshd_config The SSH service must be restarted for changes to take effect.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000018
- Version
- APPL-11-001001
- Vuln IDs
-
- V-230770
- Rule IDs
-
- SV-230770r599842_rule
Checks: C-33715r591432_chk
To view the currently configured flags for the audit daemon, run the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control Administrative and Privileged access, including administrative use of the command line tools "kextload" and "kextunload" and changes to configuration settings are logged by way of the "ad" flag. If "ad" is not listed in the result of the check, this is a finding.
Fix: F-33688r592250_fix
To ensure the appropriate flags are enabled for auditing, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak '/^flags/ s/$/,ad/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control" file.
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- APPL-11-001002
- Vuln IDs
-
- V-230771
- Rule IDs
-
- SV-230771r599842_rule
Checks: C-33716r591435_chk
To view the currently configured flags for the audit daemon, run the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control Attempts to log in as another user are logged by way of the "lo" flag. If "lo" is not listed in the result of the check, this is a finding.
Fix: F-33689r592252_fix
To ensure the appropriate flags are enabled for auditing, run the following command: /usr/bin/sudo sed -i.bak '/^flags/ s/$/,lo/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control" file.
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-000159
- Version
- APPL-11-001003
- Vuln IDs
-
- V-230772
- Rule IDs
-
- SV-230772r599842_rule
Checks: C-33717r591438_chk
To check if the audit service is running, use the following command: launchctl print-disabled system| grep auditd If the return is not: "com.apple.auditd" => false" the audit service is disabled, and this is a finding.
Fix: F-33690r591439_fix
To enable the audit service, run the following command: /usr/bin/sudo /bin/launchctl enable system/com.apple.auditd The system may need to be restarted for the update to take effect.
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-000140
- Version
- APPL-11-001010
- Vuln IDs
-
- V-230773
- Rule IDs
-
- SV-230773r599842_rule
Checks: C-33718r591441_chk
Verify that the audit control system is configured to shut down upon failure using the following command: sudo /usr/bin/grep ^policy /etc/security/audit_control | /usr/bin/grep ahlt If there is no result, this is a finding.
Fix: F-33691r592255_fix
Edit the "/etc/security/audit_control file" and change the value for policy to include the setting "ahlt". To do this programmatically, run the following command: sudo /usr/bin/sed -i.bak '/^policy/ s/$/,ahlt/' /etc/security/audit_control; sudo /usr/sbin/audit -s
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-11-001012
- Vuln IDs
-
- V-230774
- Rule IDs
-
- SV-230774r599842_rule
Checks: C-33719r591444_chk
To check the ownership of the audit log files, run the following command: /usr/bin/sudo ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') | grep -v current The results should show the owner (third column) to be "root". If they do not, this is a finding.
Fix: F-33692r591445_fix
For any log file that returns an incorrect owner, run the following command: /usr/bin/sudo chown root [audit log file] [audit log file] is the full path to the log file in question.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-11-001013
- Vuln IDs
-
- V-230775
- Rule IDs
-
- SV-230775r599842_rule
Checks: C-33720r591447_chk
To check the ownership of the audit log folder, run the following command: /usr/bin/sudo ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') The results should show the owner (third column) to be "root". If it does not, this is a finding.
Fix: F-33693r591448_fix
For any log folder that has an incorrect owner, run the following command: /usr/bin/sudo chown root [audit log folder]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-11-001014
- Vuln IDs
-
- V-230776
- Rule IDs
-
- SV-230776r599842_rule
Checks: C-33721r591450_chk
To check the group ownership of the audit log files, run the following command: /usr/bin/sudo ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') | /usr/bin/grep -v current The results should show the group owner (fourth column) to be "wheel". If they do not, this is a finding.
Fix: F-33694r591451_fix
For any log file that returns an incorrect group owner, run the following command: /usr/bin/sudo chgrp wheel [audit log file] [audit log file] is the full path to the log file in question.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-11-001015
- Vuln IDs
-
- V-230777
- Rule IDs
-
- SV-230777r599842_rule
Checks: C-33722r591453_chk
To check the group ownership of the audit log folder, run the following command: /usr/bin/sudo ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') The results should show the group (fourth column) to be "wheel". If they do not, this is a finding.
Fix: F-33695r591454_fix
For any log folder that has an incorrect group, run the following command: /usr/bin/sudo chgrp wheel [audit log folder]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-11-001016
- Vuln IDs
-
- V-230778
- Rule IDs
-
- SV-230778r599842_rule
Checks: C-33723r591456_chk
To check the permissions of the audit log files, run the following command: /usr/bin/sudo ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') | /usr/bin/grep -v current The results should show the permissions (first column) to be "440" or less permissive. If they do not, this is a finding.
Fix: F-33696r591457_fix
For any log file that returns an incorrect permission value, run the following command: /usr/bin/sudo chmod 440 [audit log file] [audit log file] is the full path to the log file in question.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-11-001017
- Vuln IDs
-
- V-230779
- Rule IDs
-
- SV-230779r599842_rule
Checks: C-33724r591459_chk
To check the permissions of the audit log folder, run the following command: /usr/bin/sudo ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') The results should show the permissions (first column) to be "700" or less permissive. If they do not, this is a finding.
Fix: F-33697r591460_fix
For any log folder that returns an incorrect permission value, run the following command: /usr/bin/sudo chmod 700 [audit log folder]
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- APPL-11-001020
- Vuln IDs
-
- V-230780
- Rule IDs
-
- SV-230780r599842_rule
Checks: C-33725r591462_chk
To view the currently configured flags for the audit daemon, run the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control Enforcement actions are logged by way of the "fm" flag, which audits permission changes, and "-fr" and "-fw", which denote failed attempts to read or write to a file, and -fd, which audits failed file deletion. If "fm", "-fr", "-fw", and "-fd" are not listed in the result of the check, this is a finding.
Fix: F-33698r592257_fix
To set the audit flags to the recommended setting, run the following command to add the flags "fm", "-fr", "-fw", and "-fd" all at once: /usr/bin/sudo /usr/bin/sed -i.bak '/^flags/ s/$/,fm,-fr,-fw,-fd/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control" file.
- RMF Control
- AU-4
- Severity
- M
- CCI
- CCI-001849
- Version
- APPL-11-001029
- Vuln IDs
-
- V-230781
- Rule IDs
-
- SV-230781r599842_rule
Checks: C-33726r591465_chk
The check displays the amount of time the audit system is configured to retain audit log files. The audit system will not delete logs until the specified condition has been met. To view the current setting, run the following command: /usr/bin/sudo /usr/bin/grep ^expire-after /etc/security/audit_control If this returns no results, or does not contain "7d" or a larger value, this is a finding.
Fix: F-33699r592259_fix
Edit the "/etc/security/audit_control" file and change the value for "expire-after" to the amount of time audit logs should be kept for the system. Use the following command to set the "expire-after" value to "7d": /usr/bin/sudo /usr/bin/sed -i.bak 's/.*expire-after.*/expire-after:7d/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control" file.
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-001855
- Version
- APPL-11-001030
- Vuln IDs
-
- V-230782
- Rule IDs
-
- SV-230782r599842_rule
Checks: C-33727r591468_chk
The check displays the "% free" to leave available for the system. The audit system will not write logs if the volume has less than this percentage of free disk space. To view the current setting, run the following command: /usr/bin/sudo /usr/bin/grep ^minfree /etc/security/audit_control If this returns no results, or does not contain "25", this is a finding.
Fix: F-33700r592261_fix
Edit the "/etc/security/audit_control" file and change the value for "minfree" to "25" using the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*minfree.*/minfree:25/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control file".
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-001858
- Version
- APPL-11-001031
- Vuln IDs
-
- V-230783
- Rule IDs
-
- SV-230783r599842_rule
Checks: C-33728r591471_chk
By default, "auditd" only logs errors to "syslog". To see if audit has been configured to print error messages to the console, run the following command: /usr/bin/sudo /usr/bin/grep logger /etc/security/audit_warn If the argument "-s" is missing, or if "audit_warn" has not been otherwise modified to print errors to the console or send email alerts to the SA and ISSO, this is a finding.
Fix: F-33701r591472_fix
To make "auditd" log errors to standard error as well as "syslogd", run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/logger -p/logger -s -p/' /etc/security/audit_warn; /usr/bin/sudo /usr/sbin/audit -s
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- APPL-11-001044
- Vuln IDs
-
- V-230784
- Rule IDs
-
- SV-230784r599842_rule
Checks: C-33729r591474_chk
To view the currently configured flags for the audit daemon, run the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control Logon events are logged by way of the "aa" flag. If "aa" is not listed in the result of the check, this is a finding.
Fix: F-33702r592263_fix
To ensure the appropriate flags are enabled for auditing, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak '/^flags/ s/$/,aa/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control" file.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000186
- Version
- APPL-11-001060
- Vuln IDs
-
- V-230785
- Rule IDs
-
- SV-230785r599842_rule
Checks: C-33730r591477_chk
To verify that certificate checks are occurring, run the following command. /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep checkCertificateTrust If the output is null or the value returned, "checkCertificateTrust = 1", is not equal to (1) or greater, this is a finding.
Fix: F-33703r591478_fix
This setting is enforced using the "Smart Card Policy" configuration profile. Note: Before applying the "Smart Card Policy", the supplemental guidance provided with the STIG should be consulted to ensure continued access to the operating system.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- APPL-11-001100
- Vuln IDs
-
- V-230786
- Rule IDs
-
- SV-230786r599842_rule
Checks: C-33731r591480_chk
If SSH is not being used, this is Not Applicable. To check if SSH has root logins enabled, run the following command: /usr/bin/grep ^PermitRootLogin /etc/ssh/sshd_config If there is no result, or the result is set to "yes", this is a finding.
Fix: F-33704r591481_fix
To ensure that "PermitRootLogin" is disabled by sshd, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/^[\#]*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002001
- Vuln IDs
-
- V-230787
- Rule IDs
-
- SV-230787r599842_rule
Checks: C-33732r591483_chk
If SMB File Sharing is required, this is not applicable. To check if the SMB File Sharing service is disabled, use the following command: /bin/launchctl print-disabled system | /usr/bin/grep com.apple.smbd If the results do not show the following, this is a finding: "com.apple.smbd" => true
Fix: F-33705r591484_fix
To disable the SMB File Sharing service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.smbd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002003
- Vuln IDs
-
- V-230788
- Rule IDs
-
- SV-230788r599842_rule
Checks: C-33733r591486_chk
If the NFS daemon is required, this is not applicable. To check if the NFS daemon is disabled, use the following command: /bin/launchctl print-disabled system | /usr/bin/grep com.apple.nfsd If the results do not show the following, this is a finding: "com.apple.nfsd" => true
Fix: F-33706r591487_fix
To disable the NFS daemon, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.nfsd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002004
- Vuln IDs
-
- V-230789
- Rule IDs
-
- SV-230789r599842_rule
Checks: C-33734r591489_chk
If Location Services are authorized by the Authorizing Official, this is Not Applicable. Verify that Location Services are disabled: The setting is found in System Preferences >> Security & Privacy >> Privacy >> Location Services. If the box that says, "Enable Location Services" is checked, this is a finding.
Fix: F-33707r591490_fix
Disable the Location Services: The setting is found in System Preferences >> Security & Privacy >> Privacy >> Location Services. Uncheck the box labeled "Enable Location Services".
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002005
- Vuln IDs
-
- V-230790
- Rule IDs
-
- SV-230790r599842_rule
Checks: C-33735r591492_chk
To check that Bonjour broadcasts have been disabled, use the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep NoMulticastAdvertisements If the return is not, "NoMulticastAdvertisments = 1", this is a finding.
Fix: F-33708r591493_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002006
- Vuln IDs
-
- V-230791
- Rule IDs
-
- SV-230791r599842_rule
Checks: C-33736r591495_chk
To check if the UUCP service is disabled, use the following command: /bin/launchctl print-disabled system | /usr/bin/grep com.apple.uucp If the results do not show the following, this is a finding: "com.apple.uucp" => true
Fix: F-33709r591496_fix
To disable the UUCP service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.uucp The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002007
- Vuln IDs
-
- V-230792
- Rule IDs
-
- SV-230792r599842_rule
Checks: C-33737r591498_chk
To check if Internet Sharing is disabled, use the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep forceInternetSharingOff If the return is not, "forceInternetSharingOff = 1", this is a finding.
Fix: F-33710r591499_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002008
- Vuln IDs
-
- V-230793
- Rule IDs
-
- SV-230793r599842_rule
Checks: C-33738r591501_chk
To check if Web Sharing is disabled, use the following command: /bin/launchctl print-disabled system | /usr/bin/grep org.apache.httpd If the results do not show the following, this is a finding: "org.apache.httpd" => true
Fix: F-33711r591502_fix
To disable Web Sharing, run the following command: /usr/bin/sudo /bin/launchctl disable system/org.apache.httpd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-11-002009
- Vuln IDs
-
- V-230794
- Rule IDs
-
- SV-230794r599842_rule
Checks: C-33739r591504_chk
Verify that AirDrop has been disabled by running the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowAirDrop If the return is not, "allowAirDrop = 0", this is a finding.
Fix: F-33712r591505_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-11-002010
- Vuln IDs
-
- V-230795
- Rule IDs
-
- SV-230795r599842_rule
Checks: C-33740r591507_chk
To check if there is a configuration policy defined for "Application Restrictions", run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 familyControlsEnabled | grep "FaceTime" If the return does not contain "/Applications/FaceTime.app", this is a finding.
Fix: F-33713r591508_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-11-002011
- Vuln IDs
-
- V-230796
- Rule IDs
-
- SV-230796r599842_rule
Checks: C-33741r591510_chk
To check if there is a configuration policy defined for "Application Restrictions", run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 familyControlsEnabled | grep "Messages.app" If the return does not contain ”/Applications/Messages.app”, this is a finding.
Fix: F-33714r591511_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-11-002012
- Vuln IDs
-
- V-230797
- Rule IDs
-
- SV-230797r599842_rule
Checks: C-33742r591513_chk
To check if iCloudCalendar is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudCalendar If the return is not “allowCloudCalendar = 0”, this is a finding.
Fix: F-33715r591514_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-11-002013
- Vuln IDs
-
- V-230798
- Rule IDs
-
- SV-230798r599842_rule
Checks: C-33743r591516_chk
To check if iCloud Reminders is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudReminders If the return is not “allowCloudReminders = 0”, this is a finding.
Fix: F-33716r591517_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-11-002014
- Vuln IDs
-
- V-230799
- Rule IDs
-
- SV-230799r599842_rule
Checks: C-33744r591519_chk
Verify that the operating system is configured to disable iCloud Address Book services using the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudAddressBook If the result is not “allowCloudAddressBook = 0”, this is a finding.
Fix: F-33717r591520_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-11-002015
- Vuln IDs
-
- V-230800
- Rule IDs
-
- SV-230800r599842_rule
Checks: C-33745r591522_chk
To check if Mail iCloud is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudMail If the result is not “allowCloudMail = 0”, this is a finding.
Fix: F-33718r591523_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-11-002016
- Vuln IDs
-
- V-230801
- Rule IDs
-
- SV-230801r599842_rule
Checks: C-33746r591525_chk
To check if iCloud Notes is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudNotes If the return is not “allowCloudNotes = 0”, this is a finding.
Fix: F-33719r591526_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- SC-15
- Severity
- M
- CCI
- CCI-001150
- Version
- APPL-11-002017
- Vuln IDs
-
- V-230802
- Rule IDs
-
- SV-230802r599842_rule
Checks: C-33747r591528_chk
If the device or operating system does not have a camera installed, this requirement is not applicable. This requirement is not applicable to mobile devices (smartphones and tablets), where the use of the camera is a local AO decision. This requirement is not applicable to dedicated VTC suites located in approved VTC locations that are centrally managed. For an external camera, if there is not a method for the operator to manually disconnect camera at the end of collaborative computing sessions, this is a finding. For a built-in camera, the camera must be protected by a camera cover (e.g., laptop camera cover slide) when not in use. If the built-in camera is not protected with a camera cover, or is not physically disabled, this is a finding. If the camera is not disconnected, covered, or physically disabled, the following configuration is required: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCamera If the result is “allowCamera = 1” and the collaborative computing device has not been authorized for use, this is a finding.
Fix: F-33720r591529_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002019
- Vuln IDs
-
- V-230803
- Rule IDs
-
- SV-230803r599842_rule
Checks: C-33748r591531_chk
To check if there is a configuration policy defined for "Application Restrictions", run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 familyControlsEnabled | grep "Mail" If the return does not contain "/System/Applications/Mail.app/Contents/MacOS/Mail", this is a finding.
Fix: F-33721r591532_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002020
- Vuln IDs
-
- V-230804
- Rule IDs
-
- SV-230804r599842_rule
Checks: C-33749r591534_chk
To check if Siri and dictation has been disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -e "Assistant Allowed" -e "Ironwood Allowed" If the output is not: “Assistant Allowed = 0” “Ironwood Allowed = 0”, this is a finding.
Fix: F-33722r591535_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- APPL-11-002021
- Vuln IDs
-
- V-230805
- Rule IDs
-
- SV-230805r599842_rule
Checks: C-33750r591537_chk
Sending diagnostic and usage data to Apple must be disabled. To check if a configuration profile is configured to enforce this setting, run the following command: /usr/bin/sudo /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowDiagnosticSubmission If "allowDiagnosticSubmission" is not set to "0", this is a finding. Alternately, the setting is found in System Preferences >> Security & Privacy >> Privacy >> Analytics & Improvement. If the box that says, "Send diagnostic & usage data to Apple" is checked, this is a finding. If the box that says, "Improve Siri & Dictation" is checked, this is a finding. If the box that says, "Share with App Developers" is checked, this is a finding.
Fix: F-33723r592266_fix
This setting is enforced using the "Restrictions Policy" configuration profile. The setting "Send diagnostic & usage data to Apple" can also be configured in System Preferences >> Security & Privacy >> Privacy >> Analytics & Improvement. Uncheck the box that says, "Share Mac Analytics". Uncheck the box that says, "Improve Siri & Dictation". Uncheck the box that says, "Share with App Developers".
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- APPL-11-002022
- Vuln IDs
-
- V-230806
- Rule IDs
-
- SV-230806r599842_rule
Checks: C-33751r591540_chk
To check if Remote Apple Events is disabled, use the following command: /bin/launchctl print-disabled system | /usr/bin/grep com.apple.AEServer If the results do not show the following, this is a finding. "com.apple.AEServer" => true
Fix: F-33724r591541_fix
To disable Remote Apple Events, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.AEServer The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002023
- Vuln IDs
-
- V-230807
- Rule IDs
-
- SV-230807r599842_rule
Checks: C-33752r591543_chk
To check if there is a configuration policy defined for "Application Restrictions", run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 familyControlsEnabled | grep "Calendar" If the return does not contain "/System/Applications/Calendar.app/Contents/MacOS/Calendar", this is a finding.
Fix: F-33725r591544_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- H
- CCI
- CCI-001774
- Version
- APPL-11-002031
- Vuln IDs
-
- V-230808
- Rule IDs
-
- SV-230808r599842_rule
Checks: C-33753r591546_chk
To check if the system has the correct setting in the configuration profile to disable access to the iCloud preference pane, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 6 DisabledPreferencePanes If the return is not an array which contains: “com.apple.preferences.AppleIDPrefPane”, this is a finding.
Fix: F-33726r591547_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001774
- Version
- APPL-11-002032
- Vuln IDs
-
- V-230809
- Rule IDs
-
- SV-230809r599842_rule
Checks: C-33754r591549_chk
To check if the system has the correct setting in the configuration profile to disable access to the iCloud preference pane, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 6 DisabledPreferencePanes If the return is not an array which contains: "com.apple.preferences.internetaccounts", this is a finding.
Fix: F-33727r591550_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002035
- Vuln IDs
-
- V-230810
- Rule IDs
-
- SV-230810r599842_rule
Checks: C-33755r591552_chk
To check if CloudSetup is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep SkipCloudSetup If the return is not "SkipCloudSetup = 1", this is a finding.
Fix: F-33728r591553_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002036
- Vuln IDs
-
- V-230811
- Rule IDs
-
- SV-230811r599842_rule
Checks: C-33756r591555_chk
To check if PrivacySetup is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep SkipPrivacySetup If the return is not “SkipPrivacySetup = 1”, this is a finding.
Fix: F-33729r591556_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002037
- Vuln IDs
-
- V-230812
- Rule IDs
-
- SV-230812r599842_rule
Checks: C-33757r591558_chk
To check if CloudStorage Setup is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep SkipiCloudStorageSetup If the return is not “SkipiCloudStorageSetup = 1”, this is a finding.
Fix: F-33730r591559_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- APPL-11-002038
- Vuln IDs
-
- V-230813
- Rule IDs
-
- SV-230813r599842_rule
Checks: C-33758r591561_chk
To check if the tfptd service is disabled, run the following command: sudo launchctl print-disabled system | grep tftpd If the results do not show the following, this is a finding: "com.apple.tftpd" => true
Fix: F-33731r591562_fix
To disable the tfpd service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.tftpd
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002039
- Vuln IDs
-
- V-230814
- Rule IDs
-
- SV-230814r599842_rule
Checks: C-33759r591564_chk
To check if SiriSetup is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep SkipSiriSetup If the return is not "SkipSiriSetup = 1", this is a finding.
Fix: F-33732r591565_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001774
- Version
- APPL-11-002040
- Vuln IDs
-
- V-230815
- Rule IDs
-
- SV-230815r599842_rule
Checks: C-33760r591567_chk
To view the setting for the iCloud Keychain Synchronization configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudKeychainSync If the output is null or not "allowCloudKeychainSync = 0" this is a finding.
Fix: F-33733r591568_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002041
- Vuln IDs
-
- V-230816
- Rule IDs
-
- SV-230816r599842_rule
Checks: C-33761r591570_chk
To view the setting for the iCloud Document Synchronization configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudDocumentSync If the output is null or not "allowCloudDocumentSync = 0" this is a finding.
Fix: F-33734r591571_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001774
- Version
- APPL-11-002042
- Vuln IDs
-
- V-230817
- Rule IDs
-
- SV-230817r599842_rule
Checks: C-33762r591573_chk
To view the setting for the iCloud Bookmark Synchronization configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudBookmarks If the output is null or not "allowCloudBookmarks = 0" this is a finding.
Fix: F-33735r591574_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-11-002043
- Vuln IDs
-
- V-230818
- Rule IDs
-
- SV-230818r599842_rule
Checks: C-33763r591576_chk
To view the setting for the iCloud Photo Library configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudPhotoLibrary If the output is null or not "allowCloudPhotoLibrary = 0", this is a finding.
Fix: F-33736r591577_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-002050
- Vuln IDs
-
- V-230819
- Rule IDs
-
- SV-230819r599842_rule
Checks: C-33764r591579_chk
To check if the Screen Sharing service is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.screensharing If the results do not show the following, this is a finding: "com.apple.screensharing" => true
Fix: F-33737r591580_fix
To disable the Screen Sharing service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.screensharing The system may need to be restarted for the update to take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-002060
- Vuln IDs
-
- V-230820
- Rule IDs
-
- SV-230820r599842_rule
Checks: C-33765r591582_chk
To verify only applications downloaded from the App Store are allowed to run, type the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -E '(EnableAssessment | AllowIdentifiedDevelopers)' If the return is null, or is not: AllowIdentifiedDevelopers = 1; EnableAssessment = 1; This is a finding.
Fix: F-33738r591583_fix
This setting is enforced using the "RestrictionsPolicy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-002061
- Vuln IDs
-
- V-230821
- Rule IDs
-
- SV-230821r599842_rule
Checks: C-33766r591585_chk
To verify only applications downloaded from the App Store are allowed to run, type the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep DisableOverride If the return is null, or is not: DisableOverride = 1; This is a finding.
Fix: F-33739r591586_fix
This setting is enforced using the "RestrictionsPolicy" configuration profile.
- RMF Control
- SC-8
- Severity
- L
- CCI
- CCI-002418
- Version
- APPL-11-002062
- Vuln IDs
-
- V-230822
- Rule IDs
-
- SV-230822r599842_rule
Checks: C-33767r591588_chk
If Bluetooth connectivity is required to facilitate use of approved external devices, this is not applicable. To check if Bluetooth is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep DisableBluetooth If the return is null or is not "DisableBluetooth = 1", this is a finding.
Fix: F-33740r591589_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- CM-5
- Severity
- H
- CCI
- CCI-001813
- Version
- APPL-11-002063
- Vuln IDs
-
- V-230823
- Rule IDs
-
- SV-230823r599842_rule
Checks: C-33768r591591_chk
To check that the system is configured to disable the guest account, run the following command: # /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep DisableGuestAccount If the result is null or not "DisableGuestAccount = 1", this is a finding.
Fix: F-33741r591592_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- CM-5
- Severity
- H
- CCI
- CCI-001749
- Version
- APPL-11-002064
- Vuln IDs
-
- V-230824
- Rule IDs
-
- SV-230824r599842_rule
Checks: C-33769r591594_chk
To check the status of the Security assessment policy subsystem, run the following command: /usr/sbin/spctl --status | /usr/bin/grep enabled If "assessments enabled" is not returned, this is a finding.
Fix: F-33742r591595_fix
To enable the Security assessment policy subsystem, run the following command: /usr/bin/sudo /usr/sbin/spctl --master-enable
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-002066
- Vuln IDs
-
- V-230825
- Rule IDs
-
- SV-230825r599842_rule
Checks: C-33770r591597_chk
To check if the system is configured to automatically log on, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep DisableAutoLoginClient If "com.apple.login.mcx.DisableAutoLoginClient" is not set to "1", this is a finding.
Fix: F-33743r591598_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- CM-11
- Severity
- M
- CCI
- CCI-001812
- Version
- APPL-11-002067
- Vuln IDs
-
- V-230826
- Rule IDs
-
- SV-230826r599842_rule
Checks: C-33771r591600_chk
To check if the system is configured to prohibit user installation of software, first check to ensure the Parental Controls are enabled with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 6 familyControlsEnabled | grep "/Users" If the result is null, or does not contain "/Users/", this is a finding.
Fix: F-33744r591601_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-002068
- Vuln IDs
-
- V-230827
- Rule IDs
-
- SV-230827r599842_rule
Checks: C-33772r591603_chk
To verify that permissions are set correctly on user home directories, use the following commands: ls -le /Users Should return a listing of the permissions of the root of every user account configured on the system. For each of the users, the permissions should be: "drwxr-xr-x+" with the user listed as the owner and the group listed as "staff". The plus(+) sign indicates an associated Access Control List, which should be: 0: group:everyone deny delete For every authorized user account, also run the following command: /usr/bin/sudo ls -le /Users/userid, where userid is an existing user. This command will return the permissions of all of the objects under the users' home directory. The permissions for each of the subdirectories should be: drwx------+ 0: group:everyone deny delete With the exception of the "Public" directory, whose permissions should match the following: drwxr-xr-x+ 0: group:everyone deny delete If the permissions returned by either of these checks differ from what is shown, this is a finding.
Fix: F-33745r591604_fix
To ensure the appropriate permissions are set for each user on the system, run the following command: diskutil resetUserPermissions / userid, where userid is the user name for the user whose home directory permissions need to be repaired.
- RMF Control
- IA-3
- Severity
- M
- CCI
- CCI-001958
- Version
- APPL-11-002069
- Vuln IDs
-
- V-230828
- Rule IDs
-
- SV-230828r599842_rule
Checks: C-33773r591606_chk
To check that macOS is configured to require authentication to all system preference panes, use the following commands: /usr/bin/sudo /usr/bin/security authorizationdb read system.preferences | grep -A1 shared If what is returned does not include the following, this is a finding. <key>shared</key> <false/>
Fix: F-33746r592268_fix
To ensure that authentication is required to access all system level preference panes use the following procedure: Copy the authorization database to a file using the following command: /usr/bin/sudo /usr/bin/security authorizationdb read system.preferences > ~/Desktop/authdb.txt edit the file to change: <key>shared</key> <true/> To read: <key>shared</key> <false/> Reload the authorization database with the following command: /usr/bin/sudo /usr/bin/security authorizationdb write system.preferences < ~/Desktop/authdb.txt
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- APPL-11-002070
- Vuln IDs
-
- V-230829
- Rule IDs
-
- SV-230829r599842_rule
Checks: C-33774r591609_chk
Ask the System Administrator (SA) or Information System Security Officer (ISSO) if an approved antivirus solution is loaded on the system. The antivirus solution may be bundled with an approved host-based security solution. If there is no local antivirus solution installed on the system, this is a finding.
Fix: F-33747r591610_fix
Install an approved antivirus solution onto the system.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000185
- Version
- APPL-11-003001
- Vuln IDs
-
- V-230830
- Rule IDs
-
- SV-230830r599842_rule
Checks: C-33775r591612_chk
To view a list of installed certificates, run the following command: /usr/bin/sudo /usr/bin/security dump-keychain | /usr/bin/grep labl | awk -F\" '{ print $4 }' If this list contains unapproved certificates, this is a finding.
Fix: F-33748r591613_fix
Obtain the approved DOD certificates from the appropriate authority. Use Keychain Access from "/Applications/Utilities" to add certificates to the System Keychain.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000194
- Version
- APPL-11-003007
- Vuln IDs
-
- V-230831
- Rule IDs
-
- SV-230831r599842_rule
Checks: C-33776r591615_chk
To check the currently applied policies for passwords and accounts, use the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep requireAlphanumeric If the return is not “requireAlphanumeric = 1”, this is a finding.
Fix: F-33749r591616_fix
This setting is enforced using the "Passcode Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000199
- Version
- APPL-11-003008
- Vuln IDs
-
- V-230832
- Rule IDs
-
- SV-230832r599842_rule
Checks: C-33777r591618_chk
To check the currently applied policies for passwords and accounts, use the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep maxPINAgeInDays If "maxPINAgeInDays" is set a value greater than "60", this is a finding.
Fix: F-33750r591619_fix
This setting is enforced using the "Passcode Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000200
- Version
- APPL-11-003009
- Vuln IDs
-
- V-230833
- Rule IDs
-
- SV-230833r599842_rule
Checks: C-33778r591621_chk
To check the currently applied policies for passwords and accounts, use the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep pinHistory If the return is not “pinHistory = 5” or greater, this is a finding.
Fix: F-33751r591622_fix
This setting is enforced using the "Passcode Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- APPL-11-003010
- Vuln IDs
-
- V-230834
- Rule IDs
-
- SV-230834r599842_rule
Checks: C-33779r591624_chk
To check the currently applied policies for passwords and accounts, use the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep minLength If the return is null or not “minLength = 15”, this is a finding.
Fix: F-33752r591625_fix
This setting is enforced using the "Passcode Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-001619
- Version
- APPL-11-003011
- Vuln IDs
-
- V-230835
- Rule IDs
-
- SV-230835r599842_rule
Checks: C-33780r591627_chk
Password policy can be set with a configuration profile or the "pwpolicy" utility. If password policy is set with a configuration profile, run the following command to check if the system is configured to require that passwords contain at least one special character: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep minComplexChars If the return is null or not ” minComplexChars = 1”, this is a finding. Run the following command to check if the system is configured to require that passwords not contain repeated sequential characters or characters in increasing and decreasing sequential order: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowSimple If "allowSimple" is not set to "0" or is undefined, this is a finding.
Fix: F-33753r591628_fix
This setting may be enforced using the "Passcode Policy" configuration profile or by a directory service.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-003012
- Vuln IDs
-
- V-230836
- Rule IDs
-
- SV-230836r599842_rule
Checks: C-33781r591630_chk
To check that password hints are disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep RetriesUntilHint If the return is null or is not "RetriesUntilHint = 0", this is a finding.
Fix: F-33754r591631_fix
This setting is enforce using the "Login Window" Policy.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-003013
- Vuln IDs
-
- V-230837
- Rule IDs
-
- SV-230837r599842_rule
Checks: C-33782r591633_chk
To ensure that a firmware password is set, run the following command: # sudo /usr/sbin/firmwarepasswd -check If the return is not "Password Enabled: Yes", this is a finding.
Fix: F-33755r592270_fix
To set a firmware passcode use the following command. sudo /usr/sbin/firmwarepasswd -setpasswd Note: If firmware password or passcode is forgotten, the only way to reset the forgotten password is through the use of a machine specific binary generated and provided by Apple. Schedule a support call, and provide proof of purchase before the firmware binary will be generated.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000187
- Version
- APPL-11-003020
- Vuln IDs
-
- V-230838
- Rule IDs
-
- SV-230838r599842_rule
Checks: C-33783r591636_chk
To verify that the system is configured to enforce multi-factor authentication, run the following commands: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep enforceSmartCard If the results do not show "enforceSmartCard=1", this is a finding. .
Fix: F-33756r591637_fix
This setting is enforced using the "Smart Card Policy" configuration profile. Note: Before applying the "Smart Card Policy", the supplemental guidance provided with the STIG must be consulted to ensure continued access to the operating system.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-003050
- Vuln IDs
-
- V-230839
- Rule IDs
-
- SV-230839r599842_rule
Checks: C-33784r591639_chk
For systems that are not utilizing smart card authentication, this is Not Applicable. To verify that the "login" command has been configured to require smart card authentication, run the following command: # cat /etc/pam.d/login | grep -i pam_smartcard.so If the text that returns does not include the line, "auth sufficient pam_smartcard.so" at the TOP of the listing, this is a finding.
Fix: F-33757r592272_fix
Make a backup of the PAM LOGIN settings using the following command: sudo cp /etc/pam.d/login /etc/pam.d/login_backup_`date "+%Y-%m-%d_%H:%M"` Replace the contents of "/etc/pam.d/login" with the following: # login: auth account password session auth sufficient pam_smartcard.so auth optional pam_krb5.so use_kcminit auth optional pam_ntlm.so try_first_pass auth optional pam_mount.so try_first_pass auth required pam_opendirectory.so try_first_pass auth required pam_deny.so account required pam_nologin.so account required pam_opendirectory.so password required pam_opendirectory.so session required pam_launchd.so session required pam_uwtmp.so session optional pam_mount.so
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-003051
- Vuln IDs
-
- V-230840
- Rule IDs
-
- SV-230840r599842_rule
Checks: C-33785r591642_chk
For systems that are not utilizing smart card authentication, this is Not Applicable. To verify that the "su" command has been configured to require smart card authentication, run the following command: cat /etc/pam.d/su | grep -i pam_smartcard.so If the text that returns does not include the line, "auth sufficient pam_smartcard.so" at the TOP of the listing, this is a finding.
Fix: F-33758r592274_fix
Make a backup of the PAM SU settings using the following command: cp /etc/pam.d/su /etc/pam.d/su_backup_`date "+%Y-%m-%d_%H:%M"` Replace the contents of "/etc/pam.d/su" with the following: # 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
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-003052
- Vuln IDs
-
- V-230841
- Rule IDs
-
- SV-230841r599842_rule
Checks: C-33786r591645_chk
For systems that are not utilizing smart card authentication, this is Not Applicable. To verify that the "sudo" command has been configured to require smart card authentication, run the following command: cat /etc/pam.d/sudo | grep -i pam_smartcard.so If the text that returns does not include the line, "auth sufficient pam_smartcard.so" at the TOP of the listing, this is a finding.
Fix: F-33759r592276_fix
Make a backup of the PAM SUDO settings using the following command: cp /etc/pam.d/login /etc/pam.d/sudo_backup_`date "+%Y-%m-%d_%H:%M"` Replace the contents of "/etc/pam.d/sudo" with the following: # sudo: auth account password session auth sufficient pam_smartcard.so #auth required pam_opendirectory.so auth required pam_deny.so account required pam_permit.so password required pam_deny.so session required pam_permit.so
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- APPL-11-004001
- Vuln IDs
-
- V-230842
- Rule IDs
-
- SV-230842r599842_rule
Checks: C-33787r591648_chk
Some system log files are controlled by "newsyslog" and "aslmanager". The following commands check for log files that exist on the system and print the path to the log with the corresponding ownership. Run them from inside "/var/log". /usr/bin/sudo stat -f '%Su:%Sg:%N' $(/usr/bin/grep -v '^#' /etc/newsyslog.conf | awk '{ print $1 }') 2> /dev/null /usr/bin/sudo stat -f '%Su:%Sg:%N' $(/usr/bin/grep -e '^>' /etc/asl.conf /etc/asl/* | awk '{ print $2 }') 2> /dev/null Each command may return zero or more files. If there are any system log files that are not owned by "root" and group-owned by "wheel" or admin, this is a finding. Service logs may be owned by the service user account or group.
Fix: F-33760r592278_fix
For any log file that returns an incorrect owner or group value, run the following command: /usr/bin/sudo chown root:wheel [log file] [log file] is the full path to the log file in question. If the file is managed by "newsyslog", find the configuration line in the directory "/etc/newsyslog.d/" or the file "/etc/newsyslog.conf" and ensure that the owner:group column is set to "root:wheel" or the appropriate service user account and group. If the file is managed by "aslmanager", find the configuration line in the directory "/etc/asl/" or the file "/etc/asl.conf" and ensure that "uid" and "gid" options are either not present or are set to a service user account and group respectively.
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- APPL-11-004002
- Vuln IDs
-
- V-230843
- Rule IDs
-
- SV-230843r599842_rule
Checks: C-33788r591651_chk
The following commands check for log files that exist on the system and print the path to the log with the corresponding permissions. Run them from inside "/var/log": /usr/bin/sudo stat -f '%A:%N' $(/usr/bin/grep -v '^#' /etc/newsyslog.conf | awk '{ print $1 }') 2> /dev/null /usr/bin/sudo stat -f '%A:%N' $(/usr/bin/grep -e '^>' /etc/asl.conf /etc/asl/* | awk '{ print $2 }') 2> /dev/null Each command may return zero or more files. If the permissions on log files are not "640" or less permissive, this is a finding.
Fix: F-33761r592280_fix
For any log file that returns an incorrect permission value, run the following command: /usr/bin/sudo chmod 640 [log file] [log file] is the full path to the log file in question. If the file is managed by "newsyslog", find the configuration line in the directory "/etc/newsyslog.d/" or the file "/etc/newsyslog.conf" and edit the mode column to be "640" or less permissive. If the file is managed by "aslmanager", find the configuration line in the directory "/etc/asl/" or the file "/etc/asl.conf" and add or edit the mode option to be "mode=0640" or less permissive.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- APPL-11-004021
- Vuln IDs
-
- V-230844
- Rule IDs
-
- SV-230844r599842_rule
Checks: C-33789r591654_chk
To check if the "tty_tickets" option is set for "/usr/bin/sudo", run the following command: /usr/bin/sudo /usr/bin/grep tty_tickets /etc/sudoers If there is no result, this is a finding.
Fix: F-33762r591655_fix
Edit the "/etc/sudoers" file to contain the line: Defaults tty_tickets This line can be placed in the defaults section or at the end of the file.
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- APPL-11-005001
- Vuln IDs
-
- V-230845
- Rule IDs
-
- SV-230845r599842_rule
Checks: C-33790r591657_chk
System Integrity Protection is a security feature, enabled by default, that protects certain system processes and files from being modified or tampered with. Check the current status of "System Integrity Protection" with the following command: /usr/bin/csrutil status If the result does not show the following, this is a finding. System Integrity Protection status: enabled
Fix: F-33763r591658_fix
To re-enable "System Integrity Protection", boot the affected system into "Recovery" mode, launch "Terminal" from the "Utilities" menu, and run the following command: /usr/bin/csrutil enable
- RMF Control
- SC-28
- Severity
- M
- CCI
- CCI-001199
- Version
- APPL-11-005020
- Vuln IDs
-
- V-230846
- Rule IDs
-
- SV-230846r599842_rule
Checks: C-33791r591660_chk
Verify that "FileVault 2" is enabled by running the following command: /usr/bin/fdesetup status If "FileVault" is "Off" and the device is a mobile device or the organization has determined that the drive must encrypt data at rest, this is a finding.
Fix: F-33764r592282_fix
Open System Preferences >> Security and Privacy and navigate to the "FileVault" tab. Use this panel to configure full-disk encryption. Alternately, from the command line, run the following command to enable "FileVault": /usr/bin/sudo /usr/bin/fdesetup enable After "FileVault" is initially set up, additional users can be added.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-11-005050
- Vuln IDs
-
- V-230847
- Rule IDs
-
- SV-230847r599842_rule
Checks: C-33792r591663_chk
Verify that the built-in Firewall is enabled: # /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep 'EnableFirewall\|EnableStealthMode' If the return is not "EnableFirewall = 1;" and "EnableStealthMode = 1;" this is a finding.
Fix: F-33765r591664_fix
This setting is enforced using the "Restrictions Policy" configuration profile.