Guide to the Secure Configuration of Apple macOS 10.15

with profile NIST 800-53 Moderate-Impact Baseline for Apple macOS 10.15 Catalina
This compliance profile reflects the core set of Moderate-Impact Baseline configuration settings for deployment of Apple macOS 10.15 Catalina into U.S. Defense, Intelligence, and Civilian agencies. Development partners and sponsors include the U.S. National Institute of Standards and Technology (NIST), U.S. Department of Defense, and the the National Security Agency. This baseline implements configuration requirements from the following sources: - NIST 800-53 control selections for Moderate-Impact systems (NIST 800-53) For any differing configuration requirements, e.g. password lengths, the stricter security setting was chosen. Security Requirement Traceability Guides (RTMs) and sample System Security Configuration Guides are provided via the scap-security-guide-docs package. This profile reflects U.S. Government consensus content and is developed through the ComplianceAsCode initiative, championed by the National Security Agency. Except for differences in formatting to accommodate publishing processes, this profile mirrors ComplianceAsCode content as minor divergences, such as bugfixes, work through the consensus and release processes.
The Compliance As Code Project
https://github.com/ComplianceAsCode/content
This guide presents a catalog of security-relevant configuration settings for Apple macOS 10.15. It is a rendering of content structured in the eXtensible Configuration Checklist Description Format (XCCDF) in order to support security automation.

Providing system administrators with such guidance informs them how to securely configure systems under their control in a variety of network roles. Policy makers and baseline creators can use this catalog of settings, with its associated references to higher-level security control catalogs, in order to assist them in security baseline creation. This guide is a catalog, not a checklist, and satisfaction of every item is not likely to be possible or sensible in many operational scenarios. However, the XCCDF format enables granular selection and adjustment of settings, and their association with OVAL and OCIL content provides an automated checking capability. Transformations of this document, and its associated automated checking content, are capable of providing baselines that meet a diverse set of policy objectives. Some example XCCDF Profiles, which are selections of items that form checklists and can be used as baselines, are available with this guide. They can be processed, in an automated fashion, with tools that support the Security Content Automation Protocol (SCAP). The DISA STIG, which provides required settings for US Department of Defense systems, is one example of a baseline created from this guidance.
Do not attempt to implement any of the settings in this guide without first testing them in a non-operational environment. The creators of this guidance assume no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

Profile Information

Profile TitleNIST 800-53 Moderate-Impact Baseline for Apple macOS 10.15 Catalina
Profile IDxccdf_org.ssgproject.content_profile_moderate

CPE Platforms

  • cpe:/o:apple:macos:10.15

Revision History

Current version: 0.1.76

  • draft (as of 2024-12-21)

Table of Contents

  1. System Accounting with audit
    1. Configure auditd

Checklist

Group   Guide to the Secure Configuration of Apple macOS 10.15   Group contains 2 groups and 2 rules
Group   System Accounting with audit   Group contains 1 group and 2 rules
[ref]   The Basic Security Module (BSM) security audit API and file format is Apple's auditing system. The audit() function submits a record to the kernel for inclusion in the global audit trail. The record must already be in BSM format. To protect the integrity of the audit trail, this system call must be made with sufficient privileges. Libbsm can be used to create and manipulate BSM data. Length is the length in bytes of the BSM record and record points to the data. The audit service provides substantial capabilities for recording system activities. Secure networks often have substantial auditing requirements, and auditd can be configured to meet these requirements.
Group   Configure auditd   Group contains 1 rule
[ref]   The auditd program can perform comprehensive monitoring of system activity. This section describes recommended configuration settings for comprehensive auditing, but a full description of the auditing system's capabilities is beyond the scope of this guide.

Rule   Shutdown System When Auditing Failures Occur   [ref]

The macOS system must shut down by default upon audit failure unless availability is an overriding concern.
Rationale:
The audit service should shut down the computer if it is unable to audit system events. Once audit failure occurs, user and system activity is no longer recorded and malicious activity could go undetected. Audit processing failures include software/hardware errors, failures in the audit capturing mechanisms, and audit storage capacity being reached or exceeded. Responses to audit failure depend on the nature of the failure mode.
Severity: 
medium
Rule ID:xccdf_org.ssgproject.content_rule_audit_failure_halt
References:
disaCCI-000140
nistAU-5(b)
os-srgSRG-OS-000047-GPOS-00023
stigidAOSX-14-001010

Complexity:low
Disruption:low
Reboot:false
Strategy:enable

/usr/bin/sed -i.bak '/^policy/ s/$/,ahlt/' /etc/security/audit_control; sudo /usr/sbin/audit -s

Rule   Enable audit Service   [ref]

The audit service is an essential userspace component of the auditing system, as it is responsible for writing audit records to disk.
Rationale:
Without establishing what type of events occurred, when they occurred, and by whom, it would be difficult to establish, correlate, and investigate the events leading up to an outage or attack.

Audit record content that may be necessary to satisfy this requirement includes, for example, time stamps, source and destination addresses, user/process identifiers, event descriptions, success/fail indications, filenames involved, and access control or flow control rules invoked.

Associating event types with detected events in the operating system audit logs provides a means of investigating an attack, recognizing resource utilization or capacity thresholds, or identifying an improperly configured operating system.
Severity: 
high
Rule ID:xccdf_org.ssgproject.content_rule_service_com_apple_auditd_enabled
References:
disaCCI-000130, CCI-000131, CCI-000132, CCI-000133, CCI-000134, CCI-000135, CCI-000159, CCI-001464, CCI-001487, CCI-001889, CCI-001890, CCI-001914, CCI-002130
nistAU-3, AU-3(1), AU-8(a), AU-8(b), AU-12(3), AU-14(1)
os-srgSRG-OS-000037-GPOS-00015, SRG-OS-000038-GPOS-00016, SRG-OS-000039-GPOS-00017, SRG-OS-000040-GPOS-00018, SRG-OS-000041-GPOS-00019, SRG-OS-000042-GPOS-00020, SRG-OS-000042-GPOS-00021, SRG-OS-000055-GPOS-00026, SRG-OS-000254-GPOS-00095, SRG-OS-000255-GPOS-00096, SRG-OS-000303-GPOS-00120, SRG-OS-000337-GPOS-00129, SRG-OS-000358-GPOS-00145, SRG-OS-000359-GPOS-00146
stigidAOSX-14-001013

Complexity:low
Disruption:low
Reboot:false
Strategy:enable

launchctl load -w /System/Library/LaunchDaemons/com.apple.auditd.plist
Apple, iPadOS, tvOS, watchOS, macOS and OS X are either registered trademarks or trademarks of Apple, Inc. in the United States and other countries. All other names are registered trademarks or trademarks of their respective companies.