Apple OS X 10.13 Security Technical Implementation Guide
Pick two releases to diff their requirements.
Open a previous version of this STIG.
Digest of Updates +134 −134
Comparison against the immediately-prior release (V1R6). 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 134
- V-214802 Low The macOS system must conceal, via the session lock, information previously visible on the display with a publicly viewable image.
- V-214803 Medium The macOS system must be configured to disable hot corners.
- V-214804 Medium The macOS system must be configured to prevent Apple Watch from terminating a session lock.
- V-214805 Medium The macOS system must initiate a session lock after a 15-minute period of inactivity.
- V-214806 Medium The macOS system must retain the session lock until the user reestablishes access using established identification and authentication procedures.
- V-214807 Medium The macOS system must initiate the session lock no more than five seconds after a screen saver is started.
- V-214808 Medium The macOS system must monitor remote access methods and generate audit records when successful/unsuccessful attempts to access/modify privileges occur.
- V-214809 High The macOS system must implement DoD-approved encryption to protect the confidentiality and integrity of remote access sessions including transmitted data and data during preparation for transmission.
- V-214810 High The macOS system must be configured to disable rshd service.
- V-214811 Medium The macOS system must enforce requirements for remote connections to the information system.
- V-214812 Low The macOS system must be configured with Bluetooth turned off unless approved by the organization.
- V-214813 Medium The macOS system must be configured with Wi-Fi support software disabled.
- V-214814 Medium The macOS system must be configured with Infrared [IR] support disabled.
- V-214815 Medium The macOS system must be configured with automatic actions disabled for blank CDs.
- V-214816 Medium The macOS system must be configured with automatic actions disabled for blank DVDs.
- V-214817 Medium The macOS system must be configured with automatic actions disabled for music CDs.
- V-214818 Medium The macOS system must be configured with automatic actions disabled for picture CDs.
- V-214819 Medium The macOS system must be configured with automatic actions disabled for video DVDs.
- V-214820 Medium The macOS system must automatically remove or disable temporary user accounts after 72 hours.
- V-214821 Medium The macOS system must automatically remove or disable emergency accounts after the crisis is resolved or within 72 hours.
- V-214822 Medium The macOS system must generate audit records for all account creations, modifications, disabling, and termination events; privileged activities or other system-level access; all kernel module load, unload, and restart actions; all program initiations; and organizationally defined events for all non-local maintenance and diagnostic sessions.
- V-214823 Medium The macOS system must be configured to disable SMB File Sharing unless it is required.
- V-214824 Medium The macOS system must be configured to disable Apple File (AFP) Sharing.
- V-214825 Medium The macOS system must be configured to disable the Network File System (NFS) daemon unless it is required.
- V-214826 Medium The macOS system must be configured to disable the Network File System (NFS) lock daemon unless it is required.
- V-214827 Medium The macOS system must be configured to disable the Network File System (NFS) stat daemon unless it is required.
- V-214828 Medium The macOS system firewall must be configured with a default-deny policy.
- V-214829 Medium The macOS system must display the Standard Mandatory DoD Notice and Consent Banner before granting access to the operating system.
- V-214830 Medium The macOS system must display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system via SSH.
- V-214831 Medium The macOS system must be configured so that any connection to the system must display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system.
- V-214832 Medium The macOS system must generate audit records for DoD-defined events such as successful/unsuccessful logon attempts, successful/unsuccessful direct access attempts, starting and ending time for user access, and concurrent logons to the same account from different sources.
- V-214833 Medium The macOS system must initiate session audits at system startup, using internal clocks with time stamps for audit records that meet a minimum granularity of one second and can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT), in order to generate audit records containing information to establish what type of events occurred, the identity of any individual or process associated with the event, including individual identities of group account users, establish where the events occurred, source of the event, and outcome of the events including all account enabling actions, full-text recording of privileged commands, and information about the use of encryption for access wireless access to and from the system.
- V-214834 Medium The macOS system must enable System Integrity Protection.
- V-214835 Medium The macOS system must allocate audit record storage capacity to store at least one weeks worth of audit records when audit records are not immediately sent to a central audit record storage facility.
- V-214836 Medium The macOS system must provide an immediate warning to the System Administrator (SA) and Information System Security Officer (ISSO) (at a minimum) when allocated audit record storage volume reaches 75 percent of repository maximum audit record storage capacity.
- V-214837 Medium The macOS system must provide an immediate real-time alert to the System Administrator (SA) and Information System Security Officer (ISSO), at a minimum, of all audit failure events requiring real-time alerts.
- V-214838 Medium The macOS system must, for networked systems, 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-214839 Medium The macOS system must be configured with audit log files owned by root.
- V-214840 Medium The macOS system must be configured with audit log folders owned by root.
- V-214841 Medium The macOS system must be configured with audit log files group-owned by wheel.
- V-214842 Medium The macOS system must be configured with audit log folders group-owned by wheel.
- V-214843 Medium The macOS system must be configured with audit log files set to mode 440 or less permissive.
- V-214844 Medium The macOS system must be configured with audit log folders set to mode 700 or less permissive.
- V-214845 Medium The macOS system must be configured so that log files must not contain access control lists (ACLs).
- V-214846 Medium The macOS system must be configured so that log folders must not contain access control lists (ACLs).
- V-214847 High The macOS system must have the security assessment policy subsystem enabled.
- V-214848 Low The macOS system must be configured to disable the application FaceTime.
- V-214849 Low The macOS system must be configured to disable the application Messages.
- V-214850 Low The macOS system must be configured to disable the iCloud Calendar services.
- V-214851 Low The macOS system must be configured to disable the iCloud Reminders services.
- V-214852 Low The macOS system must be configured to disable iCloud Address Book services.
- V-214853 Low The macOS system must be configured to disable the iCloud Mail services.
- V-214854 Low The macOS system must be configured to disable the iCloud Notes services.
- V-214855 Medium The macOS system must cover or disable the built-in or attached camera when not in use.
- V-214856 High The macOS system must be configured to disable the system preference pane for iCloud.
- V-214857 Medium The macOS system must be configured to disable the system preference pane for Internet Accounts.
- V-214858 Medium The macOS system must be configured to disable the system preference pane for Siri.
- V-214859 Medium The macOS system must be configured to disable Siri and dictation.
- V-214860 Medium The macOS system must be configured to disable sending diagnostic and usage data to Apple.
- V-214861 Medium The macOS system must be configured to disable the iCloud Find My Mac service.
- V-214862 Medium The macOS system must be configured to disable Location Services.
- V-214863 Medium The macOS system must be configured to disable Bonjour multicast advertising.
- V-214864 Medium The macOS system must be configured to disable the UUCP service.
- V-214865 Medium The macOS system must disable the Touch ID feature.
- V-214866 Medium The macOS system must obtain updates from a DoD-approved update server.
- V-214867 Medium The macOS system must not have a root account.
- V-214868 High The macOS system must not have a guest account.
- V-214869 High The macOS system must unload tftpd.
- V-214870 Medium The macOS system must disable Siri pop-ups.
- V-214871 Medium The macOS system must disable iCloud Back to My Mac feature.
- V-214872 Medium The macOS system must disable iCloud Keychain synchronization.
- V-214873 Medium The macOS system must disable iCloud document synchronization.
- V-214874 Medium The macOS system must disable iCloud bookmark synchronization.
- V-214875 Medium The macOS system must disable iCloud Photo Library.
- V-214876 Medium The macOS system must disable iCloud Desktop And Documents.
- V-214877 Medium The macOS system must require individuals to be authenticated with an individual authenticator prior to using a group authenticator.
- V-214878 Medium The macOS system must implement NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.
- V-214879 Medium The macOS system must enforce password complexity by requiring that at least one numeric character be used.
- V-214880 Medium The macOS system must enforce password complexity by requiring that at least one special character be used.
- V-214881 Medium The macOS system must enforce a minimum 15-character password length.
- V-214882 High The macOS system must not use telnet.
- V-214883 High The macOS system must not use unencrypted FTP.
- V-214884 Medium The macOS system must allow only applications downloaded from the App Store or properly signed to run.
- V-214885 Medium The macOS system must be configured so that end users cannot override Gatekeeper settings.
- V-214886 Medium The macOS system must be configured with the SSH daemon ClientAliveInterval option set to 900 or less.
- V-214887 Medium The macOS system must be configured with the SSH daemon ClientAliveCountMax option set to 0.
- V-214888 Medium The macOS system must be configured with the SSH daemon LoginGraceTime set to 30 or less.
- V-214889 Medium The macOS system must issue or obtain public key certificates under an appropriate certificate policy from an approved service provider.
- V-214890 Medium The macOS system must implement cryptographic mechanisms to protect the confidentiality and integrity of all information at rest.
- V-214891 Medium The macOS system must employ automated mechanisms to determine the state of system components with regard to flaw remediation using the following frequency: continuously where HBSS is used; 30 days for any additional internal network scans not covered by HBSS; and annually for external scans by Computer Network Defense Service Provider (CNDSP).
- V-214892 Medium The macOS system must restrict the ability of individuals to use USB storage devices.
- V-214893 Medium The macOS system must be configured to not allow iTunes file sharing.
- V-214894 Medium The macOS system must not allow an unattended or automatic logon to the system.
- V-214895 Medium The macOS system logon window must be configured to prompt for username and password, rather than show a list of users.
- V-214896 Medium The macOS firewall must have logging enabled.
- V-214897 Medium The macOS system must be configured so that Bluetooth devices are not allowed to wake the computer.
- V-214898 Medium The macOS system must be configured with Bluetooth Sharing disabled.
- V-214899 Medium The macOS system must be configured to disable Remote Apple Events.
- V-214900 High The macOS system must be configured with the sudoers file configured to authenticate users on a per -tty basis.
- V-214901 Medium The macOS Application Firewall must be enabled.
- V-214902 Medium The macOS system must be configured with all public directories owned by root or an application account.
- V-214903 Medium The macOS system must be configured with the finger service disabled.
- V-214904 Medium The macOS system must be configured with the sticky bit set on all public directories.
- V-214905 Medium The macOS system must be configured with the prompt for Apple ID and iCloud disabled.
- V-214906 Medium The macOS system must be configured so that users do not have Apple IDs signed into iCloud.
- V-214907 Low The macOS system must be configured with iTunes Music Sharing disabled.
- V-214908 Medium All setuid executables on the macOS system must be documented.
- V-214909 Medium The macOS system must not accept source-routed IPv4 packets.
- V-214910 Medium The macOS system must ignore IPv4 ICMP redirect messages.
- V-214911 Medium The macOS system must not have IP forwarding for IPv4 enabled.
- V-214912 Medium The macOS system must not have IP forwarding for IPv6 enabled.
- V-214913 Medium The macOS system must not send IPv4 ICMP redirects by default.
- V-214914 Medium The macOS system must not send IPv6 ICMP redirects by default.
- V-214915 Medium The macOS system must prevent local applications from generating source-routed packets.
- V-214916 Medium The macOS system must not process Internet Control Message Protocol [ICMP] timestamp requests.
- V-214917 Medium The macOS system must have unused network devices disabled.
- V-214918 Medium The macOS system must be configured to disable Internet Sharing.
- V-214919 Medium The macOS system must be configured to disable Web Sharing.
- V-214920 Medium The macOS system must enforce an account lockout time period of 15 minutes in which a user makes three consecutive invalid logon attempts.
- V-214921 Medium The macOS system must enforce account lockout after the limit of three consecutive invalid logon attempts by a user.
- V-214922 Medium The macOS system must enforce the limit of three consecutive invalid logon attempts by a user before the user account is locked.
- V-214923 Medium The macOS system must shut down by default upon audit failure (unless availability is an overriding concern).
- V-214924 High The macOS system must use a DoD antivirus program.
- V-214925 Low The macOS system must be configured to disable AirDrop.
- V-214926 High The macOS system must be integrated into a directory services infrastructure.
- V-214927 Medium The macOS system must enforce a 60-day maximum password lifetime restriction.
- V-214928 Medium The macOS system must prohibit password reuse for a minimum of five generations.
- V-214929 Medium The macOS system must be configured with system log files owned by root and group-owned by wheel or admin.
- V-214930 Medium The macOS system must be configured with system log files set to mode 640 or less permissive.
- V-214931 Medium The macOS system must be configured with access control lists (ACLs) for system log files to be set correctly.
- V-214932 Medium The macOS system must audit the enforcement actions used to restrict access associated with changes to the system.
- V-214933 Medium The macOS system must be configured to lock the user session when a smart token is removed.
- V-214934 Medium The macOS system must enable certificate for smartcards.
- V-214935 Medium The macOS system must prohibit user installation of software without explicit privileged status.
Removed rules 134
- V-81463 Low The macOS system must conceal, via the session lock, information previously visible on the display with a publicly viewable image.
- V-81465 Medium The macOS system must be configured to disable hot corners.
- V-81467 Medium The macOS system must be configured to prevent Apple Watch from terminating a session lock.
- V-81469 Medium The macOS system must initiate a session lock after a 15-minute period of inactivity.
- V-81471 Medium The macOS system must retain the session lock until the user reestablishes access using established identification and authentication procedures.
- V-81473 Medium The macOS system must initiate the session lock no more than five seconds after a screen saver is started.
- V-81475 Medium The macOS system must monitor remote access methods and generate audit records when successful/unsuccessful attempts to access/modify privileges occur.
- V-81477 High The macOS system must implement DoD-approved encryption to protect the confidentiality and integrity of remote access sessions including transmitted data and data during preparation for transmission.
- V-81479 High The macOS system must be configured to disable rshd service.
- V-81481 Medium The macOS system must enforce requirements for remote connections to the information system.
- V-81483 Low The macOS system must be configured with Bluetooth turned off unless approved by the organization.
- V-81485 Medium The macOS system must be configured with Wi-Fi support software disabled.
- V-81487 Medium The macOS system must be configured with Infrared [IR] support disabled.
- V-81489 Medium The macOS system must be configured with automatic actions disabled for blank CDs.
- V-81491 Medium The macOS system must be configured with automatic actions disabled for blank DVDs.
- V-81493 Medium The macOS system must be configured with automatic actions disabled for music CDs.
- V-81497 Medium The macOS system must be configured with automatic actions disabled for picture CDs.
- V-81499 Medium The macOS system must be configured with automatic actions disabled for video DVDs.
- V-81501 Medium The macOS system must automatically remove or disable temporary user accounts after 72 hours.
- V-81503 Medium The macOS system must automatically remove or disable emergency accounts after the crisis is resolved or within 72 hours.
- V-81505 Medium The macOS system must generate audit records for all account creations, modifications, disabling, and termination events; privileged activities or other system-level access; all kernel module load, unload, and restart actions; all program initiations; and organizationally defined events for all non-local maintenance and diagnostic sessions.
- V-81507 Medium The macOS system must be configured to disable SMB File Sharing unless it is required.
- V-81509 Medium The macOS system must be configured to disable Apple File (AFP) Sharing.
- V-81511 Medium The macOS system must be configured to disable the Network File System (NFS) daemon unless it is required.
- V-81513 Medium The macOS system must be configured to disable the Network File System (NFS) lock daemon unless it is required.
- V-81515 Medium The macOS system must be configured to disable the Network File System (NFS) stat daemon unless it is required.
- V-81517 Medium The macOS system firewall must be configured with a default-deny policy.
- V-81519 Medium The macOS system must display the Standard Mandatory DoD Notice and Consent Banner before granting access to the operating system.
- V-81521 Medium The macOS system must display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system via SSH.
- V-81523 Medium The macOS system must be configured so that any connection to the system must display the Standard Mandatory DoD Notice and Consent Banner before granting access to the system.
- V-81525 Medium The macOS system must generate audit records for DoD-defined events such as successful/unsuccessful logon attempts, successful/unsuccessful direct access attempts, starting and ending time for user access, and concurrent logons to the same account from different sources.
- V-81527 Medium The macOS system must initiate session audits at system startup, using internal clocks with time stamps for audit records that meet a minimum granularity of one second and can be mapped to Coordinated Universal Time (UTC) or Greenwich Mean Time (GMT), in order to generate audit records containing information to establish what type of events occurred, the identity of any individual or process associated with the event, including individual identities of group account users, establish where the events occurred, source of the event, and outcome of the events including all account enabling actions, full-text recording of privileged commands, and information about the use of encryption for access wireless access to and from the system.
- V-81529 Medium The macOS system must enable System Integrity Protection.
- V-81531 Medium The macOS system must allocate audit record storage capacity to store at least one weeks worth of audit records when audit records are not immediately sent to a central audit record storage facility.
- V-81533 Medium The macOS system must provide an immediate warning to the System Administrator (SA) and Information System Security Officer (ISSO) (at a minimum) when allocated audit record storage volume reaches 75 percent of repository maximum audit record storage capacity.
- V-81535 Medium The macOS system must provide an immediate real-time alert to the System Administrator (SA) and Information System Security Officer (ISSO), at a minimum, of all audit failure events requiring real-time alerts.
- V-81537 Medium The macOS system must, for networked systems, 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-81539 Medium The macOS system must be configured with audit log files owned by root.
- V-81541 Medium The macOS system must be configured with audit log folders owned by root.
- V-81543 Medium The macOS system must be configured with audit log files group-owned by wheel.
- V-81545 Medium The macOS system must be configured with audit log folders group-owned by wheel.
- V-81547 Medium The macOS system must be configured with audit log files set to mode 440 or less permissive.
- V-81549 Medium The macOS system must be configured with audit log folders set to mode 700 or less permissive.
- V-81551 Medium The macOS system must be configured so that log files must not contain access control lists (ACLs).
- V-81553 Medium The macOS system must be configured so that log folders must not contain access control lists (ACLs).
- V-81555 High The macOS system must have the security assessment policy subsystem enabled.
- V-81557 Low The macOS system must be configured to disable the application FaceTime.
- V-81559 Low The macOS system must be configured to disable the application Messages.
- V-81561 Low The macOS system must be configured to disable the iCloud Calendar services.
- V-81563 Low The macOS system must be configured to disable the iCloud Reminders services.
- V-81565 Low The macOS system must be configured to disable iCloud Address Book services.
- V-81567 Low The macOS system must be configured to disable the iCloud Mail services.
- V-81569 Low The macOS system must be configured to disable the iCloud Notes services.
- V-81571 Medium The macOS system must cover or disable the built-in or attached camera when not in use.
- V-81573 Medium The macOS system must be configured to disable the system preference pane for iCloud.
- V-81575 Medium The macOS system must be configured to disable the system preference pane for Internet Accounts.
- V-81577 Medium The macOS system must be configured to disable the system preference pane for Siri.
- V-81579 Medium The macOS system must be configured to disable Siri and dictation.
- V-81599 Medium The macOS system must be configured to disable sending diagnostic and usage data to Apple.
- V-81601 Medium The macOS system must be configured to disable the iCloud Find My Mac service.
- V-81603 Medium The macOS system must be configured to disable Location Services.
- V-81605 Medium The macOS system must be configured to disable Bonjour multicast advertising.
- V-81607 Medium The macOS system must be configured to disable the UUCP service.
- V-81609 Medium The macOS system must disable the Touch ID feature.
- V-81611 Medium The macOS system must obtain updates from a DoD-approved update server.
- V-81613 Medium The macOS system must not have a root account.
- V-81615 High The macOS system must not have a guest account.
- V-81617 High The macOS system must unload tftpd.
- V-81619 Medium The macOS system must disable Siri pop-ups.
- V-81621 Medium The macOS system must disable iCloud Back to My Mac feature.
- V-81623 Medium The macOS system must disable iCloud Keychain synchronization.
- V-81625 Medium The macOS system must disable iCloud document synchronization.
- V-81627 Medium The macOS system must disable iCloud bookmark synchronization.
- V-81629 Medium The macOS system must disable iCloud Photo Library.
- V-81631 Medium The macOS system must disable iCloud Desktop And Documents.
- V-81633 Medium The macOS system must require individuals to be authenticated with an individual authenticator prior to using a group authenticator.
- V-81635 Medium The macOS system must implement NSA-approved cryptography to protect classified information in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards.
- V-81637 Medium The macOS system must enforce password complexity by requiring that at least one numeric character be used.
- V-81639 Medium The macOS system must enforce password complexity by requiring that at least one special character be used.
- V-81641 Medium The macOS system must enforce a minimum 15-character password length.
- V-81643 High The macOS system must not use telnet.
- V-81645 High The macOS system must not use unencrypted FTP.
- V-81647 Medium The macOS system must allow only applications downloaded from the App Store or properly signed to run.
- V-81649 Medium The macOS system must be configured so that end users cannot override Gatekeeper settings.
- V-81651 Medium The macOS system must be configured with the SSH daemon ClientAliveInterval option set to 900 or less.
- V-81653 Medium The macOS system must be configured with the SSH daemon ClientAliveCountMax option set to 0.
- V-81655 Medium The macOS system must be configured with the SSH daemon LoginGraceTime set to 30 or less.
- V-81657 Medium The macOS system must issue or obtain public key certificates under an appropriate certificate policy from an approved service provider.
- V-81659 Medium The macOS system must implement cryptographic mechanisms to protect the confidentiality and integrity of all information at rest.
- V-81661 Medium The macOS system must employ automated mechanisms to determine the state of system components with regard to flaw remediation using the following frequency: continuously where HBSS is used; 30 days for any additional internal network scans not covered by HBSS; and annually for external scans by Computer Network Defense Service Provider (CNDSP).
- V-81663 Medium The macOS system must restrict the ability of individuals to use USB storage devices.
- V-81665 Medium The macOS system must be configured to not allow iTunes file sharing.
- V-81667 Medium The macOS system must not allow an unattended or automatic logon to the system.
- V-81669 Medium The macOS system logon window must be configured to prompt for username and password, rather than show a list of users.
- V-81671 Medium The macOS firewall must have logging enabled.
- V-81673 Medium The macOS system must be configured so that Bluetooth devices are not allowed to wake the computer.
- V-81675 Medium The macOS system must be configured with Bluetooth Sharing disabled.
- V-81677 Medium The macOS system must be configured to disable Remote Apple Events.
- V-81679 High The macOS system must be configured with the sudoers file configured to authenticate users on a per -tty basis.
- V-81681 Medium The macOS Application Firewall must be enabled.
- V-81683 Medium The macOS system must be configured with all public directories owned by root or an application account.
- V-81685 Medium The macOS system must be configured with the finger service disabled.
- V-81687 Medium The macOS system must be configured with the sticky bit set on all public directories.
- V-81689 Medium The macOS system must be configured with the prompt for Apple ID and iCloud disabled.
- V-81691 Medium The macOS system must be configured so that users do not have Apple IDs signed into iCloud.
- V-81693 Low The macOS system must be configured with iTunes Music Sharing disabled.
- V-81695 Medium All setuid executables on the macOS system must be documented.
- V-81697 Medium The macOS system must not accept source-routed IPv4 packets.
- V-81699 Medium The macOS system must ignore IPv4 ICMP redirect messages.
- V-81701 Medium The macOS system must not have IP forwarding for IPv4 enabled.
- V-81703 Medium The macOS system must not have IP forwarding for IPv6 enabled.
- V-81705 Medium The macOS system must not send IPv4 ICMP redirects by default.
- V-81707 Medium The macOS system must not send IPv6 ICMP redirects by default.
- V-81711 Medium The macOS system must prevent local applications from generating source-routed packets.
- V-81713 Medium The macOS system must not process Internet Control Message Protocol [ICMP] timestamp requests.
- V-81715 Medium The macOS system must have unused network devices disabled.
- V-81717 Medium The macOS system must be configured to disable Internet Sharing.
- V-81719 Medium The macOS system must be configured to disable Web Sharing.
- V-81721 Medium The macOS system must enforce an account lockout time period of 15 minutes in which a user makes three consecutive invalid logon attempts.
- V-81723 Medium The macOS system must enforce account lockout after the limit of three consecutive invalid logon attempts by a user.
- V-81725 Medium The macOS system must enforce the limit of three consecutive invalid logon attempts by a user before the user account is locked.
- V-81727 Medium The macOS system must shut down by default upon audit failure (unless availability is an overriding concern).
- V-81729 High The macOS system must use a DoD antivirus program.
- V-81731 Low The macOS system must be configured to disable AirDrop.
- V-81733 High The macOS system must be integrated into a directory services infrastructure.
- V-81735 Medium The macOS system must enforce a 60-day maximum password lifetime restriction.
- V-81737 Medium The macOS system must prohibit password reuse for a minimum of five generations.
- V-81739 Medium The macOS system must be configured with system log files owned by root and group-owned by wheel or admin.
- V-81741 Medium The macOS system must be configured with system log files set to mode 640 or less permissive.
- V-81743 Medium The macOS system must be configured with access control lists (ACLs) for system log files to be set correctly.
- V-81745 Medium The macOS system must audit the enforcement actions used to restrict access associated with changes to the system.
- V-81747 Medium The macOS system must be configured to lock the user session when a smart token is removed.
- V-81749 Medium The macOS system must enable certificate for smartcards.
- V-81751 Medium The macOS system must prohibit user installation of software without explicit privileged status.
- RMF Control
- AC-11
- Severity
- L
- CCI
- CCI-000060
- Version
- AOSX-13-000005
- Vuln IDs
-
- V-214802
- V-81463
- Rule IDs
-
- SV-214802r507075_rule
- SV-96177
Checks: C-16002r396978_chk
To view the currently selected screen saver for the logged-on user, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep loginWindowModulePath If there is no result or defined "loginWindowModulePath", this is a finding.
Fix: F-16000r396979_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000060
- Version
- AOSX-13-000006
- Vuln IDs
-
- V-214803
- V-81465
- Rule IDs
-
- SV-214803r507075_rule
- SV-96179
Checks: C-16003r396981_chk
To check if the system is configured to disable hot corners, run the following commands: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep wvous If the return is null, or does not equal: "wvous-bl-corner = 0; wvous-br-corner = 0; wvous-tl-corner = 0; wvous-tr-corner = 0;" this is a finding.
Fix: F-16001r396982_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000056
- Version
- AOSX-13-000007
- Vuln IDs
-
- V-214804
- V-81467
- Rule IDs
-
- SV-214804r507075_rule
- SV-96181
Checks: C-16004r396984_chk
To check if the system is configured to prevent Apple Watch from terminating a session lock, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "allowAutoUnlock = 0;" If there is no result, this is a finding.
Fix: F-16002r396985_fix
This setting is enforced using the “Restrictions Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- AOSX-13-000010
- Vuln IDs
-
- V-214805
- V-81469
- Rule IDs
-
- SV-214805r507075_rule
- SV-96183
Checks: C-16005r396987_chk
To check if the system has a configuration profile configured to enable the screen saver after a time-out period, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep loginWindowIdleTime The check should return a value of "900" or less for "loginWindowIdleTime". If it does not, this is a finding.
Fix: F-16003r396988_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000056
- Version
- AOSX-13-000020
- Vuln IDs
-
- V-214806
- V-81471
- Rule IDs
-
- SV-214806r507075_rule
- SV-96185
Checks: C-16006r396990_chk
To check if the system will prompt users to enter their passwords to unlock the screen saver, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep askForPassword If there is no result, or if "askForPassword" is not set to "1", this is a finding.
Fix: F-16004r396991_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000056
- Version
- AOSX-13-000025
- Vuln IDs
-
- V-214807
- V-81473
- Rule IDs
-
- SV-214807r507075_rule
- SV-96187
Checks: C-16007r396993_chk
To check if the system will prompt users to enter their passwords to unlock the screen saver, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep askForPasswordDelay If there is no result, or if "askForPasswordDelay" is not set to "5.0" or less, this is a finding.
Fix: F-16005r396994_fix
This setting is enforced using the "Security and Privacy Policy" configuration profile.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000067
- Version
- AOSX-13-000030
- Vuln IDs
-
- V-214808
- V-81475
- Rule IDs
-
- SV-214808r507075_rule
- SV-96189
Checks: C-16008r396996_chk
To view the currently configured flags for the audit daemon, run the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control Attempts to log in as another user are logged by way of the "lo" flag. If "lo" is not listed in the result of the check, this is a finding.
Fix: F-16006r396997_fix
To ensure the appropriate flags are enabled for auditing, run the following command: /usr/bin/sudo sed -i.bak '/^flags/ s/$/,lo/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control" file.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- AOSX-13-000035
- Vuln IDs
-
- V-214809
- V-81477
- Rule IDs
-
- SV-214809r507075_rule
- SV-96191
Checks: C-16009r396999_chk
For systems that allow remote access through SSH, run the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.openssh.sshd If the results do not show the following, this is a finding. "com.openssh.sshd" => false
Fix: F-16007r397000_fix
To enable the SSH service, run the following command: /usr/bin/sudo /bin/launchctl enable system/com.openssh.sshd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- H
- CCI
- CCI-000381
- Version
- AOSX-13-000050
- Vuln IDs
-
- V-214810
- V-81479
- Rule IDs
-
- SV-214810r507075_rule
- SV-96193
Checks: C-16010r397002_chk
To check if the "rshd" service is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.rshd If the results do not show the following, this is a finding: "com.apple.rshd" => true
Fix: F-16008r397003_fix
To disable the "rshd" service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.rshd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000055
- Vuln IDs
-
- V-214811
- V-81481
- Rule IDs
-
- SV-214811r507075_rule
- SV-96195
Checks: C-16011r397005_chk
To check if the Screen Sharing service is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.screensharing If the results do not show the following, this is a finding: "com.apple.screensharing" => true
Fix: F-16009r397006_fix
To disable the Screen Sharing service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.screensharing The system may need to be restarted for the update to take effect.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- AOSX-13-000065
- Vuln IDs
-
- V-214812
- V-81483
- Rule IDs
-
- SV-214812r507075_rule
- SV-96197
Checks: C-16012r397008_chk
If Bluetooth connectivity is required to facilitate use of approved external devices, this is not applicable. To check if Bluetooth is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep DisableBluetooth If the return is null or is not "DisableBluetooth = 1", this is a finding.
Fix: F-16010r397009_fix
This setting is enforced using the "Bluetooth Policy" configuration profile.
- RMF Control
- SC-8
- Severity
- M
- CCI
- CCI-002418
- Version
- AOSX-13-000070
- Vuln IDs
-
- V-214813
- V-81485
- Rule IDs
-
- SV-214813r507075_rule
- SV-96199
Checks: C-16013r397011_chk
If the system requires Wi-Fi to connect to an authorized network, this is not applicable. To check if the Wi-Fi network device is disabled, run the following command: /usr/bin/sudo /usr/sbin/networksetup -listallnetworkservices A disabled device will have an asterisk in front of its name. If the Wi-Fi device is missing this asterisk, this is a finding.
Fix: F-16011r397012_fix
To disable the Wi-Fi network device, run the following command: /usr/bin/sudo /usr/sbin/networksetup -setnetworkserviceenabled "Wi-Fi" off
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000075
- Vuln IDs
-
- V-214814
- V-81487
- Rule IDs
-
- SV-214814r507075_rule
- SV-96201
Checks: C-16014r397014_chk
To check if IR support is disabled, run the following command: /usr/bin/sudo /usr/bin/defaults read /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled If the result is not "0", this is a finding.
Fix: F-16012r397015_fix
To disable IR, run the following command: /usr/bin/sudo /usr/bin/defaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -bool FALSE
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000085
- Vuln IDs
-
- V-214815
- V-81489
- Rule IDs
-
- SV-214815r507075_rule
- SV-96203
Checks: C-16015r397017_chk
If an approved HBSS DCM/DLP solution is installed, this is not applicable. To check if the system has the correct setting for blank CDs in the configuration profile, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 2 'com.apple.digihub.blank.cd.appeared' If this is not defined or "action" is not set to "1", this is a finding.
Fix: F-16013r397018_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000090
- Vuln IDs
-
- V-214816
- V-81491
- Rule IDs
-
- SV-214816r507075_rule
- SV-96205
Checks: C-16016r397020_chk
If an approved HBSS DCM/DLP solution is installed, this is not applicable. To check if the system has the correct setting for blank DVDs in the configuration profile, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 2 'com.apple.digihub.blank.dvd.appeared' If this is not defined or "action" is not set to "1", this is a finding.
Fix: F-16014r397021_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000095
- Vuln IDs
-
- V-214817
- V-81493
- Rule IDs
-
- SV-214817r507075_rule
- SV-96207
Checks: C-16017r397023_chk
If an approved HBSS DCM/DLP solution is installed, this is not applicable. To check if the system has the correct setting for music CDs in the configuration profile, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 2 'com.apple.digihub.cd.music.appeared' If this is not defined or "action" is not set to "1", this is a finding.
Fix: F-16015r397024_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000100
- Vuln IDs
-
- V-214818
- V-81497
- Rule IDs
-
- SV-214818r507075_rule
- SV-96211
Checks: C-16018r397026_chk
If an approved HBSS DCM/DLP solution is installed, this is not applicable. To check if the system has the correct setting for picture CDs in the configuration profile, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 2 'com.apple.digihub.cd.picture.appeared' If this is not defined or "action" is not set to "1", this is a finding.
Fix: F-16016r397027_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000105
- Vuln IDs
-
- V-214819
- V-81499
- Rule IDs
-
- SV-214819r507075_rule
- SV-96213
Checks: C-16019r397029_chk
If an approved HBSS DCM/DLP solution is installed, this is not applicable. To check if the system has the correct setting for video DVDs in the configuration profile, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 2 'com.apple.digihub.dvd.video.appeared' If this is not defined or "action" is not set to "1", this is a finding.
Fix: F-16017r397030_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000016
- Version
- AOSX-13-000110
- Vuln IDs
-
- V-214820
- V-81501
- Rule IDs
-
- SV-214820r507075_rule
- SV-96215
Checks: C-16020r397032_chk
Verify if a password policy is enforced by a directory service by asking the System Administrator (SA) or Information System Security Officer (ISSO). If no policy is enforced by a directory service, a password policy can be set with the "pwpolicy" utility. The variable names may vary depending on how the policy was set. To check if the password policy is configured to disable a temporary account after 72 hours, run the following command to output the password policy to the screen, substituting the correct user name in place of username: /usr/bin/sudo /usr/bin/pwpolicy -u username getaccountpolicies | tail -n +2 If there is no output, and password policy is not controlled by a directory service, this is a finding. Otherwise, look for the line "<key>policyCategoryAuthentication</key>". In the array that follows, there should be a <dict> section that contains a check <string> that allows users to log in if "policyAttributeCurrentTime" is less than the result of adding "policyAttributeCreationTime" to 72 hours (259299 seconds). The check might use a variable defined in its "policyParameters" section. If the check does not exist or if the check adds too great an amount of time to "policyAttributeCreationTime", this is a finding.
Fix: F-16018r397033_fix
This setting may be enforced using a configuration profile or by a directory service. To set the password policy without a configuration profile, run the following command to save a copy of the current policy file, substituting the correct user name in place of "username": /usr/bin/sudo /usr/bin/pwpolicy -u username getaccountpolicies | tail -n +2 > pwpolicy.plist Open the resulting password policy file in a text editor. If other policy settings are present, and the line "<key>policyCategoryAuthentication</key>" already exists, insert the following text after the <array> tag that immediately follows it: <dict> <key>policyContent</key> <string>policyAttributeCurrentTime < policyAttributeCreationTime + 259299</string> <key>policyIdentifier</key> <string>Disable Temporary Account</string> </dict> At a minimum, edit the file to ensure that it contains the following text: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>policyCategoryAuthentication</key> <array> <dict> <key>policyContent</key> <string>policyAttributeCurrentTime < policyAttributeCreationTime + 259299</string> <key>policyIdentifier</key> <string>Disable Temporary Account</string> </dict> </array> </dict> </plist> 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": /usr/bin/sudo /usr/bin/pwpolicy -u username setaccountpolicies pwpolicy.plist
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-001682
- Version
- AOSX-13-000115
- Vuln IDs
-
- V-214821
- V-81503
- Rule IDs
-
- SV-214821r507075_rule
- SV-96217
Checks: C-16021r397035_chk
If an emergency account has been created on the system, check the expiration settings of a local account using the following command, replacing "username" with the correct value: /usr/bin/sudo /usr/bin/pwpolicy -u username getaccountpolicies | tail -n +2 If there is output, verify that the account policies do not restrict the ability to log in after a certain date or amount of time. If they do, this is a finding.
Fix: F-16019r397036_fix
To remove all "pwpolicy" settings for an emergency account, run the following command, replacing "username" with the correct value: /usr/bin/sudo /usr/bin/pwpolicy -u username clearaccountpolicies Otherwise, to change the password policy for an emergency account and only remove some policy sections, run the following command to save a copy of the current policy file for the specified username: /usr/bin/sudo /usr/bin/pwpolicy -u username getaccountpolicies | tail -n +2 > pwpolicy.plist Open the resulting password policy file in a text editor and remove any policyContent sections that would restrict the ability to log in after a certain date or amount of time. To remove the section cleanly, remove the entire text that begins with <dict>, contains the like <key>policyContent<'/key>, and ends with </dict>. After saving the file and exiting to the command prompt, run the following command to load the new policy file: /usr/bin/sudo /usr/bin/pwpolicy -u username setaccountpolicies pwpolicy.plist
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000018
- Version
- AOSX-13-000120
- Vuln IDs
-
- V-214822
- V-81505
- Rule IDs
-
- SV-214822r507075_rule
- SV-96219
Checks: C-16022r466213_chk
To view the currently configured flags for the audit daemon, run the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control Administrative and Privileged access, including administrative use of the command line tools "kextload" and "kextunload" and changes to configuration settings are logged by way of the "ad" flag. If "ad" is not listed in the result of the check, this is a finding.
Fix: F-16020r466214_fix
To ensure the appropriate flags are enabled for auditing, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak '/^flags/ s/$/,ad/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control" file.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000139
- Vuln IDs
-
- V-214823
- V-81507
- Rule IDs
-
- SV-214823r507075_rule
- SV-96221
Checks: C-16023r397041_chk
If SMB File Sharing is required, this is not applicable. To check if the SMB File Sharing service is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.smbd If the results do not show the following, this is a finding: "com.apple.smbd" => true
Fix: F-16021r397042_fix
To disable the SMB File Sharing service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.smbd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000140
- Vuln IDs
-
- V-214824
- V-81509
- Rule IDs
-
- SV-214824r507075_rule
- SV-96223
Checks: C-16024r397044_chk
To check if the Apple File (AFP) Sharing service is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.AppleFileServer If the results do not show the following, this is a finding: "com.apple.AppleFileServer" => true
Fix: F-16022r397045_fix
To disable the Apple File (AFP) Sharing service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.AppleFileServer The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000141
- Vuln IDs
-
- V-214825
- V-81511
- Rule IDs
-
- SV-214825r507075_rule
- SV-96225
Checks: C-16025r397047_chk
If the NFS daemon is required, this is not applicable. To check if the NFS daemon is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.nfsd If the results do not show the following, this is a finding: "com.apple.nfsd" => true
Fix: F-16023r397048_fix
To disable the NFS daemon, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.nfsd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000142
- Vuln IDs
-
- V-214826
- V-81513
- Rule IDs
-
- SV-214826r507075_rule
- SV-96227
Checks: C-16026r397050_chk
If the NFS lock daemon is required, this is not applicable. To check if the NFS lock daemon is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.lockd If the results do not show the following, this is a finding: "com.apple.lockd" => true
Fix: F-16024r397051_fix
To disable the NFS lock daemon, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.lockd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000143
- Vuln IDs
-
- V-214827
- V-81515
- Rule IDs
-
- SV-214827r507075_rule
- SV-96229
Checks: C-16027r397053_chk
If the NFS stat daemon is required, this is not applicable. To check if the NFS stat daemon is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.statd.notify If the results do not show the following, this is a finding: "com.apple.statd.notify" => true
Fix: F-16025r397054_fix
To disable the NFS stat daemon, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.statd.notify The system may need to be restarted for the update to take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000155
- Vuln IDs
-
- V-214828
- V-81517
- Rule IDs
-
- SV-214828r507075_rule
- SV-96231
Checks: C-16028r397056_chk
Ask the System Administrator (SA) or Information System Security Officer (ISSO) if an approved firewall is loaded on the system. The recommended system is the McAfee HBSS. If no firewall is installed on the system, this is a finding. If a firewall is installed and it is not configured with a "default-deny" policy, this is a finding.
Fix: F-16026r397057_fix
Install an approved HBSS or firewall solution onto the system and configure it with a "default-deny" policy.
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- AOSX-13-000186
- Vuln IDs
-
- V-214829
- V-81519
- Rule IDs
-
- SV-214829r507075_rule
- SV-96233
Checks: C-16029r397059_chk
Verify the operating system displays the Standard Mandatory DoD Notice and Consent Banner before granting access to the operating system. Check to see if the operating system has the correct text listed in the "/etc/banner" file with the following command: # more /etc/banner The command should return the following text: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." If the operating system does not display a graphical logon banner or the banner does not match the Standard Mandatory DoD Notice and Consent Banner, this is a finding. If the text in the "/etc/banner" file does not match the Standard Mandatory DoD Notice and Consent Banner, this is a finding.
Fix: F-16027r397060_fix
Create a text file containing the required DoD text. Name the file "banner" and place it in "/etc/".
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- AOSX-13-000187
- Vuln IDs
-
- V-214830
- V-81521
- Rule IDs
-
- SV-214830r507075_rule
- SV-96235
Checks: C-16030r397062_chk
For systems that allow remote access through SSH, run the following command to verify that "/etc/banner" is displayed before granting access: # /usr/bin/grep Banner /etc/ssh/sshd_config If the sshd Banner configuration option does not point to "/etc/banner", this is a finding.
Fix: F-16028r397063_fix
For systems that allow remote access through SSH, modify the "/etc/ssh/sshd_config" file to add or update the following line: Banner /etc/banner
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000050
- Version
- AOSX-13-000195
- Vuln IDs
-
- V-214831
- V-81523
- Rule IDs
-
- SV-214831r507075_rule
- SV-96237
Checks: C-16031r397065_chk
The policy banner will show if a "PolicyBanner.rtf" or "PolicyBanner.rtfd" exists in the "/Library/Security" folder. Run this command to show the contents of that folder: /bin/ls -l /Library/Security/PolicyBanner.rtf* If neither "PolicyBanner.rtf" nor "PolicyBanner.rtfd" exists, this is a finding. The banner text of the document MUST read: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." If the text is not worded exactly this way, this is a finding.
Fix: F-16029r397066_fix
Create an RTF file containing the required text. Name the file "PolicyBanner.rtf" or "PolicyBanner.rtfd" and place it in "/Library/Security/".
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- AOSX-13-000200
- Vuln IDs
-
- V-214832
- V-81525
- Rule IDs
-
- SV-214832r507075_rule
- SV-96239
Checks: C-16032r466216_chk
To view the currently configured flags for the audit daemon, run the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control Logon events are logged by way of the "aa" flag. If "aa" is not listed in the result of the check, this is a finding.
Fix: F-16030r466217_fix
To ensure the appropriate flags are enabled for auditing, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak '/^flags/ s/$/,aa/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control" file.
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-000130
- Version
- AOSX-13-000230
- Vuln IDs
-
- V-214833
- V-81527
- Rule IDs
-
- SV-214833r507075_rule
- SV-96241
Checks: C-16033r466219_chk
To check if the audit service is running, use the following command: /usr/bin/sudo /bin/launchctl list | /usr/bin/grep com.apple.auditd If nothing is returned, the audit service is not running, and this is a finding.
Fix: F-16031r466220_fix
To enable the audit service, run the following command: /usr/bin/sudo /bin/launchctl load -w /System/Library/LaunchDaemons/com.apple.auditd.plist
- RMF Control
- AU-6
- Severity
- M
- CCI
- CCI-000154
- Version
- AOSX-13-000240
- Vuln IDs
-
- V-214834
- V-81529
- Rule IDs
-
- SV-214834r507075_rule
- SV-96243
Checks: C-16034r397074_chk
System Integrity Protection is a security feature, enabled by default, that protects certain system processes and files from being modified or tampered with. Check the current status of "System Integrity Protection" with the following command: /usr/bin/csrutil status If the result does not show the following, this is a finding. System Integrity Protection status: enabled
Fix: F-16032r397075_fix
To reenable "System Integrity Protection", boot the affected system into "Recovery" mode, launch "Terminal" from the "Utilities" menu, and run the following command: /usr/bin/csrutil enable
- RMF Control
- AU-4
- Severity
- M
- CCI
- CCI-001849
- Version
- AOSX-13-000295
- Vuln IDs
-
- V-214835
- V-81531
- Rule IDs
-
- SV-214835r507075_rule
- SV-96245
Checks: C-16035r397077_chk
The check displays the amount of time the audit system is configured to retain audit log files. The audit system will not delete logs until the specified condition has been met. To view the current setting, run the following command: /usr/bin/sudo /usr/bin/grep ^expire-after /etc/security/audit_control If this returns no results, or does not contain "7d" or a larger value, this is a finding.
Fix: F-16033r397078_fix
Edit the "/etc/security/audit_control" file and change the value for "expire-after" to the amount of time audit logs should be kept for the system. Use the following command to set the "expire-after" value to "7d": /usr/bin/sudo /usr/bin/sed -i.bak 's/.*expire-after.*/expire-after:7d/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control" file.
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-001855
- Version
- AOSX-13-000305
- Vuln IDs
-
- V-214836
- V-81533
- Rule IDs
-
- SV-214836r507075_rule
- SV-96247
Checks: C-16036r466222_chk
The check displays the "% free" to leave available for the system. The audit system will not write logs if the volume has less than this percentage of free disk space. To view the current setting, run the following command: /usr/bin/sudo /usr/bin/grep ^minfree /etc/security/audit_control If this returns no results, or does not contain "25", this is a finding.
Fix: F-16034r466223_fix
Edit the "/etc/security/audit_control" file and change the value for "minfree" to "25" using the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*minfree.*/minfree:25/' /etc/security/audit_control; /usr/bin/sudo /usr/sbin/audit -s A text editor may also be used to implement the required updates to the "/etc/security/audit_control file".
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-001858
- Version
- AOSX-13-000310
- Vuln IDs
-
- V-214837
- V-81535
- Rule IDs
-
- SV-214837r507075_rule
- SV-96249
Checks: C-16037r397083_chk
By default, "auditd" only logs errors to "syslog". To see if audit has been configured to print error messages to the console, run the following command: /usr/bin/sudo /usr/bin/grep logger /etc/security/audit_warn If the argument "-s" is missing, or if "audit_warn" has not been otherwise modified to print errors to the console or send email alerts to the SA and ISSO, this is a finding.
Fix: F-16035r397084_fix
To make "auditd" log errors to standard error as well as "syslogd", run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/logger -p/logger -s -p/' /etc/security/audit_warn; /usr/bin/sudo /usr/sbin/audit -s
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001891
- Version
- AOSX-13-000330
- Vuln IDs
-
- V-214838
- V-81537
- Rule IDs
-
- SV-214838r507075_rule
- SV-96251
Checks: C-16038r466225_chk
The Network Time Protocol (NTP) service must be enabled on all networked systems. To check if the service is running, use the following command: /usr/bin/sudo /bin/launchctl list | grep com.apple.timed 83 0 com.apple.timed If nothing is returned, this is a finding. To verify that an authorized NTP server is configured, run the following command or examine "/etc/ntp.conf": /usr/bin/sudo /usr/bin/grep ^server /etc/ntp.conf server ntp.usno.navy.mil server ntp.usnogps.navy.mil Note: Only approved time servers should be configured for use. If no server is configured, or if an unapproved time server is in use, this is a finding.
Fix: F-16036r466226_fix
To enable the NTP service, run the following command: /usr/bin/sudo /bin/launchctl load -w /System/Library/LaunchDaemons/com.apple.timed.plist To configure one or more time servers for use, edit "/etc/ntp.conf" and enter each hostname or IP address on a separate line, prefixing each one with the keyword "server".
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- AOSX-13-000331
- Vuln IDs
-
- V-214839
- V-81539
- Rule IDs
-
- SV-214839r507075_rule
- SV-96253
Checks: C-16039r397089_chk
To check the ownership of the audit log files, run the following command: /usr/bin/sudo ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') | grep -v current The results should show the owner (third column) to be "root". If they do not, this is a finding.
Fix: F-16037r397090_fix
For any log file that returns an incorrect owner, run the following command: /usr/bin/sudo chown root [audit log file] [audit log file] is the full path to the log file in question.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- AOSX-13-000332
- Vuln IDs
-
- V-214840
- V-81541
- Rule IDs
-
- SV-214840r507075_rule
- SV-96255
Checks: C-16040r397092_chk
To check the ownership of the audit log folder, run the following command: /usr/bin/sudo ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') The results should show the owner (third column) to be "root". If it does not, this is a finding.
Fix: F-16038r397093_fix
For any log folder that has an incorrect owner, run the following command: /usr/bin/sudo chown root [audit log folder]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- AOSX-13-000333
- Vuln IDs
-
- V-214841
- V-81543
- Rule IDs
-
- SV-214841r507075_rule
- SV-96257
Checks: C-16041r397095_chk
To check the group ownership of the audit log files, run the following command: /usr/bin/sudo ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') | /usr/bin/grep -v current The results should show the group owner (fourth column) to be "wheel". If they do not, this is a finding.
Fix: F-16039r397096_fix
For any log file that returns an incorrect group owner, run the following command: /usr/bin/sudo chgrp wheel [audit log file] [audit log file] is the full path to the log file in question.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- AOSX-13-000334
- Vuln IDs
-
- V-214842
- V-81545
- Rule IDs
-
- SV-214842r507075_rule
- SV-96259
Checks: C-16042r397098_chk
To check the group ownership of the audit log folder, run the following command: /usr/bin/sudo ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') The results should show the group (fourth column) to be "wheel". If they do not, this is a finding.
Fix: F-16040r397099_fix
For any log folder that has an incorrect group, run the following command: /usr/bin/sudo chgrp wheel [audit log folder]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- AOSX-13-000335
- Vuln IDs
-
- V-214843
- V-81547
- Rule IDs
-
- SV-214843r507075_rule
- SV-96261
Checks: C-16043r397101_chk
To check the permissions of the audit log files, run the following command: /usr/bin/sudo ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') | /usr/bin/grep -v current The results should show the permissions (first column) to be "440" or less permissive. If they do not, this is a finding.
Fix: F-16041r397102_fix
For any log file that returns an incorrect permission value, run the following command: /usr/bin/sudo chmod 440 [audit log file] [audit log file] is the full path to the log file in question.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- AOSX-13-000336
- Vuln IDs
-
- V-214844
- V-81549
- Rule IDs
-
- SV-214844r507075_rule
- SV-96263
Checks: C-16044r397104_chk
To check the permissions of the audit log folder, run the following command: /usr/bin/sudo ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') The results should show the permissions (first column) to be "700" or less permissive. If they do not, this is a finding.
Fix: F-16042r397105_fix
For any log folder that returns an incorrect permission value, run the following command: /usr/bin/sudo chmod 700 [audit log folder]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- AOSX-13-000337
- Vuln IDs
-
- V-214845
- V-81551
- Rule IDs
-
- SV-214845r507075_rule
- SV-96265
Checks: C-16045r397107_chk
To check if a log file contains ACLs, run the following commands: /usr/bin/sudo ls -le $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') | /usr/bin/grep -v current In the output from the above commands, ACLs will be listed under any file that may contain them (e.g., "0: group:admin allow list,readattr,reaadextattr,readsecurity"). If any such line exists, this is a finding.
Fix: F-16043r397108_fix
For any log file that contains ACLs, run the following command: /usr/bin/sudo chmod -N [audit log file]
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- AOSX-13-000338
- Vuln IDs
-
- V-214846
- V-81553
- Rule IDs
-
- SV-214846r507075_rule
- SV-96267
Checks: C-16046r397110_chk
To check if a log folder contains ACLs, run the following commands: /usr/bin/sudo ls -lde $(/usr/bin/sudo /usr/bin/grep '^dir' /etc/security/audit_control | awk -F: '{print $2}') In the output from the above commands, ACLs will be listed under any folder that may contain them (e.g., "0: group:admin allow list,readattr,reaadextattr,readsecurity"). If any such line exists, this is a finding.
Fix: F-16044r397111_fix
For any log folder that contains ACLs, run the following command: /usr/bin/sudo chmod -N [audit log folder]
- RMF Control
- CM-5
- Severity
- H
- CCI
- CCI-001749
- Version
- AOSX-13-000430
- Vuln IDs
-
- V-214847
- V-81555
- Rule IDs
-
- SV-214847r507075_rule
- SV-96269
Checks: C-16047r397113_chk
To check the status of the Security assessment policy subsystem, run the following command: /usr/bin/sudo /usr/sbin/spctl --status | /usr/bin/grep enabled If nothing is returned, this is a finding.
Fix: F-16045r397114_fix
To enable the Security assessment policy subsystem, run the following command: /usr/bin/sudo /usr/sbin/spctl --master-enable
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-001774
- Version
- AOSX-13-000475
- Vuln IDs
-
- V-214848
- V-81557
- Rule IDs
-
- SV-214848r507075_rule
- SV-96271
Checks: C-16048r397116_chk
To check if there is a configuration policy defined for "Application Restrictions", run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 familyControlsEnabled | grep "FaceTime" If the result does not contain "/Applications/FaceTime.app", this is a finding.
Fix: F-16046r397117_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- AOSX-13-000490
- Vuln IDs
-
- V-214849
- V-81559
- Rule IDs
-
- SV-214849r507075_rule
- SV-96273
Checks: C-16049r397119_chk
To check if there is a configuration policy defined for "Application Restrictions", run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 familyControlsEnabled | grep "Messages.app" If the result does not contain "/Applications/Messages.app", this is a finding.
Fix: F-16047r397120_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-001774
- Version
- AOSX-13-000505
- Vuln IDs
-
- V-214850
- V-81561
- Rule IDs
-
- SV-214850r507075_rule
- SV-96275
Checks: C-16050r397122_chk
To check if iCloud Calendar is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudCalendar If the result is not “allowCloudCalendar = 0”, this is a finding.
Fix: F-16048r397123_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- AOSX-13-000507
- Vuln IDs
-
- V-214851
- V-81563
- Rule IDs
-
- SV-214851r507075_rule
- SV-96277
Checks: C-16051r397125_chk
To check if iCloud Reminders is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudReminders If the result is not “allowCloudReminders = 0”, this is a finding.
Fix: F-16049r397126_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-001774
- Version
- AOSX-13-000510
- Vuln IDs
-
- V-214852
- V-81565
- Rule IDs
-
- SV-214852r507075_rule
- SV-96279
Checks: C-16052r397128_chk
To check if iCloud Address Book is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudAddressBook If the result is not “allowCloudAddressBook = 0”, this is a finding.
Fix: F-16050r397129_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- AOSX-13-000515
- Vuln IDs
-
- V-214853
- V-81567
- Rule IDs
-
- SV-214853r507075_rule
- SV-96281
Checks: C-16053r397131_chk
To check if iCloud Mail is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudMail If the result is not “allowCloudMail = 0”, this is a finding.
Fix: F-16051r397132_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-001774
- Version
- AOSX-13-000517
- Vuln IDs
-
- V-214854
- V-81569
- Rule IDs
-
- SV-214854r507075_rule
- SV-96283
Checks: C-16054r397134_chk
To check if iCloud Notes is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudNotes If the result is not “allowCloudNotes = 0”, this is a finding.
Fix: F-16052r397135_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000518
- Vuln IDs
-
- V-214855
- V-81571
- Rule IDs
-
- SV-214855r507075_rule
- SV-96285
Checks: C-16055r397137_chk
If the device or operating system does not have a camera installed, this requirement is not applicable. This requirement is not applicable to mobile devices (smartphones and tablets), where the use of the camera is a local AO decision. This requirement is not applicable to dedicated VTC suites located in approved VTC locations that are centrally managed. For an external camera, if there is not a method for the operator to manually disconnect camera at the end of collaborative computing sessions, this is a finding. For a built-in camera, the camera must be protected by a camera cover (e.g. laptop camera cover slide) when not in use. If the built-in camera is not protected with a camera cover, or is not physically disabled, this is a finding. If the camera is not disconnected, covered or physically disabled, the following configuration is required: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCamera If the result is “allowCamera = 1” and the collaborative computing device has not been authorized for use, this is a finding.
Fix: F-16053r397138_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- H
- CCI
- CCI-001774
- Version
- AOSX-13-000520
- Vuln IDs
-
- V-214856
- V-81573
- Rule IDs
-
- SV-214856r507075_rule
- SV-96287
Checks: C-16056r397140_chk
To check if the system has the correct setting in the configuration profile to disable access to the iCloud preference pane, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 DisabledPreferencePanes | grep icloud If the return is not “com.apple.preferences.icloud”, this is a finding.
Fix: F-16054r397141_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000521
- Vuln IDs
-
- V-214857
- V-81575
- Rule IDs
-
- SV-214857r507075_rule
- SV-96289
Checks: C-16057r397143_chk
To check if "Internet Accounts" has been disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 DisabledPreferencePanes | grep internetaccounts If the return is not "com.apple.preferences.internetaccounts", this is a finding.
Fix: F-16055r397144_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001774
- Version
- AOSX-13-000522
- Vuln IDs
-
- V-214858
- V-81577
- Rule IDs
-
- SV-214858r507075_rule
- SV-96291
Checks: C-16058r397146_chk
To check if "Siri" has been disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 DisabledPreferencePanes | grep speech If the return is not “com.apple.preference.speech”, this is a finding.
Fix: F-16056r397147_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000523
- Vuln IDs
-
- V-214859
- V-81579
- Rule IDs
-
- SV-214859r507075_rule
- SV-96293
Checks: C-16059r397149_chk
To check if Siri and dictation has been disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -E '(allowAssistant | IronwoodAllowed)’ If the return is null or not: “IronwoodAllowed = 0 allowAssistant = 0”, this is a finding.
Fix: F-16057r397150_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- AOSX-13-000530
- Vuln IDs
-
- V-214860
- V-81599
- Rule IDs
-
- SV-214860r507075_rule
- SV-96313
Checks: C-16060r397152_chk
Sending diagnostic and usage data to Apple must be disabled. To check if a configuration profile is configured to enforce this setting, run the following command: /usr/bin/sudo /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowDiagnosticSubmission If "allowDiagnosticSubmission" is not set to "0", this is a finding. Alternately, the setting is found in System Preferences >> Security & Privacy >> Privacy >> Analytics. If the checkbox that says "Share Mac Analytics" is checked, this is a finding.
Fix: F-16058r397153_fix
This setting is enforced using the "Restrictions Policy" configuration profile. The setting "Share Mac Analytics" is found in System Preferences >> Security & Privacy >> Privacy >> Analytics. Uncheck the box that says "Share Mac Analytics". To apply the setting from the command line, run the following commands: /usr/bin/defaults read "/Library/Application Support/CrashReporter/DiagnosticMessagesHistory.plist" AutoSubmit /usr/bin/sudo /usr/bin/defaults write "/Library/Application Support/CrashReporter/DiagnosticMessagesHistory.plist" AutoSubmit -bool false /usr/bin/sudo /bin/chmod 644 /Library/Application\ Support/CrashReporter/DiagnosticMessagesHistory.plist /usr/bin/sudo /usr/bin/chgrp admin /Library/Application\ Support/CrashReporter/DiagnosticMessagesHistory.plist
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000531
- Vuln IDs
-
- V-214861
- V-81601
- Rule IDs
-
- SV-214861r507075_rule
- SV-96315
Checks: C-16061r397155_chk
To check if Find My Mac is disabled, use the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudFMM If the return is null or not “allowCloudFMM = 0”, this is a finding.
Fix: F-16059r397156_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000535
- Vuln IDs
-
- V-214862
- V-81603
- Rule IDs
-
- SV-214862r507075_rule
- SV-96317
Checks: C-16062r397158_chk
Location Services must be disabled. To check if a configuration profile is configured to enforce this setting, run the following command: /usr/bin/sudo /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep DisableLocationServices If the return is null or not “DisableLocationServices = 1”, this is a finding. The setting is found in System Preferences >> Security & Privacy >> Privacy >> Location Services. If the box that says "Enable Location Services" is checked, this is a finding. To check if the setting was applied on the command line, run the following command: /usr/bin/sudo /usr/bin/defaults read /private/var/db/locationd/Library/Preferences/ByHost/com.apple.locationd.`/usr/sbin/system_profiler SPHardwareDataType | /usr/bin/grep "Hardware UUID" | /usr/bin/cut -c22-57` LocationServicesEnabled If the result is "1" this is a finding.
Fix: F-16060r397159_fix
This setting is enforced using the "Custom Policy" configuration profile. The setting "Enable Location Services" can be found in System Preferences >> Security & Privacy >> Privacy >> Location Services. Uncheck the box that says "Enable Location Services". It can also be set with the following command: /usr/bin/sudo /usr/bin/defaults write /private/var/db/locationd/Library/Preferences/ByHost/com.apple.locationd.`/usr/sbin/system_profiler SPHardwareDataType | /usr/bin/grep "Hardware UUID" | /usr/bin/cut -c22-57` LocationServicesEnabled -bool false
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000545
- Vuln IDs
-
- V-214863
- V-81605
- Rule IDs
-
- SV-214863r507075_rule
- SV-96319
Checks: C-16063r397161_chk
To check if Bonjour multicast advertising has been disabled, run the following command: /usr/bin/sudo /usr/bin/defaults read /Library/Preferences/com.apple.mDNSResponder | /usr/bin/grep NoMulticastAdvertisements If an error is returned, nothing is returned, or "NoMulticastAdvertisements" is not set to "1", this is a finding.
Fix: F-16061r397162_fix
To configure Bonjour to disable multicast advertising, run the following command: /usr/bin/sudo /usr/bin/defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true The system will need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000550
- Vuln IDs
-
- V-214864
- V-81607
- Rule IDs
-
- SV-214864r507075_rule
- SV-96321
Checks: C-16064r397164_chk
To check if the UUCP service is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.uucp If the results do not show the following, this is a finding: "com.apple.uucp" => true
Fix: F-16062r397165_fix
To disable the UUCP service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.uucp The system may need to be restarted for the update to take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000551
- Vuln IDs
-
- V-214865
- V-81609
- Rule IDs
-
- SV-214865r507075_rule
- SV-96323
Checks: C-16065r397167_chk
To view the setting for Touch ID configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowFingerprintForUnlock If the output is null, not "allowFingerprintForUnlock = 0" this is a finding.
Fix: F-16063r397168_fix
This setting is enforced using the "Restrictions" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000552
- Vuln IDs
-
- V-214866
- V-81611
- Rule IDs
-
- SV-214866r507075_rule
- SV-96325
Checks: C-16066r397170_chk
To check if the CatalogURL is configured, run the following command: defaults read /Library/Preferences/com.apple.SoftwareUpdate.plist CatalogURL 2017-11-30 22:21:41.805 defaults[1205:9595] The domain/default pair of (/Library/Preferences/com.apple.SoftwareUpdate.plist, CatalogURL) does not exist. If the output is not an error indicating the item "does not exist" or the output is not a DoD-approved update server, this is a finding. Note: Updates are required to be applied with a frequency determined by the site or Program Management Office (PMO).
Fix: F-16064r397171_fix
To remove the Apple software list from the system configuration run the following command: sudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate.plist CatalogURL
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000553
- Vuln IDs
-
- V-214867
- V-81613
- Rule IDs
-
- SV-214867r507075_rule
- SV-96327
Checks: C-16067r397173_chk
To check if the root account is disabled, run the following command: defaults read /var/db/dslocal/nodes/Default/users/root.plist passwd ( "*" ) The output should be a single asterisk in quotes, as seen above. If the output is as follow, this is a finding: ( "********" )
Fix: F-16065r397174_fix
Disable the root account with the following command: /usr/sbin/dsenableroot -d
- RMF Control
- CM-5
- Severity
- H
- CCI
- CCI-001813
- Version
- AOSX-13-000554
- Vuln IDs
-
- V-214868
- V-81615
- Rule IDs
-
- SV-214868r507075_rule
- SV-96329
Checks: C-16068r397176_chk
To check if the guest user exists, run the following command: dscl . list /Users | grep -i Guest To verify that Guest user cannot unlock volume, run the following command: fdesetup list To check if the system is configured to prohibit user installation of software, first check to ensure the Parental Controls are enabled with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -E '(DisableGuestAccount | EnableGuestAccount)’ If the result is null or not: DisableGuestAccount = 1; EnableGuestAccount = 0; This is a finding.
Fix: F-16066r397177_fix
Remove the guest user with the following command: sudo dscl . delete /Users/Guest "This can also be managed with "Login Window Policy" configuration profile.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- AOSX-13-000555
- Vuln IDs
-
- V-214869
- V-81617
- Rule IDs
-
- SV-214869r507075_rule
- SV-96331
Checks: C-16069r397179_chk
To check if the "tfptd" service is disabled, run the following command: sudo launchctl print-disabled system | grep tftp If "com.apple.tftp" is not set to "true", this is a finding.
Fix: F-16067r397180_fix
To disable the "tfpd" service, run the following command: sudo launchctl unload -w /System/Library/LaunchDaemons/tftp.plist
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001774
- Version
- AOSX-13-000556
- Vuln IDs
-
- V-214870
- V-81619
- Rule IDs
-
- SV-214870r507075_rule
- SV-96333
Checks: C-16070r397182_chk
To check if the "SkipSiriSetup" prompt is enabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep SkipSiriSetup If the output is null or "SkipSiriSetup" is not set to "1", this is a finding.
Fix: F-16068r397183_fix
This setting is enforced using the "Login Window" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000557
- Vuln IDs
-
- V-214871
- V-81621
- Rule IDs
-
- SV-214871r507075_rule
- SV-96335
Checks: C-16071r397185_chk
To view the setting for the Back to My Mac configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudBTMM If the output is null or not "allowCloudBTMM = 0" this is a finding.
Fix: F-16069r397186_fix
This setting is enforced using the "Restrictions" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001774
- Version
- AOSX-13-000558
- Vuln IDs
-
- V-214872
- V-81623
- Rule IDs
-
- SV-214872r507075_rule
- SV-96337
Checks: C-16072r397188_chk
To view the setting for the iCloud Keychain Synchronization configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudKeychainSync If the output is null or not "allowCloudKeychainSync = 0" this is a finding.
Fix: F-16070r397189_fix
This setting is enforced using the "Restrictions" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000559
- Vuln IDs
-
- V-214873
- V-81625
- Rule IDs
-
- SV-214873r507075_rule
- SV-96339
Checks: C-16073r397191_chk
To view the setting for the iCloud Document Synchronization configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudDocumentSync If the output is null or not "allowCloudDocumentSync = 0" this is a finding.
Fix: F-16071r397192_fix
This setting is enforced using the "Restrictions" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001774
- Version
- AOSX-13-000560
- Vuln IDs
-
- V-214874
- V-81627
- Rule IDs
-
- SV-214874r507075_rule
- SV-96341
Checks: C-16074r397194_chk
To view the setting for the iCloud Bookmark Synchronization configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudBookmarks If the output is null or not "allowCloudBookmarks = 0" this is a finding.
Fix: F-16072r397195_fix
This setting is enforced using the "Restrictions" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-000561
- Vuln IDs
-
- V-214875
- V-81629
- Rule IDs
-
- SV-214875r507075_rule
- SV-96343
Checks: C-16075r485676_chk
To check if the system has the correct setting in the configuration profile to disable access to the iCloud preference pane, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 DisabledPreferencePanes | grep icloud If the return is not “com.apple.preferences.icloud”, this is a CAT I finding. To view the setting for the iCloud Photo Library configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudPhotoLibrary If the output is null or not "allowCloudPhotoLibrary = 0" this is a finding.
Fix: F-16073r485677_fix
This setting is enforced using the "Restrictions" configuration profile.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-001774
- Version
- AOSX-13-000562
- Vuln IDs
-
- V-214876
- V-81631
- Rule IDs
-
- SV-214876r507075_rule
- SV-96345
Checks: C-16076r397200_chk
To view the setting for the iCloud Desktop And Documents configuration, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowCloudDesktopAndDocuments If the output is null or not "allowCloudDesktopAndDocuments = 0" this is a finding.
Fix: F-16074r397201_fix
This setting is enforced using the "Restrictions" configuration profile.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- AOSX-13-000565
- Vuln IDs
-
- V-214877
- V-81633
- Rule IDs
-
- SV-214877r507075_rule
- SV-96347
Checks: C-16077r397203_chk
To check if SSH has root logins enabled, run the following command: /usr/bin/sudo /usr/bin/grep ^PermitRootLogin /etc/ssh/sshd_config If there is no result, or the result is set to "yes", this is a finding.
Fix: F-16075r397204_fix
To ensure that "PermitRootLogin" is disabled by sshd, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/^[\#]*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-001941
- Version
- AOSX-13-000570
- Vuln IDs
-
- V-214878
- V-81635
- Rule IDs
-
- SV-214878r507075_rule
- SV-96349
Checks: C-16078r397206_chk
To check which protocol is configured for sshd, run the following: /usr/bin/sudo /usr/bin/grep ^Protocol /etc/ssh/sshd_config If there is no result or the result is not "Protocol 2", this is a finding.
Fix: F-16076r397207_fix
To ensure that "Protocol 2" is used by sshd, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*Protocol.*/Protocol 2/' /etc/ssh/sshd_config
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000194
- Version
- AOSX-13-000585
- Vuln IDs
-
- V-214879
- V-81637
- Rule IDs
-
- SV-214879r507075_rule
- SV-96351
Checks: C-16079r397209_chk
Password policy can be set with a configuration profile or the "pwpolicy" utility. If password policy is set with a configuration profile, run the following command to check if the system is configured to require that passwords contain at least one numeric character: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep requireAlphanumeric If the result is null or is not “requireAlphanumeric = 1”, this is a finding. If password policy is set with the "pwpolicy utility", run the following command instead: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies Look for the line "<key>policyCategoryPasswordContent</key>". If it does not exist, and password policy is not controlled by a directory service, this is a finding. Otherwise, in the array section that follows it, there should be a <dict> section that contains a check <string> that "matches" the variable "policyAttributePassword" to the regular expression "(.*[0-9].*){1,}+" or to a similar expression that will ensure the password contains a character in the range 0-9 one or more times. If this check allows users to create passwords without at least one numeric character, or if no such check exists, this is a finding.
Fix: F-16077r397210_fix
This setting may be enforced using the "Passcode Policy" configuration profile or by a directory service. To set the password policy without a configuration profile, run the following command to save a copy of the current "pwpolicy" account policy file: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies | tail -n +2 > pwpolicy.plist Open the generated file in a text editor. If the file does not yet contain any policy settings, replace <dict/> with <dict></dict>; then insert the following text after the opening <dict> tag and before the closing </dict> tag. The same text can also be used if the line "<key>policyCategoryPasswordContent</key>" is not present. <key>policyCategoryPasswordContent</key> <array> <dict> <key>policyContent</key> <string>policyAttributePassword matches '(.*[0-9].*){1,}+'</string> <key>policyIdentifier</key> <string>com.apple.policy.legacy.requiresNumeric</string> <key>policyParameters</key> <dict> <key>minimumNumericCharacters</key> <integer>1</integer> </dict> </dict> </array> If the file does contain policy settings, and the line "<key>policyCategoryPasswordContent</key>" does exist, insert the following text after the opening <array> tag that comes right after it: <dict> <key>policyContent</key> <string>policyAttributePassword matches '(.*[0-9].*){1,}+'</string> <key>policyIdentifier</key> <string>com.apple.policy.legacy.requiresNumeric</string> <key>policyParameters</key> <dict> <key>minimumNumericCharacters</key> <integer>1</integer> </dict> </dict> After saving the file and exiting to the command prompt, run the following command to load the new policy file: /usr/bin/sudo /usr/bin/pwpolicy setaccountpolicies pwpolicy.plist Note: Updates to password restrictions must be thoroughly evaluated in a test environment. Mistakes in configuration may block password change and local user creation operations, as well as lock out all local users, including administrators.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-001619
- Version
- AOSX-13-000587
- Vuln IDs
-
- V-214880
- V-81639
- Rule IDs
-
- SV-214880r507075_rule
- SV-96353
Checks: C-16080r397212_chk
Password policy can be set with a configuration profile or the "pwpolicy" utility. If password policy is set with a configuration profile, run the following command to check if the system is configured to require that passwords contain at least one special character: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep minComplexChars If the return is null or not ” minComplexChars = 1”, this is a finding. Run the following command to check if the system is configured to require that passwords not contain repeated sequential characters or characters in increasing and decreasing sequential order: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowSimple If "allowSimple" is not set to "0" or is undefined, this is a finding.
Fix: F-16078r397213_fix
This setting may be enforced using the "Passcode Policy" configuration profile or by a directory service.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- AOSX-13-000590
- Vuln IDs
-
- V-214881
- V-81641
- Rule IDs
-
- SV-214881r507075_rule
- SV-96355
Checks: C-16081r397215_chk
To check the currently applied policies for passwords and accounts, use the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep minLength If the return is null or not “minLength = 15”, this is a finding.
Fix: F-16079r397216_fix
This setting is enforced using the "Passcode Policy" configuration profile. Note: Updates to password restrictions must be thoroughly evaluated in a test environment. Mistakes in configuration may block password change and local user creation operations, as well as lock out all local users, including administrators.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- AOSX-13-000605
- Vuln IDs
-
- V-214882
- V-81643
- Rule IDs
-
- SV-214882r507075_rule
- SV-96357
Checks: C-16082r397218_chk
To check if the "telnet" service is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.telnetd If the results do not show the following, this is a finding: "com.apple.telnetd" => true
Fix: F-16080r397219_fix
To disable the "telnet" service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.telnetd The system may need to be restarted for the update to take effect.
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- AOSX-13-000606
- Vuln IDs
-
- V-214883
- V-81645
- Rule IDs
-
- SV-214883r507075_rule
- SV-96359
Checks: C-16083r397221_chk
To check if the "ftp" service is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.ftpd If the results do not show the following, this is a finding: "com.apple.ftpd" => true
Fix: F-16081r397222_fix
To disable the "ftp" service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.ftpd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001749
- Version
- AOSX-13-000710
- Vuln IDs
-
- V-214884
- V-81647
- Rule IDs
-
- SV-214884r507075_rule
- SV-96361
Checks: C-16084r397224_chk
To verify only applications downloaded from the App Store are allowed to run, type the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -E '(EnableAssessment | AllowIdentifiedDevelopers)’ If the return is null, or is not: AllowIdentifiedDevelopers = 1; EnableAssessment = 1; This is a finding.
Fix: F-16082r397225_fix
This setting is enforced using the "Security and Privacy Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000711
- Vuln IDs
-
- V-214885
- V-81649
- Rule IDs
-
- SV-214885r507075_rule
- SV-96363
Checks: C-16085r397227_chk
To verify the regular user cannot override Gatekeeper settings, type the following code: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep DisableOverride If "DisableOverride" is not set to "1", this is a finding.
Fix: F-16083r397228_fix
This setting is enforced using the "Security and Privacy Policy" configuration profile.
- RMF Control
- SC-10
- Severity
- M
- CCI
- CCI-001133
- Version
- AOSX-13-000720
- Vuln IDs
-
- V-214886
- V-81651
- Rule IDs
-
- SV-214886r507075_rule
- SV-96365
Checks: C-16086r397230_chk
The SSH daemon "ClientAliveInterval" option must be set correctly. To check the idle timeout setting for SSH sessions, run the following: /usr/bin/sudo /usr/bin/grep ^ClientAliveInterval /etc/ssh/sshd_config If the setting is not "900" or less, this is a finding.
Fix: F-16084r397231_fix
To ensure that "ClientAliveInterval" is set correctly, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*ClientAliveInterval.*/ClientAliveInterval 900/' /etc/ssh/sshd_config
- RMF Control
- SC-10
- Severity
- M
- CCI
- CCI-001133
- Version
- AOSX-13-000721
- Vuln IDs
-
- V-214887
- V-81653
- Rule IDs
-
- SV-214887r507075_rule
- SV-96367
Checks: C-16087r397233_chk
The SSH daemon "ClientAliveCountMax" option must be set correctly. To verify the SSH idle timeout will occur when the "ClientAliveCountMax" is set, run the following command: /usr/bin/sudo /usr/bin/grep ^ClientAliveCountMax /etc/ssh/sshd_config If the setting is not "ClientAliveCountMax 0", this is a finding.
Fix: F-16085r397234_fix
To ensure that the SSH idle timeout occurs precisely when the "ClientAliveCountMax" is set, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*ClientAliveCountMax.*/ClientAliveCountMax 0/' /etc/ssh/sshd_config
- RMF Control
- SC-10
- Severity
- M
- CCI
- CCI-001133
- Version
- AOSX-13-000722
- Vuln IDs
-
- V-214888
- V-81655
- Rule IDs
-
- SV-214888r507075_rule
- SV-96369
Checks: C-16088r397236_chk
The SSH daemon "LoginGraceTime" must be set correctly. To check the amount of time that a user can log on through SSH, run the following command: /usr/bin/sudo /usr/bin/grep ^LoginGraceTime /etc/ssh/sshd_config If the value is not set to "30" or less, this is a finding.
Fix: F-16086r397237_fix
To ensure that "LoginGraceTime" is configured correctly, run the following command: /usr/bin/sudo /usr/bin/sed -i.bak 's/.*LoginGraceTime.*/LoginGraceTime 30/' /etc/ssh/sshd_config
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000185
- Version
- AOSX-13-000750
- Vuln IDs
-
- V-214889
- V-81657
- Rule IDs
-
- SV-214889r507075_rule
- SV-96371
Checks: C-16089r397239_chk
To view a list of installed certificates, run the following command: /usr/bin/sudo /usr/bin/security dump-keychain | /usr/bin/grep labl | awk -F\" '{ print $4 }' If this list does not contain approved certificates, this is a finding.
Fix: F-16087r397240_fix
Obtain the approved DOD certificates from the appropriate authority. Use Keychain Access from "/Applications/Utilities" to add certificates to the System Keychain.
- RMF Control
- SC-28
- Severity
- M
- CCI
- CCI-002475
- Version
- AOSX-13-000780
- Vuln IDs
-
- V-214890
- V-81659
- Rule IDs
-
- SV-214890r507075_rule
- SV-96373
Checks: C-16090r397242_chk
To check if "FileVault 2" is enabled, run the following command: /usr/bin/sudo /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-16088r397243_fix
Open System Preferences >> Security and Privacy and navigate to the "FileVault" tab. Use this panel to configure full-disk encryption. Alternately, from the command line, run the following command to enable "FileVault": /usr/bin/sudo /usr/bin/fdesetup enable After "FileVault" is initially set up, additional users can be added.
- RMF Control
- SI-2
- Severity
- M
- CCI
- CCI-001233
- Version
- AOSX-13-000835
- Vuln IDs
-
- V-214891
- V-81661
- Rule IDs
-
- SV-214891r507075_rule
- SV-96375
Checks: C-16091r466228_chk
Ask the System Administrator (SA) or Information System Security Officer (ISSO) if an approved tool capable of continuous scanning is loaded on the system. The recommended system is the McAfee HBSS. If no such tool is installed on the system, this is a finding.
Fix: F-16089r466229_fix
Install an approved HBSS solution onto the system.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000850
- Vuln IDs
-
- V-214892
- V-81663
- Rule IDs
-
- SV-214892r507075_rule
- SV-96377
Checks: C-16092r397248_chk
If an approved HBSS DCM/DLP solution is installed, this is not applicable. To verify external USB drives are disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 3 harddisk-external If the result is not “harddisk-external" = ( eject, alert );”, this is a finding.
Fix: F-16090r397249_fix
This setting is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000862
- Vuln IDs
-
- V-214893
- V-81665
- Rule IDs
-
- SV-214893r507075_rule
- SV-96379
Checks: C-16093r397251_chk
If iTunes file sharing is enabled, unauthorized disclosure could occur. To verify that iTunes file sharing is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep allowiTunesFileSharing If the result is null or is not “allowiTunesFileSharing = 0”, this is a finding
Fix: F-16091r397252_fix
This setting is enforced using the “Restrictions Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000925
- Vuln IDs
-
- V-214894
- V-81667
- Rule IDs
-
- SV-214894r507075_rule
- SV-96381
Checks: C-16094r397254_chk
To check if the system is configured to automatically log on, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep DisableAutoLoginClient If "com.apple.login.mcx.DisableAutoLoginClient" is not set to "1", this is a finding.
Fix: F-16092r397255_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000930
- Vuln IDs
-
- V-214895
- V-81669
- Rule IDs
-
- SV-214895r507075_rule
- SV-96383
Checks: C-16095r397257_chk
To check if the logon window is configured to prompt for user name and password, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep SHOWFULLNAME If there is no result, or "SHOWFULLNAME" is not set to "1", this is a finding.
Fix: F-16093r397258_fix
This setting is enforced using the "Login Window Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000950
- Vuln IDs
-
- V-214896
- V-81671
- Rule IDs
-
- SV-214896r507075_rule
- SV-96385
Checks: C-16096r397260_chk
If HBSS is used, this is not applicable. To check if the macOS firewall has logging enabled, run the following command: /usr/libexec/ApplicationFirewall/socketfilterfw --getloggingmode | /usr/bin/grep on If the result does not show "on", this is a finding.
Fix: F-16094r397261_fix
To enable the firewall logging, run the following command: /usr/bin/sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setloggingmode on
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000955
- Vuln IDs
-
- V-214897
- V-81673
- Rule IDs
-
- SV-214897r507075_rule
- SV-96387
Checks: C-16097r397263_chk
To check if the Bluetooth Remote Wake setting is disabled, run the following two commands as the primary user: /usr/bin/defaults -currentHost read com.apple.Bluetooth RemoteWakeEnabled /usr/bin/defaults read /Users/`whoami`/Library/Preferences/ByHost/com.apple.Bluetooth.`/usr/sbin/system_profiler SPHardwareDataType | grep "Hardware UUID" | cut -c22-57`.plist RemoteWakeEnabled If there is an error or nothing is returned, or the return value is "1" for either command, this is a finding.
Fix: F-16095r397264_fix
Manually change this control on the computer by opening System Preferences >> Bluetooth. Click "Advanced" and ensure the "Allow Bluetooth devices to wake this computer" is not checked. This control is not necessary if Bluetooth has been completely disabled. The following can be run from the command line to disable "Remote Wake" for the current user: /usr/bin/defaults write /Users/`whoami`/Library/Preferences/ByHost/com.apple.Bluetooth.`/usr/sbin/system_profiler SPHardwareDataType | /usr/bin/grep "Hardware UUID" | /usr/bin/cut -c22-57`.plist RemoteWakeEnabled 0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-000965
- Vuln IDs
-
- V-214898
- V-81675
- Rule IDs
-
- SV-214898r507075_rule
- SV-96389
Checks: C-16098r397266_chk
To check if Bluetooth Sharing is enabled, open System Preferences >> Sharing and verify that "Bluetooth Sharing" is not checked "ON". If it is "ON", this is a finding. The following command can be run from the command line: /usr/bin/defaults read /Users/`whoami`/Library/Preferences/ByHost/com.apple.Bluetooth.`/usr/sbin/system_profiler SPHardwareDataType | grep "Hardware UUID" | cut -c22-57`.plist PrefKeyServicesEnabled If there is an error or nothing is returned, or the return value is "1", this is a finding.
Fix: F-16096r397267_fix
To disable Bluetooth Sharing, open System Preferences >> Sharing and uncheck the box next to "Bluetooth Sharing". This control is not necessary if Bluetooth has been completely disabled. The following can be run from the command line to disable "Bluetooth Sharing" for the current user: /usr/bin/defaults write /Users/`whoami`/Library/Preferences/ByHost/com.apple.Bluetooth.`/usr/sbin/system_profiler SPHardwareDataType | /usr/bin/grep "Hardware UUID" | /usr/bin/cut -c22-57`.plist PrefKeyServicesEnabled 0
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- AOSX-13-000975
- Vuln IDs
-
- V-214899
- V-81677
- Rule IDs
-
- SV-214899r507075_rule
- SV-96391
Checks: C-16099r397269_chk
To check if Remote Apple Events is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.AEServer If the results do not show the following, this is a finding. "com.apple.AEServer" => true
Fix: F-16097r397270_fix
To disable Remote Apple Events, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.AEServer The system may need to be restarted for the update to take effect.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- AOSX-13-000995
- Vuln IDs
-
- V-214900
- V-81679
- Rule IDs
-
- SV-214900r507075_rule
- SV-96393
Checks: C-16100r397272_chk
To check if the "tty_tickets" option is set for "/usr/bin/sudo", run the following command: /usr/bin/sudo /usr/bin/grep tty_tickets /etc/sudoers If there is no result, this is a finding.
Fix: F-16098r397273_fix
Edit the "/etc/sudoers" file to contain the line: Defaults tty_tickets This line can be placed in the defaults section or at the end of the file.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001080
- Vuln IDs
-
- V-214901
- V-81681
- Rule IDs
-
- SV-214901r507075_rule
- SV-96395
Checks: C-16101r397275_chk
If an approved HBSS solution is installed, this is not applicable. To check if the macOS firewall has been enabled, run the following command: /usr/bin/sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate If the result is "disabled", this is a finding.
Fix: F-16099r397276_fix
To enable the firewall, run the following command: /usr/bin/sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001110
- Vuln IDs
-
- V-214902
- V-81683
- Rule IDs
-
- SV-214902r507075_rule
- SV-96397
Checks: C-16102r397278_chk
To display all directories that are writable by all and not owned by "root", run the following command: /usr/bin/sudo find / -type d -perm +o+w -not -uid 0 If anything is returned, and those directories are not owned by root or application account, this is a finding.
Fix: F-16100r397279_fix
To change the ownership of any finding, run the following command: /usr/bin/sudo find / -type d -perm +o+w -not -uid 0 -exec chown root {} \;
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001115
- Vuln IDs
-
- V-214903
- V-81685
- Rule IDs
-
- SV-214903r507075_rule
- SV-96399
Checks: C-16103r397281_chk
To check if the "finger" service is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.fingerd If the results do not show the following, this is a finding: "com.apple.fingerd" => true
Fix: F-16101r397282_fix
To disable the "finger" service, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.fingerd The system may need to be restarted for the update to take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001120
- Vuln IDs
-
- V-214904
- V-81687
- Rule IDs
-
- SV-214904r507075_rule
- SV-96401
Checks: C-16104r397284_chk
Run the following command to view all world-writable directories that do not have the "sticky bit" set: /usr/bin/sudo /usr/bin/find / -type d \( -perm -0002 -a ! -perm -1000 \) If anything is returned, this is a finding.
Fix: F-16102r397285_fix
Run the following command to set the "sticky bit" on all world-writable directories: /usr/bin/sudo /usr/bin/find / -type d \( -perm -0002 -a ! -perm -1000 \) -exec chmod +t {} \;
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001125
- Vuln IDs
-
- V-214905
- V-81689
- Rule IDs
-
- SV-214905r507075_rule
- SV-96403
Checks: C-16105r397287_chk
To check if the system is configured to skip cloud setup, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep SkipCloudSetup If “SkipCloudSetup" is not set to "1", this is a finding. To check if the prompt for "Apple ID" and "iCloud" are disabled for new users, run the following command: /usr/bin/sudo /usr/bin/defaults read /System/Library/User\ Template/English.lproj/Library/Preferences/com.apple.SetupAssistant If there is no result, if it prints out that the domain "does not exist", or the results do not include "DidSeeCloudSetup = 1 AND LastSeenCloudProductVersion = 10.12", this is a finding.
Fix: F-16103r397288_fix
This setting is enforced using the “Login Window Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001130
- Vuln IDs
-
- V-214906
- V-81691
- Rule IDs
-
- SV-214906r507075_rule
- SV-96405
Checks: C-16106r397290_chk
To see if any user account has configured an Apple ID for iCloud usage, run the following command: /usr/bin/sudo find /Users/ -name 'MobileMeAccounts.plist' -exec /usr/bin/defaults read '{}' \; If the results show any accounts listed, this is a finding.
Fix: F-16104r397291_fix
This must be resolved manually. With the affected user logged on, open System Preferences >> iCloud. Choose "Sign Out".
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- AOSX-13-001140
- Vuln IDs
-
- V-214907
- V-81693
- Rule IDs
-
- SV-214907r507075_rule
- SV-96407
Checks: C-16107r397293_chk
To check if iTunes Music Sharing is disabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep disableSharedMusic If the return is null or does not contain “disableSharedMusic = 1” this is a finding.
Fix: F-16105r397294_fix
This setting is enforced using the "Custom Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001145
- Vuln IDs
-
- V-214908
- V-81695
- Rule IDs
-
- SV-214908r507075_rule
- SV-96409
Checks: C-16108r397296_chk
If available, provide a list of "setuids" provided by a vendor. To list all of the files with the "setuid" bit set, run the following command to send all results to a file named "suidfilelist": /usr/bin/sudo find / -perm -4000 -exec /bin/ls -ldb {} \; > suidfilelist If any of the files listed are not documented as needing to have the "setuid" bit set by the vendor, this is a finding.
Fix: F-16106r397297_fix
Document all of the files with the "setuid" bit set. Remove any undocumented files.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001195
- Vuln IDs
-
- V-214909
- V-81697
- Rule IDs
-
- SV-214909r507075_rule
- SV-96411
Checks: C-16109r397299_chk
To check if the system is configured to accept "source-routed" packets, run the following command: sysctl net.inet.ip.accept_sourceroute If the value is not "0", this is a finding.
Fix: F-16107r397300_fix
To configure the system to not accept "source-routed" packets, add the following line to "/etc/sysctl.conf", creating the file if necessary: net.inet.ip.accept_sourceroute=0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001200
- Vuln IDs
-
- V-214910
- V-81699
- Rule IDs
-
- SV-214910r507075_rule
- SV-96413
Checks: C-16110r397302_chk
To check if the system is configured to ignore "ICMP redirect" messages, run the following command: sysctl net.inet.icmp.drop_redirect If the value is not "1", this is a finding.
Fix: F-16108r397303_fix
To configure the system to ignore "ICMP redirect" messages, add the following line to "/etc/sysctl.conf", creating the file if necessary: net.inet.icmp.drop_redirect=1
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001205
- Vuln IDs
-
- V-214911
- V-81701
- Rule IDs
-
- SV-214911r507075_rule
- SV-96415
Checks: C-16111r397305_chk
To check if "IP forwarding" is enabled, run the following command: sysctl net.inet.ip.forwarding If the values are not "0", this is a finding.
Fix: F-16109r397306_fix
To configure the system to disable "IP forwarding", add the following line to "/etc/sysctl.conf", creating the file if necessary: net.inet.ip.forwarding=0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001206
- Vuln IDs
-
- V-214912
- V-81703
- Rule IDs
-
- SV-214912r507075_rule
- SV-96417
Checks: C-16112r397308_chk
To check if "IP forwarding" is enabled, run the following command: sysctl net.inet6.ip6.forwarding If the values are not "0", this is a finding.
Fix: F-16110r397309_fix
To configure the system to disable "IP forwarding", add the following line to "/etc/sysctl.conf", creating the file if necessary: net.inet6.ip6.forwarding=0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001210
- Vuln IDs
-
- V-214913
- V-81705
- Rule IDs
-
- SV-214913r507075_rule
- SV-96419
Checks: C-16113r397311_chk
To check if the system is configured to send ICMP redirects, run the following command: sysctl net.inet.ip.redirect If the values are not set to "0", this is a finding.
Fix: F-16111r397312_fix
To configure the system to not send ICMP redirects, add the following line to "/etc/sysctl.conf", creating the file if necessary: net.inet.ip.redirect=0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001211
- Vuln IDs
-
- V-214914
- V-81707
- Rule IDs
-
- SV-214914r507075_rule
- SV-96421
Checks: C-16114r397314_chk
To check if the system is configured to send ICMP redirects, run the following command: sysctl net.inet6.ip6.redirect If the values are not set to "0", this is a finding.
Fix: F-16112r397315_fix
To configure the system to not send ICMP redirects, add the following line to "/etc/sysctl.conf", creating the file if necessary: net.inet6.ip6.redirect=0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001215
- Vuln IDs
-
- V-214915
- V-81711
- Rule IDs
-
- SV-214915r507075_rule
- SV-96425
Checks: C-16115r397317_chk
To check if the system is configured to forward source-routed packets, run the following command: sysctl net.inet.ip.sourceroute If the value is not set to "0", this is a finding.
Fix: F-16113r397318_fix
To configure the system to not forward source-routed packets, add the following line to "/etc/sysctl.conf", creating the file if necessary: net.inet.ip.sourceroute=0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001220
- Vuln IDs
-
- V-214916
- V-81713
- Rule IDs
-
- SV-214916r507075_rule
- SV-96427
Checks: C-16116r397320_chk
To check if the system is configured to process ICMP timestamp requests, run the following command: sysctl net.inet.icmp.timestamp If the value is not set to "0", this is a finding.
Fix: F-16114r397321_fix
To disable ICMP timestamp responses, add the following line to "/etc/sysctl.conf", creating the file if necessary: net.inet.icmp.timestamp=0
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- AOSX-13-001235
- Vuln IDs
-
- V-214917
- V-81715
- Rule IDs
-
- SV-214917r507075_rule
- SV-96429
Checks: C-16117r397323_chk
To list the network devices that are enabled on the system, run the following command: /usr/bin/sudo /usr/sbin/networksetup -listallnetworkservices A disabled device will have an asterisk in front of its name. If any listed device that is not in use is missing this asterisk, this is a finding.
Fix: F-16115r397324_fix
To disable a network device, run the following command, substituting the name of the device in place of "'<networkservice>'": /usr/bin/sudo /usr/sbin/networksetup -setnetworkserviceenabled '<networkservice>' off
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-001270
- Vuln IDs
-
- V-214918
- V-81717
- Rule IDs
-
- SV-214918r507075_rule
- SV-96431
Checks: C-16118r397326_chk
To check if Internet Sharing is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep com.apple.NetworkSharing If the results do not show the following, this is a finding: "com.apple.NetworkSharing" => true
Fix: F-16116r397327_fix
To disable Internet Sharing, run the following command: /usr/bin/sudo /bin/launchctl disable system/com.apple.NetworkSharing The system may need to be restarted for the update to take effect.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- AOSX-13-001275
- Vuln IDs
-
- V-214919
- V-81719
- Rule IDs
-
- SV-214919r507075_rule
- SV-96433
Checks: C-16119r397329_chk
To check if Web Sharing is disabled, use the following command: /usr/bin/sudo /bin/launchctl print-disabled system | /usr/bin/grep org.apache.httpd If the results do not show the following, this is a finding: "org.apache.httpd" => true
Fix: F-16117r397330_fix
To disable Web Sharing, run the following command: /usr/bin/sudo /bin/launchctl disable system/org.apache.httpd The system may need to be restarted for the update to take effect.
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-002238
- Version
- AOSX-13-001324
- Vuln IDs
-
- V-214920
- V-81721
- Rule IDs
-
- SV-214920r507075_rule
- SV-96435
Checks: C-16120r397332_chk
Password policy can be set with a configuration profile or the "pwpolicy" utility. If password policy is set with a configuration profile, run the following command to check if the system has the correct setting for the logon reset timer: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep minutesUntilFailedLoginReset If the return is null or not “minutesUntilFailedLoginReset = 15”, this is a finding. If password policy is set with the "pwpolicy" utility, the variable names may vary depending on how the policy was set. To check if the password policy is configured to disable an account for 15 minutes after 3 unsuccessful logon attempts, run the following command to output the password policy to the screen: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies Look for the line "<key>policyCategoryAuthentication</key>". If this does not exist, and password policy is not controlled by a directory service, this is a finding. In the array that follows, there should be one or more <dict> sections that describe policy checks. One should contain a <string> that allows users to log on if "policyAttributeFailedAuthentications" is less than "policyAttributeMaximumFailedAuthentications". Under policyParameters, "policyAttributeMaximumFailedAuthentications" should be set to "3". If "policyAttributeMaximumFailedAuthentications" is not set to "3", this is a finding. In the same check or in another <dict> section, there should be a <string> that allows users to log on if the "policyAttributeCurrentTime" is greater than the result of adding "15" minutes (900 seconds) to "policyAttributeLastFailedAuthenticationTime". The check might use a variable defined in its "policyParameters" section. If the check does not exist or if the check adds too great an amount of time, this is a finding.
Fix: F-16118r397333_fix
This setting may be enforced using the "Passcode Policy" configuration profile or by a directory service. The following two lines within the configuration enforce lockout expiration to "15" minutes: <key>autoEnableInSeconds</key> <integer>900</integer> To set the password policy without a configuration profile, run the following command to save a copy of the current "pwpolicy" account policy file: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies | tail -n +2 > pwpolicy.plist Open the generated file in a text editor and ensure it contains the following text after the opening <dict> tag and before the closing </dict> tag. Replace <dict/> first with <dict></dict> if necessary. <key>policyCategoryAuthentication</key> <array> <dict> <key>policyContent</key> <string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) OR (policyAttributeCurrentTime > (policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds))</string> <key>policyIdentifier</key> <string>Authentication Lockout</string> <key>policyParameters</key> <dict> <key>autoEnableInSeconds</key> <integer>900</integer> <key>policyAttributeMaximumFailedAuthentications</key> <integer>3</integer> </dict> </dict> </array> If the line "<key>policyCategoryAuthentication</key>" already exists, the following text should be used instead and inserted after the first <array> tag that follows it: <dict> <key>policyContent</key> <string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) OR (policyAttributeCurrentTime > (policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds))</string> <key>policyIdentifier</key> <string>Authentication Lockout</string> <key>policyParameters</key> <dict> <key>autoEnableInSeconds</key> <integer>900</integer> <key>policyAttributeMaximumFailedAuthentications</key> <integer>3</integer> </dict> </dict> After saving the file and exiting to the command prompt, run the following command to load the new policy file: /usr/bin/sudo /usr/bin/pwpolicy setaccountpolicies pwpolicy.plist Note: Updates to password restrictions must be thoroughly evaluated in a test environment. Mistakes in configuration may block password change and local user creation operations, as well as lock out all local users, including administrators.
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-000044
- Version
- AOSX-13-001325
- Vuln IDs
-
- V-214921
- V-81723
- Rule IDs
-
- SV-214921r507075_rule
- SV-96437
Checks: C-16121r397335_chk
Password policy can be set with a configuration profile or the "pwpolicy" utility. If password policy is set with a configuration profile, run the following command to check if the system has the correct setting for the number of permitted failed logon attempts: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep maxFailedAttempts If the return is null, or not, “maxFailedAttempts = 3”, this is a finding. If password policy is set with the "pwpolicy" utility, the variable names may vary depending on how the policy was set. To check if the password policy is configured to disable an account for 15 minutes after 3 unsuccessful logon attempts, run the following command to output the password policy to the screen: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies Look for the line "<key>policyCategoryAuthentication</key>". If this does not exist, and password policy is not controlled by a directory service, this is a finding. In the array that follows, there should be one or more <dict> sections that describe policy checks. One should contain a <string> that allows users to log on if "policyAttributeFailedAuthentications" is less than "policyAttributeMaximumFailedAuthentications". Under policyParameters, "policyAttributeMaximumFailedAuthentications" should be set to "3". If "policyAttributeMaximumFailedAuthentications" is not set to "3", this is a finding. In the same check or in another <dict> section, there should be a <string> that allows users to log on if the "policyAttributeCurrentTime" is greater than the result of adding "15" minutes (900 seconds) to "policyAttributeLastFailedAuthenticationTime". The check might use a variable defined in its policyParameters section. If the check does not exist or if the check adds too great an amount of time, this is a finding.
Fix: F-16119r397336_fix
This setting may be enforced using the "Passcode Policy" configuration profile or by a directory service. To set the password policy without a configuration profile, run the following command to save a copy of the current "pwpolicy" account policy file: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies | tail -n +2 > pwpolicy.plist Open the generated file in a text editor and ensure it contains the following text after the opening <dict> tag and before the closing </dict> tag. Replace <dict/> first with <dict></dict> if necessary. <key>policyCategoryAuthentication</key> <array> <dict> <key>policyContent</key> <string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) OR (policyAttributeCurrentTime > (policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds))</string> <key>policyIdentifier</key> <string>Authentication Lockout</string> <key>policyParameters</key> <dict> <key>autoEnableInSeconds</key> <integer>900</integer> <key>policyAttributeMaximumFailedAuthentications</key> <integer>3</integer> </dict> </dict> </array> If the line "<key>policyCategoryAuthentication</key>" already exists, the following text should be used instead and inserted after the first <array> tag that follows it: <dict> <key>policyContent</key> <string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) OR (policyAttributeCurrentTime > (policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds))</string> <key>policyIdentifier</key> <string>Authentication Lockout</string> <key>policyParameters</key> <dict> <key>autoEnableInSeconds</key> <integer>900</integer> <key>policyAttributeMaximumFailedAuthentications</key> <integer>3</integer> </dict> </dict> After saving the file and exiting to the command prompt, run the following command to load the new policy file: /usr/bin/sudo /usr/bin/pwpolicy setaccountpolicies pwpolicy.plist <key>policyCategoryAuthentication</key> <array> <dict> <key>policyContent</key> <string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) OR (policyAttributeCurrentTime > (policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds))</string> <key>policyIdentifier</key> <string>Authentication Lockout</string> <key>policyParameters</key> <dict> <key>autoEnableInSeconds</key> <integer>900</integer> <key>policyAttributeMaximumFailedAuthentications</key> <integer>3</integer> </dict> </dict> </array> If the line <key>policyCategoryAuthentication</key> already exists, the following text should be used instead and inserted after the first <array> tag that follows it: <dict> <key>policyContent</key> <string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) OR (policyAttributeCurrentTime > (policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds))</string> <key>policyIdentifier</key> <string>Authentication Lockout</string> <key>policyParameters</key> <dict> <key>autoEnableInSeconds</key> <integer>900</integer> <key>policyAttributeMaximumFailedAuthentications</key> <integer>3</integer> </dict> </dict> After saving the file and exiting to the command prompt, run the following command to load the new policy file: /usr/bin/sudo /usr/bin/pwpolicy setaccountpolicies pwpolicy.plist Note: Updates to password restrictions must be thoroughly evaluated in a test environment. Mistakes in configuration or bugs in OS X may block password change and local user creation operations, as well as lock out all local users, including administrators.
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-002238
- Version
- AOSX-13-001327
- Vuln IDs
-
- V-214922
- V-81725
- Rule IDs
-
- SV-214922r507075_rule
- SV-96439
Checks: C-16122r397338_chk
Password policy can be set with a configuration profile or the "pwpolicy" utility. If password policy is set with a configuration profile, run the following command to check if the system has the correct setting for the number of permitted failed logon attempts and the logon reset timer: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep 'maxFailedAttempts\|minutesUntilFailedLoginReset' If "maxFailedAttempts" is not set to "3" and "minutesUntilFailedLoginReset" is not set to "15", this is a finding. If password policy is set with the "pwpolicy" utility, the variable names may vary depending on how the policy was set. To check if the password policy is configured to disable an account for 15 minutes after 3 unsuccessful logon attempts, run the following command to output the password policy to the screen: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies Look for the line "<key>policyCategoryAuthentication</key>". If this does not exist, and password policy is not controlled by a directory service, this is a finding. In the array that follows, there should be one or more <dict> sections that describe policy checks. One should contain a <string> that allows users to log on if "policyAttributeFailedAuthentications" is less than "policyAttributeMaximumFailedAuthentications". Under policyParameters, "policyAttributeMaximumFailedAuthentications" should be set to "3". If "policyAttributeMaximumFailedAuthentications" is not set to "3", this is a finding. In the same check or in another <dict> section, there should be a <string> that allows users to log on if the "policyAttributeCurrentTime" is greater than the result of adding "15" minutes (900 seconds) to "policyAttributeLastFailedAuthenticationTime". The check might use a variable defined in its "policyParameters" section. If the check does not exist or if the check adds too great an amount of time, this is a finding.
Fix: F-16120r397339_fix
This setting may be enforced using the "Passcode Policy" configuration profile or by a directory service. To set the password policy without a configuration profile, run the following command to save a copy of the current "pwpolicy" account policy file: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies | tail -n +2 > pwpolicy.plist Open the generated file in a text editor and ensure it contains the following text after the opening <dict> tag and before the closing </dict> tag. Replace <dict/> first with <dict></dict> if necessary. <key>policyCategoryAuthentication</key> <array> <dict> <key>policyContent</key> <string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) OR (policyAttributeCurrentTime > (policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds))</string> <key>policyIdentifier</key> <string>Authentication Lockout</string> <key>policyParameters</key> <dict> <key>autoEnableInSeconds</key> <integer>900</integer> <key>policyAttributeMaximumFailedAuthentications</key> <integer>3</integer> </dict> </dict> </array> If the line "<key>policyCategoryAuthentication</key>" already exists, the following text should be used instead and inserted after the first <array> tag that follows it: <dict> <key>policyContent</key> <string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) OR (policyAttributeCurrentTime > (policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds))</string> <key>policyIdentifier</key> <string>Authentication Lockout</string> <key>policyParameters</key> <dict> <key>autoEnableInSeconds</key> <integer>900</integer> <key>policyAttributeMaximumFailedAuthentications</key> <integer>3</integer> </dict> </dict> After saving the file and exiting to the command prompt, run the following command to load the new policy file: /usr/bin/sudo /usr/bin/pwpolicy setaccountpolicies pwpolicy.plist Note: Updates to password restrictions must be thoroughly evaluated in a test environment. Mistakes in configuration or bugs in OS X may block password change and local user creation operations, as well as lock out all local users, including administrators.
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-000140
- Version
- AOSX-13-001355
- Vuln IDs
-
- V-214923
- V-81727
- Rule IDs
-
- SV-214923r507075_rule
- SV-96441
Checks: C-16123r397341_chk
To view the setting for the audit control system, run the following command: sudo /usr/bin/grep ^policy /etc/security/audit_control | /usr/bin/grep ahlt If there is no result, this is a finding.
Fix: F-16121r397342_fix
Edit the "/etc/security/audit_control file" and change the value for policy to include the setting "ahlt". To do this programmatically, run the following command: sudo /usr/bin/sed -i.bak '/^policy/ s/$/,ahlt/' /etc/security/audit_control; sudo /usr/sbin/audit -s
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- AOSX-13-001465
- Vuln IDs
-
- V-214924
- V-81729
- Rule IDs
-
- SV-214924r507075_rule
- SV-96443
Checks: C-16124r397344_chk
Ask the System Administrator (SA) or Information System Security Officer (ISSO) if an approved antivirus solution is loaded on the system. The antivirus solution may be bundled with an approved host-based security solution. If there is no local antivirus solution installed on the system, this is a finding.
Fix: F-16122r397345_fix
Install an approved antivirus solution onto the system.
- RMF Control
- CM-7
- Severity
- L
- CCI
- CCI-000381
- Version
- AOSX-13-002050
- Vuln IDs
-
- V-214925
- V-81731
- Rule IDs
-
- SV-214925r507075_rule
- SV-96445
Checks: C-16125r397347_chk
To check if AirDrop has been disabled, run the following command: sudo /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep DisableAirDrop If the result is not "DisableAirDrop = 1", this is a finding.
Fix: F-16123r397348_fix
Disabling AirDrop is enforced using the "Restrictions Policy" configuration profile.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- AOSX-13-002060
- Vuln IDs
-
- V-214926
- V-81733
- Rule IDs
-
- SV-214926r507075_rule
- SV-96447
Checks: C-16126r397350_chk
To determine if the system is integrated to a directory service, ask the System Administrator (SA) or Information System Security Officer (ISSO) or run the following command: /usr/bin/sudo dscl localhost -list . | /usr/bin/grep -vE '(Contact | Search | Local)' If nothing is returned, or if the system is not integrated into a directory service infrastructure, this is a finding.
Fix: F-16124r397351_fix
Integrate the system into an existing directory services infrastructure.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000199
- Version
- AOSX-13-002085
- Vuln IDs
-
- V-214927
- V-81735
- Rule IDs
-
- SV-214927r507075_rule
- SV-96449
Checks: C-16127r397353_chk
Password policy can be set with a configuration profile or the "pwpolicy" utility. If password policy is set with a configuration profile, run the following command to check if the system is configured to require users to change their passwords every 60 days: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep maxPINAgeInDays If the return is null, or is not “maxPINAgeInDays = 60” or set to a smaller value, this is a finding. If password policy is set with the "pwpolicy" utility, run the following command instead: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies Look for the line <key>policyCategoryPasswordChange</key>. If it does not exist, and password policy is not controlled by a directory service, this is a finding. Otherwise, in the array section that follows it, there should be a <dict> section that contains a check <string> that compares the variable "policyAttributeLastPasswordChangeTime" to the variable "policyAttributeCurrentTime". It may contain additional variables defined in the "policyParameters" section that follows it. All comparisons are done in seconds. If this check allows users to log in with passwords older than "60" days, or if no such check exists, this is a finding.
Fix: F-16125r397354_fix
This setting may be enforced using the "Passcode Policy" configuration profile or by a directory service. To set the password policy without a configuration profile, run the following command to save a copy of the current "pwpolicy" account policy file: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies | tail -n +2 > pwpolicy.plist Open the generated file in a text editor. If the file does not yet contain any policy settings, replace <dict/> with <dict></dict>. If there already is a policy block that refers to password expiration, ensure it is set to "60" days. If the line "<key>policyCategoryPasswordChange</key>" is not present in the file, add the following text immediately after the opening <dict> tag in the file: <key>policyCategoryPasswordChange</key> <array> <dict> <key>policyContent</key> <string>policyAttributeCurrentTime > policyAttributeLastPasswordChangeTime + (policyAttributeExpiresEveryNDays * 24 * 60 * 60)</string> <key>policyIdentifier</key> <string>Password Change Interval</string> <key>policyParameters</key> <dict> <key>policyAttributeExpiresEveryNDays</key> <integer>60</integer> </dict> </dict> </array> If the line "<key>policyCategoryPasswordChange</key>" is already present in the file, the following text should be added just after the opening <array> tag that follows the line instead: <dict> <key>policyContent</key> <string>policyAttributeCurrentTime > policyAttributeLastPasswordChangeTime + (policyAttributeExpiresEveryNDays * 24 * 60 * 60)</string> <key>policyIdentifier</key> <string>Password Change Interval</string> <key>policyParameters</key> <dict> <key>policyAttributeExpiresEveryNDays</key> <integer>60</integer> </dict> </dict> After saving the file and exiting to the command prompt, run the following command to load the new policy file: /usr/bin/sudo /usr/bin/pwpolicy setaccountpolicies pwpolicy.plist Note: Updates to password restrictions must be thoroughly evaluated in a test environment. Mistakes in configuration may block password change and local user creation operations, as well as lock out all local users, including administrators.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000200
- Version
- AOSX-13-002090
- Vuln IDs
-
- V-214928
- V-81737
- Rule IDs
-
- SV-214928r507075_rule
- SV-96451
Checks: C-16128r397356_chk
Password policy can be set with the "Password Policy" configuration profile or the "pwpolicy" utility. If password policy is set with a configuration profile, run the following command to check if the system is configured to require that users cannot reuse one of their five previously used passwords: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep pinHistory If the return in null or not “pinHistory = 5” or greater, this is a finding. If password policy is set with the "pwpolicy" utility, run the following command instead: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies Look for the line "<key>policyCategoryPasswordContent</key>". If it does not exist, and password policy is not controlled by a directory service, this is a finding. Otherwise, in the array section that follows it, there should be a <dict> section that contains a check <string> such as "<string>none policyAttributePasswordHashes in policyAttributePasswordHistory</string>". This searches for the hash of the user-entered password in the list of previous password hashes. In the "policyParameters" section that follows it, "policyAttributePasswordHistoryDepth" must be set to "5" or greater. If this parameter is not set to "5" or greater, or if no such check exists, this is a finding.
Fix: F-16126r397357_fix
This setting may be enforced using the "Passcode Policy" configuration profile or by a directory service. To set the password policy without a configuration profile, run the following command to save a copy of the current "pwpolicy" account policy file: /usr/bin/sudo /usr/bin/pwpolicy getaccountpolicies | tail -n +2 > pwpolicy.plist Open the generated file in a text editor. If the file does not yet contain any policy settings, replace <dict/> with <dict></dict>. If there already is a policy block that refers to password history, ensure it is set to "5". If the line "<key>policyCategoryPasswordContent</key>" is not present in the file, add the following text immediately after the opening <dict> tag in the file: <key>policyCategoryPasswordContent</key> <array> <dict> <key>policyContent</key> <string>none policyAttributePasswordHashes in policyAttributePasswordHistory</string> <key>policyIdentifier</key> <string>Password History</string> <key>policyParameters</key> <dict> <key>policyAttributePasswordHistoryDepth</key> <integer>5</integer> </dict> </dict> </array> If the line "<key>policyCategoryPasswordContent</key>" is already present in the file, the following text should be added just after the opening <array> tag that follows the line instead: <dict> <key>policyContent</key> <string>none policyAttributePasswordHashes in policyAttributePasswordHistory</string> <key>policyIdentifier</key> <string>Password History</string> <key>policyParameters</key> <dict> <key>policyAttributePasswordHistoryDepth</key> <integer>5</integer> </dict> </dict> After saving the file and exiting to the command prompt, run the following command to load the new policy file: /usr/bin/sudo /usr/bin/pwpolicy setaccountpolicies pwpolicy.plist Note: Updates to password restrictions must be thoroughly evaluated in a test environment. Mistakes in configuration may block password change and local user creation operations, as well as lock out all local users, including administrators.
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- AOSX-13-002105
- Vuln IDs
-
- V-214929
- V-81739
- Rule IDs
-
- SV-214929r507075_rule
- SV-96453
Checks: C-16129r397359_chk
Log files are controlled by "newsyslog" and "aslmanager". These commands check for log files that exist on the system and print out the log with corresponding ownership. Run them from inside "/var/log": /usr/bin/sudo stat -f '%Su:%Sg:%N' $(/usr/bin/grep -v '^#' /etc/newsyslog.conf | awk '{ print $1 }') 2> /dev/null /usr/bin/sudo stat -f '%Su:%Sg:%N' $(/usr/bin/grep -e '^>' /etc/asl.conf /etc/asl/* | awk '{ print $2 }') 2> /dev/null If there are any system log files that are not owned by "root" and group-owned by "wheel" or admin, this is a finding. Service logs may be owned by the service user account or group.
Fix: F-16127r397360_fix
For any log file that returns an incorrect owner or group value, run the following command: /usr/bin/sudo chown root:wheel [log file] [log file] is the full path to the log file in question. If the file is managed by "newsyslog", find the configuration line in the directory "/etc/newsyslog.d/" or the file "/etc/newsyslog.conf" and ensure that the owner:group column is set to "root:wheel" or the appropriate service user account and group. If the file is managed by "aslmanager", find the configuration line in the directory "/etc/asl/" or the file "/etc/asl.conf" and ensure that "uid" and "gid" options are either not present or are set to a service user account and group respectively.
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- AOSX-13-002106
- Vuln IDs
-
- V-214930
- V-81741
- Rule IDs
-
- SV-214930r507075_rule
- SV-96455
Checks: C-16130r397362_chk
These commands check for log files that exist on the system and print out the log with corresponding permissions. Run them from inside "/var/log": /usr/bin/sudo stat -f '%A:%N' $(/usr/bin/grep -v '^#' /etc/newsyslog.conf | awk '{ print $1 }') 2> /dev/null /usr/bin/sudo stat -f '%A:%N' $(/usr/bin/grep -e '^>' /etc/asl.conf /etc/asl/* | awk '{ print $2 }') 2> /dev/null The correct permissions on log files should be "640" or less permissive for system logs. Any file with more permissive settings is a finding.
Fix: F-16128r397363_fix
For any log file that returns an incorrect permission value, run the following command: /usr/bin/sudo chmod 640 [log file] [log file] is the full path to the log file in question. If the file is managed by "newsyslog", find the configuration line in the directory "/etc/newsyslog.d/" or the file "/etc/newsyslog.conf" and edit the mode column to be "640" or less permissive. If the file is managed by "aslmanager", find the configuration line in the directory "/etc/asl/" or the file "/etc/asl.conf" and add or edit the mode option to be "mode=0640" or less permissive.
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- AOSX-13-002107
- Vuln IDs
-
- V-214931
- V-81743
- Rule IDs
-
- SV-214931r507075_rule
- SV-96457
Checks: C-16131r397365_chk
These commands check for log files that exist on the system and print out the list of ACLs if there are any. /usr/bin/sudo ls -ld@ $(/usr/bin/grep -v '^#' /etc/newsyslog.conf | awk '{ print $1 }') 2> /dev/null /usr/bin/sudo ls -ld@ $(/usr/bin/grep -e '^>' /etc/asl.conf /etc/asl/* | awk '{ print $2 }') 2> /dev/null ACLs will be listed under any file that may contain them (i.e., "0: group:admin allow list,readattr,reaadextattr,readsecurity"). If any system log file contains this information, this is a finding.
Fix: F-16129r397366_fix
For any log file that returns an ACL, run the following command: /usr/bin/sudo chmod -N [log file] [log file] is the full path to the log file in question.
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- AOSX-13-002110
- Vuln IDs
-
- V-214932
- V-81745
- Rule IDs
-
- SV-214932r507075_rule
- SV-96459
Checks: C-16132r397368_chk
To view the currently configured flags for the audit daemon, run the following command: /usr/bin/sudo /usr/bin/grep ^flags /etc/security/audit_control Enforcement actions are logged by way of the "fm" flag, which audits permission changes, and "-fr" and "-fw", which denote failed attempts to read or write to a file. If "fm", "-fr", and "-fw" are not listed in the result of the check, this is a finding.
Fix: F-16130r397369_fix
To set the audit flags to the recommended setting, run the following command to add the flags "fm", "-fr", and "-fw" all at once: /usr/bin/sudo /usr/bin/sed -i.bak '/^flags/ s/$/,fm,-fr,-fw/' /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-11
- Severity
- M
- CCI
- CCI-000058
- Version
- AOSX-13-030014
- Vuln IDs
-
- V-214933
- V-81747
- Rule IDs
-
- SV-214933r507075_rule
- SV-96461
Checks: C-16133r397371_chk
To check if support for session locking with removal of a token is enabled, run the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep "tokenRemovalAction = 1;" If there is no result, this is a finding.
Fix: F-16131r397372_fix
This is now in the smartcard payload. <key>tokenRemovalAction</key> <integer>1</integer>
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000186
- Version
- AOSX-13-067035
- Vuln IDs
-
- V-214934
- V-81749
- Rule IDs
-
- SV-214934r507075_rule
- SV-96463
Checks: C-16134r397374_chk
To view the setting for the smartcard certification configuration, run the following command: sudo /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep checkCertificateTrust If the output is null or not "checkCertificateTrust = 1;" this is a finding.
Fix: F-16132r397375_fix
This setting is enforced using the "Smartcard" configuration profile.
- RMF Control
- CM-11
- Severity
- M
- CCI
- CCI-001812
- Version
- AOSX-13-362149
- Vuln IDs
-
- V-214935
- V-81751
- Rule IDs
-
- SV-214935r507075_rule
- SV-96465
Checks: C-16135r397377_chk
To check if the system is configured to prohibit user installation of software, first check to ensure the Parental Controls are enabled with the following command: /usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep -A 5 familyControlsEnabled | grep “/Users" If the result is null, or does not contain “/Users/“, this is a finding
Fix: F-16133r397378_fix
This setting is enforced using the "Restrictions Policy" configuration profile.