Apple macOS 13 (Ventura) Security Technical Implementation Guide
Pick two releases to diff their requirements.
Open a previous version of this STIG.
Digest of Updates +1 −1 ✎ 6
Comparison against the immediately-prior release (V1R2). Rule matching uses the Group Vuln ID. Content-change detection compares the rule’s description, check, and fix text after stripping inline markup — cosmetic-only edits aren’t flagged.
Added rules 1
- V-257776 Medium The macOS system must prevent nonprivileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures.
Removed rules 1
- V-257223 Medium The macOS system must authenticate peripherals before establishing a connection.
Content changes 6
- V-257151 Medium check The macOS system must compare internal information system clocks at least every 24 hours with a server that is synchronized to one of the redundant United States Naval Observatory (USNO) time servers or a time server designated for the appropriate DOD network (NIPRNet/SIPRNet) and/or the Global Positioning System (GPS).
- V-257162 Medium description The macOS system must be configured with the SSH daemon ClientAliveInterval option set to 900 or less.
- V-257199 Medium check The macOS system must be configured to disable Siri and dictation.
- V-257219 High check The macOS system must disable the guest account.
- V-257224 High check The macOS system must use an approved antivirus program.
- V-257239 Medium checkfix The macOS system must require users to reauthenticate for privilege escalation when using the "sudo" command.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000056
- Version
- APPL-13-000001
- Vuln IDs
-
- V-257142
- Rule IDs
-
- SV-257142r905059_rule
Checks: C-60827r905057_chk
Verify the macOS system is configured to prevent Apple Watch from terminating a session lock with 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-60768r905058_fix
Configure the macOS system to prevent Apple Watch from terminating a session lock by installing the "Restrictions Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000056
- Version
- APPL-13-000002
- Vuln IDs
-
- V-257143
- Rule IDs
-
- SV-257143r905062_rule
Checks: C-60828r905060_chk
Verify the macOS system is configured to prompt users to enter a password to unlock the screen saver with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -w "askForPassword" askForPassword = 1; If there is no result, or if "askForPassword" is not set to "1", this is a finding.
Fix: F-60769r905061_fix
Configure the macOS system to prompt users to enter a password to unlock the screen saver by installing the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000056
- Version
- APPL-13-000003
- Vuln IDs
-
- V-257144
- Rule IDs
-
- SV-257144r905065_rule
Checks: C-60829r905063_chk
Verify the macOS system is configured to initiate a session lock within five seconds of the screen saver starting with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "askForPasswordDelay" askForPasswordDelay = 5; If there is no result, or if "askForPasswordDelay" is not set to "5" or less, this is a finding.
Fix: F-60770r905064_fix
Configure the macOS system to initiate a session lock within five seconds of the screen saver starting by installing the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- APPL-13-000004
- Vuln IDs
-
- V-257145
- Rule IDs
-
- SV-257145r905068_rule
Checks: C-60830r905066_chk
Verify the macOS system is configured to initiate the screen saver after 15 minutes of inactivity with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "loginWindowIdleTime" loginWindowIdleTime = 900; If there is no result, or if "idleTime" is not set to "900" seconds or less, this is a finding.
Fix: F-60771r905067_fix
Configure the macOS system to initiate the screen saver after 15 minutes of inactivity by installing the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000058
- Version
- APPL-13-000005
- Vuln IDs
-
- V-257146
- Rule IDs
-
- SV-257146r905071_rule
Checks: C-60831r905069_chk
Verify the macOS system is configured to lock the user session when a smart token is removed with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "tokenRemovalAction" tokenRemovalAction = 1; If there is no result, or if "tokenRemovalAction" is not set to "1", this is a finding.
Fix: F-60772r905070_fix
Configure the macOS system to lock the user session when a smart token is removed by installing the "Smart Card Policy" configuration profile. Note: To ensure continued access to the operating system, consult the supplemental guidance provided with the STIG before applying the "Smart Card Policy".
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000060
- Version
- APPL-13-000006
- Vuln IDs
-
- V-257147
- Rule IDs
-
- SV-257147r905074_rule
Checks: C-60832r905072_chk
Verify the macOS system is configured with a screen saver with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "moduleName" moduleName = Ventura; If there is no result or the "moduleName" is undefined, this is a finding.
Fix: F-60773r905073_fix
Configure the macOS system with a screen saver by installing the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000060
- Version
- APPL-13-000007
- Vuln IDs
-
- V-257148
- Rule IDs
-
- SV-257148r905077_rule
Checks: C-60833r905075_chk
Verify the macOS system is configured to disable hot corners with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "wvous" "wvous-bl-corner" = 0; "wvous-br-corner" = 0; "wvous-tl-corner" = 0; "wvous-tr-corner" = 0; If the command does not return the following, this is a finding. "wvous-bl-corner = 0; wvous-br-corner = 0; wvous-tl-corner = 0; wvous-tr-corner = 0;"
Fix: F-60774r905076_fix
Configure the macOS system to disable hot corners by installing the "Custom Policy" configuration profile.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000016
- Version
- APPL-13-000012
- Vuln IDs
-
- V-257150
- Rule IDs
-
- SV-257150r905083_rule
Checks: C-60835r905081_chk
Verify the macOS system is configured with a policy via directory service to disable temporary or emergency accounts after 72 hours by asking the System Administrator (SA) or Information System Security Officer (ISSO). If a policy is not set by a directory service, a password policy must be set with the "pwpolicy" utility. The variable names may differ depending on how the policy was set. If temporary or emergency accounts are not defined on the macOS system, this is not applicable. Verify the macOS system is configured with a policy to disable temporary or emergency accounts after 72 hours with the following command: /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, a <dict> section 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 more than 72 hours to "policyAttributeCreationTime", this is a finding.
Fix: F-60776r905082_fix
Configure the macOS system to disable temporary or emergency accounts after 72 hours. 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-001891
- Version
- APPL-13-000014
- Vuln IDs
-
- V-257151
- Rule IDs
-
- SV-257151r922872_rule
Checks: C-60836r922871_chk
Verify the macOS system is configured with the timed service enabled and an authorized time server with the following commands: /usr/bin/sudo /usr/sbin/systemsetup -getusingnetworktime Network Time: On If "Network Time" is not set to "On", this is a finding. /usr/bin/sudo /usr/sbin/systemsetup -getnetworktimeserver If no time server is configured, or if an unapproved time server is in use, this is a finding.
Fix: F-60777r905085_fix
Configure the macOS system to enable the timed service and set an authorized time server with the following commands: /usr/bin/sudo /usr/sbin/systemsetup -setusingnetworktime on /usr/bin/sudo /usr/sbin/systemsetup -setnetworktimeserver "server"
- RMF Control
- SI-2
- Severity
- M
- CCI
- CCI-001233
- Version
- APPL-13-000015
- Vuln IDs
-
- V-257152
- Rule IDs
-
- SV-257152r905089_rule
Checks: C-60837r905087_chk
Verify the macOS system is configured with an approved ESS solution. If an approved ESS solution is not installed, this is a finding. Verify that all installed components of the ESS 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-60778r905088_fix
Configure the macOS system with an approved ESS solution 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-13-000016
- Vuln IDs
-
- V-257153
- Rule IDs
-
- SV-257153r905092_rule
Checks: C-60838r905090_chk
If the macOS system is using a mandatory Smart Card Policy, this requirement is not applicable. Verify the macOS system is configured to integrate into a directory service with the following command: /usr/bin/dscl localhost -list . | /usr/bin/grep "Active Directory" If no results are returned, this is a finding.
Fix: F-60779r905091_fix
Configure the macOS system to integrate into an existing directory services infrastructure.
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-002238
- Version
- APPL-13-000022
- Vuln IDs
-
- V-257154
- Rule IDs
-
- SV-257154r905095_rule
Checks: C-60839r905093_chk
Verify the macOS system is configured to enforce the limit of three consecutive invalid logon attempts by a user before the user account is locked with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "maxFailedAttempts\|minutesUntilFailedLoginReset" maxFailedAttempts = 3; minutesUntilFailedLoginReset = 15; If "maxFailedAttempts" is not set to "3" and "minutesUntilFailedLoginReset" is not set to "15", this is a finding.
Fix: F-60780r905094_fix
Configure the macOS system to enforce the limit of three consecutive invalid logon attempts by a user before the user account is locked by installing the "Passcode Policy" configuration profile or by a directory service.
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- APPL-13-000023
- Vuln IDs
-
- V-257155
- Rule IDs
-
- SV-257155r905098_rule
Checks: C-60840r905096_chk
If SSH is not being used, this is not applicable. Verify the macOS system is configured to display the Standard Mandatory DOD Notice and Consent Banner before granting remote 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: /usr/bin/more /etc/banner The command must 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 logon banner before granting remote access 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-60781r905097_fix
Configure the macOS system to display the Standard Mandatory DOD Notice and Consent Banner before granting remote access to the operating system by creating 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-13-000024
- Vuln IDs
-
- V-257156
- Rule IDs
-
- SV-257156r905101_rule
Checks: C-60841r905099_chk
If SSH is not being used, this is not applicable. Verify the macOS system is configured to display the contents of "/etc/banner" before granting access to the system with the following command: /usr/bin/grep -r Banner /etc/ssh/sshd_config* Banner /etc/banner If the sshd Banner configuration option does not point to "/etc/banner", this is a finding. If conflicting results are returned, this is a finding.
Fix: F-60782r905100_fix
Configure the macOS system to display the contents of "/etc/banner" before granting access to the system with 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-13-000025
- Vuln IDs
-
- V-257157
- Rule IDs
-
- SV-257157r905104_rule
Checks: C-60842r905102_chk
Verify the macOS system is configured to display a policy banner with the following command: /bin/ls -l /Library/Security/PolicyBanner.rtfd -rw-r--r--@ 1 admin sheel 37 Jan 27 11:18 /Library/Security/PolicyBanner.rtfd If "PolicyBanner.rtfd" does not exist, this is a finding. If the permissions for "PolicyBanner.rtfd" are not "644", 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-60783r905103_fix
Configure the macOS system to display a policy banner by creating an RTF file containing the required text. Name the file "PolicyBanner.rtfd" and place it in "/Library/Security/". Update the permissions of the "/Library/Security/PolicyBanner.rtfd" file with the following command: /usr/bin/sudo /bin/chmod 644 /Library/Security/PolicyBanner.rtfd
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-13-000030
- Vuln IDs
-
- V-257158
- Rule IDs
-
- SV-257158r905107_rule
Checks: C-60843r905105_chk
Verify the macOS system is configured without ACLs applied to log files with the following command: /usr/bin/sudo /bin/ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | /usr/bin/awk -F: '{print $2}') | /usr/bin/grep -v current In the output from the above command, ACLs will be listed under any file that may contain them (e.g., "0: group:admin allow list,readattr,readextattr,readsecurity"). If any ACLs exists, this is a finding.
Fix: F-60784r905106_fix
Configure the macOS system so that log files do not contain ACLs with the following command: /usr/bin/sudo /bin/chmod -N [audit log file]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-13-000031
- Vuln IDs
-
- V-257159
- Rule IDs
-
- SV-257159r905110_rule
Checks: C-60844r905108_chk
Verify the macOS system is configured without ACLs applied to log folders with the following command: /usr/bin/sudo /bin/ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | /usr/bin/awk -F: '{print $2}') In the output from the above command, ACLs will be listed under any folder that may contain them (e.g., "0: group:admin allow list,readattr,readextattr,readsecurity"). If any ACLs exists, this is a finding.
Fix: F-60785r905109_fix
Configure the macOS system so that log folders do not contain ACLs with the following command: /usr/bin/sudo /bin/chmod -N [audit log folder]
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-000032
- Vuln IDs
-
- V-257160
- Rule IDs
-
- SV-257160r905113_rule
Checks: C-60845r905111_chk
Verify the macOS system is configured with dedicated user accounts to decrypt the hard disk upon startup with the following command: /usr/bin/sudo /usr/bin/fdesetup list fvuser,85F41F44-22B3-6CB7-85A1-BCC2EA2B887A If any unauthorized users are listed, this is a finding. Verify that the shell for authorized FileVault users is set to "/usr/bin/false" to prevent console logons: /usr/bin/sudo /usr/bin/dscl . read /Users/<FileVault_User> UserShell UserShell: /usr/bin/false If the FileVault users' shell is not set to "/usr/bin/false", this is a finding.
Fix: F-60786r905112_fix
Configure the macOS system with a dedicated user account to decrypt the hard disk at startup and disable the logon ability of the newly created user account with the following commands: /usr/bin/sudo /usr/bin/fdesetup add -user <username> /usr/bin/sudo /usr/bin/dscl . change /Users/<FileVault_User> UserShell </path/to/current/shell> /usr/bin/false Remove all FileVault logon access from each user account defined on the system that is not a designated FileVault user: /usr/bin/sudo /usr/bin/fdesetup remove -user <username>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-000033
- Vuln IDs
-
- V-257161
- Rule IDs
-
- SV-257161r905116_rule
Checks: C-60846r905114_chk
Verify the macOS system is configured to disable password forwarding with the following command: /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-60787r905115_fix
Configure the macOS system to disable password forwarding by installing the "Smart Card Policy" configuration profile. Note: To ensure continued access to the operating system, consult the supplemental guidance provided with the STIG before applying the "Smart Card Policy".
- RMF Control
- SC-10
- Severity
- M
- CCI
- CCI-001133
- Version
- APPL-13-000051
- Vuln IDs
-
- V-257162
- Rule IDs
-
- SV-257162r922873_rule
Checks: C-60847r905117_chk
If SSH is not being used, this is not applicable. Verify the macOS system is configured with the SSH daemon "ClientAliveInterval" option set to "900" or less with the following command: /usr/bin/grep -r ^ClientAliveInterval /etc/ssh/sshd_config* If "ClientAliveInterval" is not configured or has a value of "0", this is a finding. If "ClientAliveInterval" is not "900" or less, this is a finding. If conflicting results are returned, this is a finding.
Fix: F-60788r905118_fix
Configure the macOS system to set the SSH daemon "ClientAliveInterval" option to "900" with 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-13-000052
- Vuln IDs
-
- V-257163
- Rule IDs
-
- SV-257163r905122_rule
Checks: C-60848r905120_chk
If SSH is not being used, this is not applicable. Verify the macOS system is configured with the SSH daemon "ClientAliveCountMax" option set to "1" with the following command: /usr/bin/grep -r ^ClientAliveCountMax /etc/ssh/sshd_config* If the setting is not "ClientAliveCountMax 1", this is a finding. If conflicting results are returned, this is a finding.
Fix: F-60789r905121_fix
Configure the macOS system to set the SSH daemon "ClientAliveCountMax" option to "1" with the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*ClientAliveCountMax.*/ClientAliveCountMax 1/' /etc/ssh/sshd_config
- RMF Control
- SC-10
- Severity
- M
- CCI
- CCI-001133
- Version
- APPL-13-000053
- Vuln IDs
-
- V-257164
- Rule IDs
-
- SV-257164r905125_rule
Checks: C-60849r905123_chk
If SSH is not being used, this is not applicable. Verify the macOS system is configured with the SSH daemon "LoginGraceTime" option set to "30" or less with the following command: /usr/bin/grep -r ^LoginGraceTime /etc/ssh/sshd_config* If "LoginGraceTime" is not configured or has a value of "0", this is a finding. If "LoginGraceTime" is not set to "30" or less, this is a finding. If conflicting results are returned, this is a finding.
Fix: F-60790r905124_fix
Configure the macOS system to set the SSH daemon "LoginGraceTime" option to "30" with the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*LoginGraceTime.*/LoginGraceTime 30/' /etc/ssh/sshd_config
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- APPL-13-000054
- Vuln IDs
-
- V-257165
- Rule IDs
-
- SV-257165r919351_rule
Checks: C-60850r919350_chk
Verify the macOS system is configured to use approved SSH ciphers within the SSH server configuration with the following command: /usr/bin/sudo /usr/sbin/sshd -T | /usr/bin/grep "ciphers" ciphers aes128-gcm@openssh.com If any ciphers other than "aes128-gcm@openssh.com" are listed, or the "ciphers" keyword is missing, this is a finding.
Fix: F-60791r916570_fix
Configure the macOS system to use approved SSH ciphers by creating a plain text file in the /private/etc/ssh/sshd_config.d/ directory containing the following: Ciphers aes128-gcm@openssh.com The SSH service must be restarted for changes to take effect.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- APPL-13-000055
- Vuln IDs
-
- V-257166
- Rule IDs
-
- SV-257166r919353_rule
Checks: C-60851r919352_chk
Verify the macOS system is configured to use approved SSH MACs within the SSH server configuration with the following command: /usr/bin/sudo /usr/sbin/sshd -T | /usr/bin/grep "macs" macs hmac-sha2-256 If any hashes other than "hmac-sha2-256" are listed, or the "macs" keyword is missing, this is a finding.
Fix: F-60792r916573_fix
Configure the macOS system to use approved SSH MACs by creating a plain text file in the /private/etc/ssh/sshd_config.d/ directory containing the following: MACs hmac-sha2-256 The SSH service must be restarted for changes to take effect.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- APPL-13-000056
- Vuln IDs
-
- V-257167
- Rule IDs
-
- SV-257167r919355_rule
Checks: C-60852r919354_chk
Verify the macOS system is configured to use approved SSH Key Exchange Algorithms within the SSH server configuration with the following command: /usr/bin/sudo /usr/sbin/sshd -T | /usr/bin/grep "kexalgorithms" kexalgorithms ecdh-sha2-nistp256 If any algorithms other than "ecdh-sha2-nistp256" are listed, or the "kexalgorithms" keyword is missing, this is a finding.
Fix: F-60793r916576_fix
Configure the macOS system to use approved SSH Key Exchange Algorithms by creating a plain text file in the /private/etc/ssh/sshd_config.d/ directory containing the following: KexAlgorithms ecdh-sha2-nistp256 The SSH service must be restarted for changes to take effect.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000018
- Version
- APPL-13-001001
- Vuln IDs
-
- V-257168
- Rule IDs
-
- SV-257168r905137_rule
Checks: C-60853r905135_chk
Verify the macOS system is configured to audit privileged access with the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control If "ad" is not listed in the output, this is a finding.
Fix: F-60794r905136_fix
Configure the macOS system to audit privileged access with 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
- AC-17
- Severity
- M
- CCI
- CCI-000067
- Version
- APPL-13-001002
- Vuln IDs
-
- V-257169
- Rule IDs
-
- SV-257169r905140_rule
Checks: C-60854r905138_chk
Verify the macOS system is configured to audit attempts to access/modify privileges with the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control If "lo" is not listed in the result of the check, this is a finding.
Fix: F-60795r905139_fix
Configure the macOS system to audit attempts to access/modify privileges with 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-3
- Severity
- M
- CCI
- CCI-000130
- Version
- APPL-13-001003
- Vuln IDs
-
- V-257170
- Rule IDs
-
- SV-257170r905143_rule
Checks: C-60855r905141_chk
Verify the macOS system is configured to enable the auditd service with the following command: /bin/launchctl print-disabled system| /usr/bin/grep com.apple.auditd "com.apple.auditd" => enabled If the results are not "com.apple.auditd => enabled", this is a finding.
Fix: F-60796r905142_fix
Configure the macOS system to enable the auditd service with 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-13-001010
- Vuln IDs
-
- V-257171
- Rule IDs
-
- SV-257171r905146_rule
Checks: C-60856r905144_chk
Verify the macOS system is configured to shut down upon audit failure with the following command: /usr/bin/sudo /usr/bin/grep ^policy /etc/security/audit_control | /usr/bin/grep ahlt If there is no result, this is a finding.
Fix: F-60797r905145_fix
Configure the macOS system to shut down upon audit failure by editing the "/etc/security/audit_control" file and updating the policy value to include "ahlt" with the following command: /usr/bin/sudo /usr/bin/sed -i.bak '/^policy/ s/$/,ahlt/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-13-001012
- Vuln IDs
-
- V-257172
- Rule IDs
-
- SV-257172r905149_rule
Checks: C-60857r905147_chk
Verify the macOS system is configured with audit log files owned by root with the following command: /usr/bin/sudo /bin/ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | /usr/bin/awk -F: '{print $2}') | /usr/bin/grep -v current If the files are not owned by root, this is a finding.
Fix: F-60798r905148_fix
Configure the macOS system with audit log files owned by root with the following command: /usr/bin/sudo chown root [audit log file]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-13-001013
- Vuln IDs
-
- V-257173
- Rule IDs
-
- SV-257173r905152_rule
Checks: C-60858r905150_chk
Verify the macOS system is configured with audit log folders owned by root with the following command: /usr/bin/sudo /bin/ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | /usr/bin/awk -F: '{print $2}') If the folders are not owned by root, this is a finding.
Fix: F-60799r905151_fix
Configure the macOS system with audit log folders owned by root with the following command: /usr/bin/sudo chown root [audit log folder]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-13-001014
- Vuln IDs
-
- V-257174
- Rule IDs
-
- SV-257174r905155_rule
Checks: C-60859r905153_chk
Verify the macOS system is configured with audit log files group-owned by wheel with the following command: /usr/bin/sudo /bin/ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | /usr/bin/awk -F: '{print $2}') | /usr/bin/grep -v current If the files are not group-owned by wheel, this is a finding.
Fix: F-60800r905154_fix
Configure the macOS system with audit log files group-owned by wheel with the following command: /usr/bin/sudo chgrp wheel [audit log file]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-13-001015
- Vuln IDs
-
- V-257175
- Rule IDs
-
- SV-257175r905158_rule
Checks: C-60860r905156_chk
Verify the macOS system is configured with audit log folders group-owned by wheel with the following command: /usr/bin/sudo /bin/ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | /usr/bin/awk -F: '{print $2}') If the folders are not group-owned by wheel, this is a finding.
Fix: F-60801r905157_fix
Configure the macOS system with audit log folders group-owned by wheel with the following command: /usr/bin/sudo chgrp wheel [audit log folder]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-13-001016
- Vuln IDs
-
- V-257176
- Rule IDs
-
- SV-257176r905161_rule
Checks: C-60861r905159_chk
Verify the macOS system is configured with audit log files set to mode 440 or less with the following command: /usr/bin/sudo /bin/ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | /usr/bin/awk -F: '{print $2}') | /usr/bin/grep -v current If the files are not mode 440 or less, this is a finding.
Fix: F-60802r905160_fix
Configure the macOS system with audit log files set to mode 440 with the following command: /usr/bin/sudo /bin/chmod 440 [audit log file]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- APPL-13-001017
- Vuln IDs
-
- V-257177
- Rule IDs
-
- SV-257177r905164_rule
Checks: C-60862r905162_chk
Verify the macOS system is configured with audit log folders set to mode 700 or less with the following command: /usr/bin/sudo /bin/ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | /usr/bin/awk -F: '{print $2}') If the folders are not set to mode 700 or less, this is a finding.
Fix: F-60803r905163_fix
Configure the macOS system with audit log folders set to mode 700 with the following command: /usr/bin/sudo /bin/chmod 700 [audit log folder]
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- APPL-13-001020
- Vuln IDs
-
- V-257178
- Rule IDs
-
- SV-257178r905167_rule
Checks: C-60863r905165_chk
Verify the macOS system is configured to audit enforcement actions with the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control If "fm", "-fr", "-fw", and "-fd" are not listed in the result of the check, this is a finding.
Fix: F-60804r905166_fix
Configure the macOS system to audit enforcement actions with the following command: /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
- L
- CCI
- CCI-001849
- Version
- APPL-13-001029
- Vuln IDs
-
- V-257179
- Rule IDs
-
- SV-257179r905170_rule
Checks: C-60864r905168_chk
Verify the macOS system is configured to store at least seven days of audit records with the following command: /usr/bin/sudo /usr/bin/grep ^expire-after /etc/security/audit_control expire-after:7d If "expire-after" is not set to "7d" or greater, this is a finding.
Fix: F-60805r905169_fix
Configure the macOS system to store seven days of audit records with the following command: /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 Alternatively, use a text editor to update the "/etc/security/audit_control" file.
- RMF Control
- AU-5
- Severity
- L
- CCI
- CCI-001855
- Version
- APPL-13-001030
- Vuln IDs
-
- V-257180
- Rule IDs
-
- SV-257180r905173_rule
Checks: C-60865r905171_chk
Verify the macOS system is configured to require a minimum of 25 percent free disk space for audit record storage with the following command: /usr/bin/sudo /usr/bin/grep ^minfree /etc/security/audit_control minfree:25 If "minfree" is not set to "25", this is a finding.
Fix: F-60806r905172_fix
Configure the macOS system to require 25 percent free disk space for audit record storage with 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 Alternatively, use a text editor to update the "/etc/security/audit_control" file.
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-001858
- Version
- APPL-13-001031
- Vuln IDs
-
- V-257181
- Rule IDs
-
- SV-257181r905176_rule
Checks: C-60866r905174_chk
Verify the macOS system is configured to print error messages to the console with the following command: /usr/bin/sudo /usr/bin/grep logger /etc/security/audit_warn logger -s -p security.warning "audit warning: $type $argument" 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-60807r905175_fix
Configure the macOS system to print error messages to the console with 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 Alternatively, use a text editor to update the "/etc/security/audit_warn" file.
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- APPL-13-001044
- Vuln IDs
-
- V-257182
- Rule IDs
-
- SV-257182r905179_rule
Checks: C-60867r905177_chk
Verify the macOS system is configured to audit logon events with the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control If "aa" is not listed in the result of the check, this is a finding.
Fix: F-60808r905178_fix
Configure the macOS system to audit logon events with 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-13-001060
- Vuln IDs
-
- V-257183
- Rule IDs
-
- SV-257183r905182_rule
Checks: C-60868r905180_chk
Verify the macOS system is configured to check the revocation status of user certificates with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "checkCertificateTrust" checkCertificateTrust = 1; If there is no result, or if "checkCertificateTrust" is not set to "1" or greater, this is a finding.
Fix: F-60809r905181_fix
Configure the macOS system to check the revocation status of user certificates by installing the "Smart Card Policy" configuration profile. Note: To ensure continued access to the operating system, consult the supplemental guidance provided with the STIG before applying the "Smart Card Policy".
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- APPL-13-001100
- Vuln IDs
-
- V-257184
- Rule IDs
-
- SV-257184r905185_rule
Checks: C-60869r905183_chk
If SSH is not being used, this is not applicable. Verify the macOS system is configured to disable root logins over SSH with the following command: /usr/bin/grep -r ^PermitRootLogin /etc/ssh/sshd_config* If there is no result, or the result is set to "yes", this is a finding. If conflicting results are returned, this is a finding.
Fix: F-60810r905184_fix
Configure the macOS system to disable root logins over SSH with 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-13-002001
- Vuln IDs
-
- V-257185
- Rule IDs
-
- SV-257185r905188_rule
Checks: C-60870r905186_chk
Verify the macOS system is configured to disable the SMB File Sharing service with the following command: /bin/launchctl print-disabled system | /usr/bin/grep com.apple.smbd "com.apple.smbd" => disabled If the results are not "com.apple.smbd => disabled" or SMB file sharing has not been documented with the ISSO as an operational requirement, this is a finding.
Fix: F-60811r905187_fix
Configure the macOS system to disable the SMB File Sharing service with 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-13-002003
- Vuln IDs
-
- V-257186
- Rule IDs
-
- SV-257186r905191_rule
Checks: C-60871r905189_chk
Verify the macOS system is configured to disable the NFS daemon with the following command: /bin/launchctl print-disabled system | /usr/bin/grep com.apple.nfsd "com.apple.nfsd" => disabled If the results are not "com.apple.nfsd => disabled" or the use of NFS has not been documented with the ISSO as an operational requirement, this is a finding.
Fix: F-60812r905190_fix
Configure the macOS system to disable the NFS daemon with 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-13-002004
- Vuln IDs
-
- V-257187
- Rule IDs
-
- SV-257187r905194_rule
Checks: C-60872r905192_chk
Verify the macOS system is configured to disable Location Services with the following command: /usr/bin/sudo /usr/bin/defaults read /var/db/locationd/Library/Preferences/ByHost/com.apple.locationd | /usr/bin/grep "LocationServicesEnabled" LocationServicesEnabled = 0; If "LocationServicesEnabled" is not set to "0" and the AO has not authorized the use of location services, this is a finding.
Fix: F-60813r905193_fix
Configure the macOS system to disable Location Services with the following command: /usr/bin/sudo /usr/bin/defaults write /var/db/locationd/Library/Preferences/ByHost/com.apple.locationd LocationServicesEnabled -bool false The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002005
- Vuln IDs
-
- V-257188
- Rule IDs
-
- SV-257188r905197_rule
Checks: C-60873r905195_chk
Verify the macOS system is configured to disable Bonjour multicast advertising with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "NoMulticastAdvertisements" NoMulticastAdverstisements = 1; If there is no result, or if "NoMulticastAdvertisements" is not set to "1", this is a finding.
Fix: F-60814r905196_fix
Configure the macOS system to disable Bonjour multicast advertising by installing the "Custom Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002006
- Vuln IDs
-
- V-257189
- Rule IDs
-
- SV-257189r905200_rule
Checks: C-60874r905198_chk
Verify the macOS system is configured to disable the UUCP service with the following command: /bin/launchctl print-disabled system | /usr/bin/grep com.apple.uucp "com.apple.uucp" => disabled If the results are not "com.apple.uucp => disabled", this is a finding.
Fix: F-60815r905199_fix
Configure the macOS system to disable the UUCP service with 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-13-002007
- Vuln IDs
-
- V-257190
- Rule IDs
-
- SV-257190r905203_rule
Checks: C-60875r905201_chk
Verify the macOS system is configured to disable Internet Sharing with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "forceInternetSharingOff" forceInternetSharingOff = 1; If there is no result, or if "forceInternetSharingOff" is not set to "1", this is a finding.
Fix: F-60816r905202_fix
Configure the macOS system to disable Internet Sharing by installing the "Custom Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002008
- Vuln IDs
-
- V-257191
- Rule IDs
-
- SV-257191r905206_rule
Checks: C-60876r905204_chk
Verify the macOS system is configured to disable Web Sharing with the following command: /bin/launchctl print-disabled system | /usr/bin/grep org.apache.httpd "org.apache.httpd" => disabled If the results are not "org.apache.httpd => disabled", this is a finding.
Fix: F-60817r905205_fix
Configure the macOS system to disable Web Sharing with 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-13-002009
- Vuln IDs
-
- V-257192
- Rule IDs
-
- SV-257192r905209_rule
Checks: C-60877r905207_chk
Verify the macOS system is configured to disable AirDrop with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowAirDrop" allowAirDrop = 0; If there is no result, or if "allowAirDrop" is not set to "0", this is a finding.
Fix: F-60818r905208_fix
Configure the macOS system to disable AirDrop by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-13-002012
- Vuln IDs
-
- V-257193
- Rule IDs
-
- SV-257193r905212_rule
Checks: C-60878r905210_chk
Verify the macOS system is configured to disable iCloud Calendar services with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowCloudCalendar" allowCloudCalendar = 0; If there is no result, or if "allowCloudCalendar" is not set to "0", this is a finding.
Fix: F-60819r905211_fix
Configure the macOS system to disable iCloud Calendar services by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-13-002013
- Vuln IDs
-
- V-257194
- Rule IDs
-
- SV-257194r905215_rule
Checks: C-60879r905213_chk
Verify the macOS system is configured to disable iCloud Reminders services with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowCloudReminders" allowCloudReminders = 0; If there is no result, or if "allowCloudReminders" is not set to "0", this is a finding.
Fix: F-60820r905214_fix
Configure the macOS system to disable iCloud Reminders services by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-13-002014
- Vuln IDs
-
- V-257195
- Rule IDs
-
- SV-257195r905218_rule
Checks: C-60880r905216_chk
Verify the macOS system is configured to disable iCloud Address Book services with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowCloudAddressBook" allowCloudAddressBook = 0; If there is no result, or if "allowCloudAddressBook" is not set to "0", this is a finding.
Fix: F-60821r905217_fix
Configure the macOS system to disable iCloud Address Book services by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-13-002015
- Vuln IDs
-
- V-257196
- Rule IDs
-
- SV-257196r905221_rule
Checks: C-60881r905219_chk
Verify the macOS system is configured to disable iCloud Mail services with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowCloudMail" allowCloudMail = 0; If there is no result, or if "allowCloudMail" is not set to "0", this is a finding.
Fix: F-60822r905220_fix
Configure the macOS system to disable iCloud Mail services by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-13-002016
- Vuln IDs
-
- V-257197
- Rule IDs
-
- SV-257197r905224_rule
Checks: C-60882r905222_chk
Verify the macOS system is configured to disable iCloud Notes services with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowCloudNotes" allowCloudNotes = 0; If there is no result, or if "allowCloudNotes" is not set to "0", this is a finding.
Fix: F-60823r905223_fix
Configure the macOS system to disable iCloud Notes services by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002017
- Vuln IDs
-
- V-257198
- Rule IDs
-
- SV-257198r905227_rule
Checks: C-60883r905225_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" allowCamera = 0; If the result is "allowCamera = 1" and the collaborative computing device has not been authorized for use, this is a finding.
Fix: F-60824r905226_fix
Configure the macOS system to disable the built-in camera by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002020
- Vuln IDs
-
- V-257199
- Rule IDs
-
- SV-257199r922885_rule
Checks: C-60884r922884_chk
To check if Siri and dictation has been disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -e "Ironwood Allowed" If the output is not: "Ironwood Allowed = 0", this is a finding.
Fix: F-60825r905229_fix
Configure the macOS system to disable Siri and dictation by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- APPL-13-002021
- Vuln IDs
-
- V-257200
- Rule IDs
-
- SV-257200r905233_rule
Checks: C-60885r905231_chk
Verify the macOS system is configured to disable sending diagnostic and usage data to Apple with the following command: /usr/bin/sudo /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowDiagnosticSubmission" allowDiagnosticSubmission = 0; If there is no result, or if "allowDiagnosticSubmission" is not set to "0", this is a finding. Alternatively, the settings are found in System Settings >> Privacy & Security >> Privacy >> Analytics & Improvements. If the box "Share Mac Analytics" is checked, this is a finding. If the box "Improve Siri & Dictation" is checked, this is a finding. If the box "Share with app developers" is checked, this is a finding.
Fix: F-60826r905232_fix
Configure the macOS system to disable sending diagnostic and usage data to Apple by installing the "Restrictions Policy" configuration profile. Alternatively, the settings can be configured in System Settings >> Privacy & Security >> Privacy >> Analytics & Improvements by performing the following: - Uncheck the box, "Share Mac Analytics". - Uncheck the box "Improve Siri & Dictation". - Uncheck the box "Share with app developers".
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- APPL-13-002022
- Vuln IDs
-
- V-257201
- Rule IDs
-
- SV-257201r905236_rule
Checks: C-60886r905234_chk
Verify the macOS system is configured to disable Remote Apple Events with the following command: /bin/launchctl print-disabled system | /usr/bin/grep com.apple.AEServer "com.apple.AEServer" => disabled If the results are not "com.apple.AEServer => disabled", this is a finding.
Fix: F-60827r905235_fix
Configure the macOS system to disable Remote Apple Events with 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
- H
- CCI
- CCI-001774
- Version
- APPL-13-002031
- Vuln IDs
-
- V-257202
- Rule IDs
-
- SV-257202r905239_rule
Checks: C-60887r905237_chk
Verify the macOS system is configured to disable access to the Apple ID preference pane with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 6 "DisabledPreferencePanes" If the result is not an array listing "DisabledPreferencePanes" containing "com.apple.preferences.AppleIDPrefPane", this is a finding.
Fix: F-60828r905238_fix
Configure the macOS system to disable access to the Apple ID preference pane by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002032
- Vuln IDs
-
- V-257203
- Rule IDs
-
- SV-257203r905242_rule
Checks: C-60888r905240_chk
Verify the macOS system is configured to disable access to the Internet Accounts preference pane with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 6 "DisabledPreferencePanes" If the result is not an array listing "DisabledPreferencePanes" containing "com.apple.preferences.internetaccounts", this is a finding.
Fix: F-60829r905241_fix
Configure the macOS system to disable access to the Internet Accounts preference pane by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002035
- Vuln IDs
-
- V-257204
- Rule IDs
-
- SV-257204r905245_rule
Checks: C-60889r905243_chk
Verify the macOS system is configured to disable the Cloud Setup services with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "SkipCloudSetup" SkipCloudSetup = 1; If there is no result, or if "SkipCloudSetup" is not set to "1", this is a finding.
Fix: F-60830r905244_fix
Configure the macOS system to disable the Cloud Setup services by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002036
- Vuln IDs
-
- V-257205
- Rule IDs
-
- SV-257205r905248_rule
Checks: C-60890r905246_chk
Verify the macOS system is configured to disable the Privacy Setup services with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "SkipPrivacySetup" SkipPrivacySetup = 1; If there is no result, or if "SkipPrivacySetup" is not set to "1", this is a finding.
Fix: F-60831r905247_fix
Configure the macOS system to disable the Privacy Setup services by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002037
- Vuln IDs
-
- V-257206
- Rule IDs
-
- SV-257206r905251_rule
Checks: C-60891r905249_chk
Verify the macOS system is configured to disable the Cloud Storage Setup services with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "SkipiCloudStorageSetup" SkipiCloudStorageSetup = 1; If there is no result, or if "SkipiCloudStorageSetup" is not set to "1", this is a finding.
Fix: F-60832r905250_fix
Configure the macOS system to disable the Cloud Storage Setup services by installing the "Restrictions Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- APPL-13-002038
- Vuln IDs
-
- V-257207
- Rule IDs
-
- SV-257207r905254_rule
Checks: C-60892r905252_chk
Verify the macOS system is configured to disable the tfptd service with the following command: /bin/launchctl print-disabled system | /usr/bin/grep com.apple.tftpd "com.apple.tftpd" => disabled If the results are not "com.apple.tftpd => disabled", this is a finding.
Fix: F-60833r905253_fix
Configure the macOS system to disable the "tftpd" service with the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.tftpd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002039
- Vuln IDs
-
- V-257208
- Rule IDs
-
- SV-257208r905257_rule
Checks: C-60893r905255_chk
Verify the macOS system is configured to disable the Siri Setup services with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "SkipSiriSetup" SkipSiriSetup = 1; If there is no result, or if "SkipSiriSetup" is not set to "1", this is a finding.
Fix: F-60834r905256_fix
Configure the macOS system to disable the Siri Setup services by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002040
- Vuln IDs
-
- V-257209
- Rule IDs
-
- SV-257209r905260_rule
Checks: C-60894r905258_chk
Verify the macOS system is configured to disable iCloud Keychain synchronization with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowCloudKeychainSync" allowCloudKeychainSync = 0; If there is no result, or if "allowCloudKeychainSync" is not set to "0", this is a finding.
Fix: F-60835r905259_fix
Configure the macOS system to disable iCloud Keychain synchronization by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002041
- Vuln IDs
-
- V-257210
- Rule IDs
-
- SV-257210r905263_rule
Checks: C-60895r905261_chk
Verify the macOS system is configured to disable iCloud Document synchronization with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowCloudDocumentSync" allowCloudDocumentSync = 0; If there is no result, or if "allowCloudDocumentSync" is not set to "0", this is a finding.
Fix: F-60836r905262_fix
Configure the macOS system to disable iCloud Document synchronization by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002042
- Vuln IDs
-
- V-257211
- Rule IDs
-
- SV-257211r905266_rule
Checks: C-60896r905264_chk
Verify the macOS system is configured to disable iCloud Bookmark synchronization with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowCloudBookmarks" allowCloudBookmarks = 0; If there is no result, or if "allowCloudBookmarks" is not set to "0", this is a finding.
Fix: F-60837r905265_fix
Configure the macOS system to disable iCloud Bookmark synchronization by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002043
- Vuln IDs
-
- V-257212
- Rule IDs
-
- SV-257212r905269_rule
Checks: C-60897r905267_chk
Verify the macOS system is configured to disable the iCloud Photo Library with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowCloudPhotoLibrary" allowCloudPhotoLibrary = 0; If there is no result, or if "allowCloudPhotoLibrary" is not set to "0", this is a finding.
Fix: F-60838r905268_fix
Configure the macOS system to disable the iCloud Photo Library by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-002050
- Vuln IDs
-
- V-257213
- Rule IDs
-
- SV-257213r905272_rule
Checks: C-60898r905270_chk
Verify the macOS system is configured to disable the Screen Sharing feature with the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.screensharing "com.apple.screensharing => disabled" If "com.apple.screensharing" is not set to "disabled", this is a finding.
Fix: F-60839r905271_fix
Configure the macOS system to disable the Screen Sharing service with 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-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002051
- Vuln IDs
-
- V-257214
- Rule IDs
-
- SV-257214r905275_rule
Checks: C-60899r905273_chk
Verify the macOS system is configured to disable access to the TouchID & Password preference pane with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 6 "DisabledPreferencePanes" If the result is not an array listing "DisabledPreferencePanes" containing "com.apple.preferences.password", this is a finding.
Fix: F-60840r905274_fix
Configure the macOS system to disable access to the TouchID & Password preference pane by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002052
- Vuln IDs
-
- V-257215
- Rule IDs
-
- SV-257215r905278_rule
Checks: C-60900r905276_chk
Verify the macOS system is configured to disable access to the Wallet & ApplePay preference pane with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 6 "DisabledPreferencePanes" If the return is not two arrays "HiddenPreferencePanes" and "DisabledPreferencePanes", each containing "com.apple.preferences.wallet", this is a finding.
Fix: F-60841r905277_fix
Configure the macOS system to disable access to the Wallet & ApplePay preference pane by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-002053
- Vuln IDs
-
- V-257216
- Rule IDs
-
- SV-257216r905281_rule
Checks: C-60901r905279_chk
Verify the macOS system is configured to disable access to the Siri preference pane with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 6 "DisabledPreferencePanes" If the result is not an array listing "DisabledPreferencePanes" containing "com.apple.preference.speech", this is a finding.
Fix: F-60842r905280_fix
Configure the macOS system to disable access to the Siri preference pane by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-002060
- Vuln IDs
-
- V-257217
- Rule IDs
-
- SV-257217r905284_rule
Checks: C-60902r905282_chk
Verify the macOS system is configured to only allow applications with a valid digital signature with the following commands: /usr/sbin/system_profiler SPApplicationsDataType | /usr/bin/grep -B 3 -A 4 -e "Obtained from: Unknown" | /usr/bin/grep -v -e "Location: /Library/Application Support/Script Editor/Templates" -e "Location: /System/Library/" | /usr/bin/awk -F "Location: " '{print $2}' | /usr/bin/sort -u If any results are returned and is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding. Verify only applications with a valid digital signature are allowed to run: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -E "(EnableAssessment | AllowIdentifiedDevelopers)" If the result is not as follows, this is a finding. "AllowIdentifiedDevelopers = 1; EnableAssessment = 1;"
Fix: F-60843r905283_fix
Configure the macOS system to only allow applications with a valid digital signature by installing the "Restrictions Policy" configuration profile.
- RMF Control
- IA-3
- Severity
- L
- CCI
- CCI-001967
- Version
- APPL-13-002062
- Vuln IDs
-
- V-257218
- Rule IDs
-
- SV-257218r905287_rule
Checks: C-60903r905285_chk
Verify the macOS system is configured to disable Bluetooth with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "DisableBluetooth" DisableBluetooth = 1; If the result is not "DisableBluetooth = 1" and the use of Bluetooth has not been documented with the ISSO as an operational requirement, this is a finding. Verify the macOS system is configured to disable access to the Bluetooth preference pane with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 6 "DisabledPreferencePanes" If the result is not an array listing "DisabledPreferencePanes" containing "com.apple.preferences.Bluetooth" and the use of Bluetooth has not been documented with the ISSO as an operational requirement, this is a finding.
Fix: F-60844r905286_fix
Configure the macOS system to disable Bluetooth and disable access to the Bluetooth preference pane by installing the "Custom Policy" and "Restrictions Policy" configuration profiles.
- RMF Control
- CM-5
- Severity
- H
- CCI
- CCI-001813
- Version
- APPL-13-002063
- Vuln IDs
-
- V-257219
- Rule IDs
-
- SV-257219r922875_rule
Checks: C-60904r922874_chk
Verify the macOS system is configured to disable the guest account with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "GuestAccount" DisableGuestAccount = 1; EnableGuestAccount = 0; If the result are not "DisableGuestAccount = 1" and "EnableGuestAccount = 0", this is a finding.
Fix: F-60845r905289_fix
Configure the macOS system to disable the guest account by installing the "Login Window Policy" configuration profile.
- RMF Control
- CM-5
- Severity
- H
- CCI
- CCI-001749
- Version
- APPL-13-002064
- Vuln IDs
-
- V-257220
- Rule IDs
-
- SV-257220r905293_rule
Checks: C-60905r905291_chk
Verify the macOS system is configured with the security assessment policy subsystem enabled with the following command: /usr/sbin/spctl --status assessments enabled If "assessments enabled" is not returned, this is a finding.
Fix: F-60846r905292_fix
Configure the macOS system to enable the security assessment policy subsystem by installing the "Custom Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-002066
- Vuln IDs
-
- V-257221
- Rule IDs
-
- SV-257221r905296_rule
Checks: C-60906r905294_chk
Verify the macOS system is configured to not allow automatic logon with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "DisableAutoLoginClient" "com.apple.login.mcx.DisableAutoLoginClient" = 1; If "com.apple.login.mcx.DisableAutoLoginClient" is not set to "1", this is a finding.
Fix: F-60847r905295_fix
Configure the macOS system to not allow automatic login by installing the "Login Window Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-002068
- Vuln IDs
-
- V-257222
- Rule IDs
-
- SV-257222r905299_rule
Checks: C-60907r905297_chk
Verify the macOS system is configured so that permissions are set correctly on user home directories with the following commands: /bin/ls -le /Users This command will return a listing of the permissions of the root of every user account configured on the system. For each of the users, the permissions must 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 must be: 0: group:everyone deny delete For every authorized user account, also run the following command: /usr/bin/sudo /bin/ls -le /Users/userid, where userid is an existing user. This command will return the permissions of all the objects under the users' home directory. The permissions for each of the subdirectories must be: drwx------+ 0: group:everyone deny delete The exception is the "Public" directory, whose permissions must 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-60848r905298_fix
Configure the macOS system to set the appropriate permissions for each user on the system with the following command: /usr/sbin/diskutil resetUserPermissions / DeviceNode UID, where "DeviceNode UID" is the ID number for the user whose home directory permissions need to be repaired.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- APPL-13-002070
- Vuln IDs
-
- V-257224
- Rule IDs
-
- SV-257224r922877_rule
Checks: C-60909r922876_chk
Verify the macOS system has the XProtect service running with the following command: /bin/launchctl list | /usr/bin/grep -cE "(com.apple.XprotectFramework.PluginService$|com.apple.XProtect.daemon.scan$)" If the results show "2", the XProtect Service is running. If the XProtect service is running, verify that it is configured to update automatically by using the following command: /usr/bin/defaults read /Library/Preferences/com.apple.SoftwareUpdate.plist | /usr/bin/grep "ConfigDataInstall" ConfigDataInstall = 1; If the XProtect service is being used and "ConfigDataInstall" is not set to "1", this is a finding. If XProtect is not active on the system, 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-60850r905304_fix
Configure the macOS system to automatically update XProtect by installing the "Restrictions Policy" configuration profile. If XProtect is not being used, install an approved antivirus solution on the system.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000185
- Version
- APPL-13-003001
- Vuln IDs
-
- V-257225
- Rule IDs
-
- SV-257225r905308_rule
Checks: C-60910r905306_chk
Verify the macOS system is configured with approved DOD certificates with the following command: /usr/bin/sudo /usr/bin/security dump-keychain | /usr/bin/grep labl | /usr/bin/awk -F\" '{ print $4 }' If this list contains unapproved certificates, this is a finding.
Fix: F-60851r905307_fix
Configure the macOS system with approved DOD certificates from the appropriate authority. Use Keychain Access from "/Applications/Utilities" to add certificates to the System Keychain or build a certificate root trust payload as described in the supplemental documentation supplied in this STIG package.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000194
- Version
- APPL-13-003007
- Vuln IDs
-
- V-257226
- Rule IDs
-
- SV-257226r905311_rule
Checks: C-60911r905309_chk
Verify the macOS system is configured to require at least one numeric character in password complexity with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "requireAlphanumeric" requireAlphanumeric = 1; If the result is not "requireAlphanumeric = 1", this is a finding.
Fix: F-60852r905310_fix
Configure the macOS system to require at least one numeric character in password complexity by installing the "Passcode Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000199
- Version
- APPL-13-003008
- Vuln IDs
-
- V-257227
- Rule IDs
-
- SV-257227r905314_rule
Checks: C-60912r905312_chk
Verify the macOS system is configured to enforce a 60-day maximum password lifetime with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "maxPINAgeInDays" maxPINAgeInDays = 60; If "maxPINAgeInDays" is set a value greater than "60", this is a finding.
Fix: F-60853r905313_fix
Configure the macOS system to require the enforcement of a 60-day maximum password lifetime by installing the "Passcode Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000200
- Version
- APPL-13-003009
- Vuln IDs
-
- V-257228
- Rule IDs
-
- SV-257228r905317_rule
Checks: C-60913r905315_chk
Verify the macOS system is configured to prohibit password reuse for a minimum of five generations with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "pinHistory" pinHistory = 5; If "pinHistory" is not set to "5" or greater, this is a finding.
Fix: F-60854r905316_fix
Configure the macOS system to prohibit password reuse for five generations by installing the "Passcode Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- APPL-13-003010
- Vuln IDs
-
- V-257229
- Rule IDs
-
- SV-257229r905320_rule
Checks: C-60914r905318_chk
Verify the macOS system is configured to enforce a minimum 15-character password length with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "minLength" minLength = 15; If "minLength" is not set to "15", this is a finding.
Fix: F-60855r905319_fix
Configure the macOS system to enforce a 15-character password length by installing the "Passcode Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-001619
- Version
- APPL-13-003011
- Vuln IDs
-
- V-257230
- Rule IDs
-
- SV-257230r905323_rule
Checks: C-60915r905321_chk
Verify the macOS system is configured to enforce at least one special character of password complexity with the following commands: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "minComplexChars" minComplexChar = 1; If "minComplexChars" is not set to "1", this is a finding. /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowSimple" allowSimple = 0; If "allowSimple" is not set to "0", this is a finding.
Fix: F-60856r905322_fix
Configure the macOS system to enforce at least one special character of password complexity by installing the "Passcode Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-003012
- Vuln IDs
-
- V-257231
- Rule IDs
-
- SV-257231r905326_rule
Checks: C-60916r905324_chk
Verify the macOS system is configured to prevent displaying passwords hints with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "RetriesUntilHint" RetriesUntilHint = 0; If "RetriesUntilHint" is not set to "0", this is a finding.
Fix: F-60857r905325_fix
Configure the macOS system to prevent displaying password hints by installing the "Login Window Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-003013
- Vuln IDs
-
- V-257232
- Rule IDs
-
- SV-257232r905329_rule
Checks: C-60917r905327_chk
For Apple Silicon-based systems, this is not applicable. Verify the macOS system is configured with a firmware password with the following command: /usr/bin/sudo /usr/sbin/firmwarepasswd -check Password Enabled:Yes If "Password Enabled" is not set to "Yes", this is a finding.
Fix: F-60858r905328_fix
Configure the macOS system with a firmware password with the following command: /usr/bin/sudo /usr/sbin/firmwarepasswd -setpasswd Note: If firmware password or passcode is forgotten, the only way to reset the forgotten password is through a machine-specific binary generated and provided by Apple. Users must 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-13-003020
- Vuln IDs
-
- V-257233
- Rule IDs
-
- SV-257233r905332_rule
Checks: C-60918r905330_chk
Verify the macOS system is configured to enforce multifactor authentication with the following commands: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "enforceSmartCard" enforceSmartCard = 1; If "enforceSmartCard" is not set to "1", this is a finding.
Fix: F-60859r905331_fix
Configure the macOS system to enforce multifactor authentication by installing the "Smart Card Policy" configuration profile. Note: To ensure continued access to the operating system, consult the supplemental guidance provided with the STIG before applying the "Smart Card Policy".
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-003050
- Vuln IDs
-
- V-257234
- Rule IDs
-
- SV-257234r905335_rule
Checks: C-60919r905333_chk
For systems that are not using smart card authentication, this requirements is not applicable. Verify the macOS system is configured to require smart card authentication for the login command with the following command: /bin/cat /etc/pam.d/login If the text that returns does not include the line "auth sufficient pam_smartcard.so" at the TOP of the listing and "auth required pam_deny.so" as the last entry of the auth management group, this is a finding.
Fix: F-60860r905334_fix
Configure the macOS system to require smart card authentication for the login command with the following procedure: /usr/bin/sudo /bin/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-13-003051
- Vuln IDs
-
- V-257235
- Rule IDs
-
- SV-257235r905338_rule
Checks: C-60920r905336_chk
For systems that are not using smart card authentication, this requirement is not applicable. Verify the macOS system is configured to require smart card authentication for the "su" command with the following command: /bin/cat /etc/pam.d/su If the text that returns does not include the line, "auth sufficient pam_smartcard.so" at the TOP of the listing and the next line is not "auth required pam_rootok.so", this is a finding.
Fix: F-60861r905337_fix
Configure the macOS system to require smart card authentication for the su command with the following procedure: /usr/bin/sudo /bin/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 session auth sufficient pam_smartcard.so auth required pam_rootok.so account required pam_group.so no_warn group=admin,wheel ruser root_only fail_safe 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-13-003052
- Vuln IDs
-
- V-257236
- Rule IDs
-
- SV-257236r905341_rule
Checks: C-60921r905339_chk
For systems that are not using smart card authentication, this requirement is not applicable. Verify the macOS system is configured to require smart card authentication for the "sudo" command with the following command: /bin/cat /etc/pam.d/sudo If the text that returns does not include the line, "auth sufficient pam_smartcard.so" at the top of the listing and "auth required pam_deny.so" as the last entry of the auth management group, this is a finding.
Fix: F-60862r905340_fix
Configure the macOS system to require smart card authentication for the sudo command with the following procedure: /usr/bin/sudo /bin/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-13-004001
- Vuln IDs
-
- V-257237
- Rule IDs
-
- SV-257237r905344_rule
Checks: C-60922r905342_chk
Verify the macOS system is configured with system log files owned by root or a service account and group-owned by wheel or admin with the commands below. These commands must be run from inside "/var/log". /usr/bin/sudo /usr/bin/stat -f '%Su:%Sg:%N' $(/usr/bin/grep -v '^#' /etc/newsyslog.conf | /usr/bin/awk '{ print $1 }') 2> /dev/null /usr/bin/sudo /usr/bin/stat -f '%Su:%Sg:%N' $(/usr/bin/grep -e '^>' /etc/asl.conf /etc/asl/* | /usr/bin/awk '{ print $2 }') 2> /dev/null If there are any system log files that are not owned by "root" or a service account and group-owned by "wheel" or "admin", this is a finding.
Fix: F-60863r905343_fix
Configure the macOS system with system log files owned by root or a service account and group-owned by wheel or admin with the following command: /usr/bin/sudo chown root:wheel [log file] Alternatively, 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 the owner:group column is set to "root:wheel" or the appropriate service 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 set to a service account and group, respectively.
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- APPL-13-004002
- Vuln IDs
-
- V-257238
- Rule IDs
-
- SV-257238r905347_rule
Checks: C-60923r905345_chk
Verify the macOS system is configured with system log files set to mode 640 or less with the commands below. These commands must be run from inside "/var/log". /usr/bin/sudo /usr/bin/stat -f '%A:%N' $(/usr/bin/grep -v '^#' /etc/newsyslog.conf | /usr/bin/awk '{ print $1 }') 2> /dev/null /usr/bin/sudo /usr/bin/stat -f '%A:%N' $(/usr/bin/grep -e '^>' /etc/asl.conf /etc/asl/* | /usr/bin/awk '{ print $2 }') 2> /dev/null If the permissions on log files are not "640" or less permissive, this is a finding.
Fix: F-60864r905346_fix
Configure the macOS system with system log files set to mode 640 with the following command: /usr/bin/sudo chmod 640 [log file] Alternatively, 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, 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".
- RMF Control
- IA-11
- Severity
- M
- CCI
- CCI-002038
- Version
- APPL-13-004022
- Vuln IDs
-
- V-257239
- Rule IDs
-
- SV-257239r922880_rule
Checks: C-60924r922878_chk
Verify the macOS system requires reauthentication when using the "sudo" command to elevate privileges with the following command: /usr/bin/sudo /usr/bin/grep -r "timestamp_timeout" /etc/sudoers* /etc/sudoers.d/<customfile>:Defaults timestamp_timeout=0 If conflicting results are returned, this is a finding. If "timestamp_timeout" is set to a negative number, is commented out, or no results are returned, this is a finding.
Fix: F-60865r922879_fix
Configure the macOS system to require reauthentication when using the "sudo" command by creating a plain text file in the /private/etc/sudoers.d/ directory containing the following: Defaults timestamp_timeout=0
- RMF Control
- AU-6
- Severity
- H
- CCI
- CCI-000154
- Version
- APPL-13-005001
- Vuln IDs
-
- V-257240
- Rule IDs
-
- SV-257240r905353_rule
Checks: C-60925r905351_chk
Verify the macOS system is configured to enable System Integrity Protection with the following command: /usr/bin/csrutil status System Integrity Protection status: enabled. If the "System Integrity Protection" is not set to "enabled", this is a finding.
Fix: F-60866r905352_fix
Configure the macOS system to enable "System Integrity Protection" by booting into "Recovery" mode, then launch "Terminal" from the "Utilities" menu, and run the following command: /usr/bin/csrutil enable
- RMF Control
- SC-28
- Severity
- H
- CCI
- CCI-001199
- Version
- APPL-13-005020
- Vuln IDs
-
- V-257241
- Rule IDs
-
- SV-257241r905356_rule
Checks: C-60926r905354_chk
Verify the macOS system is configured to enable "FileVault" with 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-60867r905355_fix
Configure the macOS system to enable "FileVault" by opening System Settings >> Privacy & Security >> Security and navigate to the "FileVault" section. Use this panel to configure full-disk encryption. Alternatively, 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-13-005050
- Vuln IDs
-
- V-257242
- Rule IDs
-
- SV-257242r905359_rule
Checks: C-60927r905357_chk
Verify the macOS system is configured to enable the built-in firewall with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "EnableFirewall\|EnableStealthMode" EnableFirewall = 1; EnableStealthMode = 1; If "EnableFirewall" and "EnableStealthMode" are not set to "1", this is a finding.
Fix: F-60868r905358_fix
Configure the macOS system to enable the built-in firewall by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-005051
- Vuln IDs
-
- V-257243
- Rule IDs
-
- SV-257243r905362_rule
Checks: C-60928r905360_chk
Verify the macOS system is configured to disable USB storage devices with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 32 "mount-controls" bd = ( "read-only" ); blankbd = ( deny, eject ); blankcd = ( deny, eject ); blankdvd = ( deny, eject ); cd = ( "read-only" ); "disk-image" = ( "read-only" ); dvd = ( "read-only" ); dvdram = ( deny, eject ); "harddisk-external" = ( deny, eject ); If the result does not match the output above and is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.
Fix: F-60869r905361_fix
Configure the macOS system to disable USB storage devices by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- APPL-13-005052
- Vuln IDs
-
- V-257244
- Rule IDs
-
- SV-257244r905365_rule
Checks: C-60929r905363_chk
Verify the macOS system is configured to prompt for username and password at the logon window with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "SHOWFULLNAME" SHOWFULLNAME = 1; If "SHOWFULLNAME" is not set to "1", this is a finding.
Fix: F-60870r905364_fix
Configure the macOS system to prompt for username and password at the logon window by installing the "Login Window Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- APPL-13-005053
- Vuln IDs
-
- V-257245
- Rule IDs
-
- SV-257245r905368_rule
Checks: C-60930r905366_chk
Verify the macOS system is configured to disable writing to external optical media devices with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "BurnSupport" BurnSupport = off; If "BurnSupport" is not set to "off" and is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding.
Fix: F-60871r905367_fix
Configure the macOS system to disable writing to external optical media devices by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-005054
- Vuln IDs
-
- V-257246
- Rule IDs
-
- SV-257246r905371_rule
Checks: C-60931r905369_chk
Verify the macOS system is configured to disable prompts to setup TouchID with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "SkipTouchIDSetup" SkipTouchIDSetup = 1; If "SkipTouchIDSetup" is not set to "1", this is a finding.
Fix: F-60872r905370_fix
Configure the macOS system to disable prompts to setup TouchID by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-13-005055
- Vuln IDs
-
- V-257247
- Rule IDs
-
- SV-257247r905374_rule
Checks: C-60932r905372_chk
Verify the macOS system is configured to disable Screentime Setup with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "SkipScreenTime" SkipScreenTime = 1; If "SkipScreenTime" is not set to "1", this is a finding.
Fix: F-60873r905373_fix
Configure the macOS system to disable Screentime Setup by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-005056
- Vuln IDs
-
- V-257248
- Rule IDs
-
- SV-257248r905377_rule
Checks: C-60933r905375_chk
Verify the macOS system is configured to disable prompts to setup Unlock with Watch with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "SkipUnlockWithWatch" SkipUnlockWithWatch = 1; If "SkipUnlockWithWatch" is not set to "1", this is a finding.
Fix: F-60874r905376_fix
Configure the macOS system to disable prompts to setup Unlock with Watch by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- APPL-13-005058
- Vuln IDs
-
- V-257249
- Rule IDs
-
- SV-257249r905380_rule
Checks: C-60934r905378_chk
Verify the macOS system is configured to prevent activity continuation between Apple devices with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowActivityContinuation" allowActivityContinuation = 0; If "allowActivityContinuation" is not set to "0", this is a finding.
Fix: F-60875r905379_fix
Configure the macOS system to prevent activity continuation between Apple devices by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-005060
- Vuln IDs
-
- V-257250
- Rule IDs
-
- SV-257250r905383_rule
Checks: C-60935r905381_chk
Verify the macOS system is configured to prevent password proximity sharing with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowPasswordProximityRequests" allowPasswordProximityRequests = 0; If "allowPasswordProximityRequests" is not set to "0", this is a finding.
Fix: F-60876r905382_fix
Configure the macOS system to prevent Configure the macOS system to prevent password proximity sharing by installing the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- APPL-13-005061
- Vuln IDs
-
- V-257251
- Rule IDs
-
- SV-257251r905386_rule
Checks: C-60936r905384_chk
Verify the macOS system is configured to prevent users from erasing all system content and settings with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowEraseContentAndSettings" allowEraseContentAndSettings = 0; If "allowEraseContentAndSettings" is not set to "0", this is a finding.
Fix: F-60877r905385_fix
Configure the macOS system to prevent users from erasing all system content and settings by installing the "Restrictions Policy" configuration profile.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- APPL-13-000057
- Vuln IDs
-
- V-257293
- Rule IDs
-
- SV-257293r919358_rule
Checks: C-60980r919356_chk
Verify the macOS system is configured to use approved SSH ciphers within the SSH client configuration with the following command: /usr/bin/sudo /usr/bin/grep -ir "ciphers" /etc/ssh/ssh_config* /etc/ssh/ssh_config.d/fips_ssh_config:Ciphers aes128-gcm@openssh.com If any ciphers other than "aes128-gcm@openssh.com" are listed, or the "ciphers" keyword is missing, this is a finding.
Fix: F-60907r919357_fix
Configure the macOS system to use approved SSH ciphers by creating a plain text file in the /private/etc/ssh/ssh_config.d/ directory containing the following: Ciphers aes128-gcm@openssh.com The SSH service must be restarted for changes to take effect.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- APPL-13-000058
- Vuln IDs
-
- V-257294
- Rule IDs
-
- SV-257294r919361_rule
Checks: C-60981r919359_chk
Verify the macOS system is configured to use approved SSH MACs within the SSH client configuration with the following command: /usr/bin/sudo /usr/bin/grep -ir "macs" /etc/ssh/ssh_config* /etc/ssh/ssh_config.d/fips_ssh_config:Macs hmac-sha2-256 If any hashes other than "hmac-sha2-256" are listed, or the "macs" keyword is missing, this is a finding.
Fix: F-60908r919360_fix
Configure the macOS system to use approved SSH MACs by creating a plain text file in the /private/etc/ssh/ssh_config.d/ directory containing the following: MACs hmac-sha2-256 The SSH service must be restarted for changes to take effect.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- APPL-13-000059
- Vuln IDs
-
- V-257295
- Rule IDs
-
- SV-257295r919364_rule
Checks: C-60982r919362_chk
Verify the macOS system is configured to use approved SSH Key Exchange Algorithms within the SSH client configuration with the following command: /usr/bin/sudo /usr/bin/grep -ir "kexalgorithms" /etc/ssh/ssh_config* /etc/ssh/ssh_config.d/fips_ssh_config:KexAlgorithms ecdh-sha2-nistp256 If any algorithms other than "ecdh-sha2-nistp256" are listed, or the "kexalgorithms" keyword is missing, this is a finding.
Fix: F-60909r919363_fix
Configure the macOS system to use approved SSH Key Exchange Algorithms by creating a plain text file in the /private/etc/ssh/ssh_config.d/ directory containing the following: KexAlgorithms ecdh-sha2-nistp256 The SSH service must be restarted for changes to take effect.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-002235
- Version
- APPL-13-002069
- Vuln IDs
-
- V-257776
- Rule IDs
-
- SV-257776r922883_rule
Checks: C-61517r922881_chk
Verify the macOS system is configured to require authentication to access all system-level preference panes with the following commands: /usr/bin/sudo /usr/bin/security authorizationdb read system.preferences | /usr/bin/grep -A1 shared <key>shared</key> <false/> If the "shared" key is not set to "false", this is a finding.
Fix: F-61441r922882_fix
Configure the macOS system to require authentication to access all system-level preference panes with the following actions: Copy the authorization database to a file: /usr/bin/sudo /usr/bin/security authorizationdb read system.preferences > ~/Desktop/authdb.txt Edit the "shared" section of the file: <key>shared</key> <false/> Reload the authorization database: /usr/bin/sudo /usr/bin/security authorizationdb write system.preferences < ~/Desktop/authdb.txt