Resolves #45644 Bring the macOS CIS benchmark policies up to the current CIS releases: - macOS 14 Sonoma: v3.0.0 -> v3.1.0 - macOS 15 Sequoia: v2.0.0 -> v2.1.0 - macOS 26 Tahoe: v1.0.0 -> v1.1.0 Policy changes: - 2.7.1: rescope the screen saver hot corners check to the current console user and move it to Level 1, per the updated CIS audit. - 3.4: relax audit log retention to >= 30 days (no size requirement); parse the day value anchored to `expire-after:` so a mixed directive such as `7d OR 30d` is correctly rejected. - 5.1.7: exclude the non-accessible /Library/AppStore directory and its descendants from the world-writable Library check. - 5.6: update for the new secure-token audit (verify root has no AuthenticationAuthority). - 5.3.1: add the internal APFS volume encryption check (Manual -> Automated) on macOS 26; remove the deprecated CoreStorage 5.3.2 check on macOS 14/15. - 2.10.1: correct the screen saver inactivity threshold to <= 900s (15 minutes) to match the CIS audit. Limitations documented (no reliable fleetd data source): - 5.3.2 (external APFS/HFS+ encryption): apfs_volumes exposes no internal/external indicator. - 5.3.3 (FAT32/ExFAT): CIS Manual audit.
macOS 14 Sonoma benchmark
Fleet's policies have been written against v3.1.0 of the benchmark. You can refer to the CIS website for full details about this version.
For requirements and usage details, see the CIS Benchmarks documentation.
Limitations
The following CIS benchmarks cannot be checked with a policy in Fleet:
- 2.1.2 Audit App Store Password Settings
- 2.3.3.12 Ensure Computer Name Does Not Contain PII or Protected Organizational Information
- 2.6.6 Audit Lockdown Mode
- 2.11.2 Audit Touch ID and Wallet & Apple Pay Settings
- 2.13.1 Audit Passwords System Preference Setting
- 2.14.1 Audit Notification & Focus Settings
- 3.7 Audit Software Inventory
- 6.2.1 Ensure Protect Mail Activity in Mail Is Enabled
- 5.3.2 Ensure all APFS and HFS+ external user storage volumes are encrypted — the fleetd
apfs_volumestable does not expose an internal/external indicator, so "external" volumes cannot be reliably identified as a policy query. Internal APFS volumes are covered by 5.3.1. - 5.3.3 Audit Connected FAT32 and ExFAT Drives (Manual) — CIS ships this as a Manual audit; it is an organizational review of connected removable drives rather than a mechanically checkable condition.
Checks that require decision
CIS has left the parameters of the following checks up to the benchmark implementer. CIS recommends that an organization make a conscious decision for these benchmarks, but does not make a specific recommendation.
Fleet has provided both an "enabled" and "disabled" version of these benchmarks. When both policies are added, at least one will fail. Once your organization has made a decision, you can delete one or the other policy.
The policy will be appended with a -enabled or -disabled label, such as 2.1.1.1-enabled.
- 2.1.1.1 Audit iCloud Keychain
- 2.1.1.2 Audit iCloud Drive
- 2.5.1 Audit Siri
- 2.8.1 Audit Universal Control
Furthermore, CIS has decided to not require the following password complexity settings:
- 5.2.3 Ensure Complex Password Must Contain Alphabetic Characters Is Configured
- 5.2.4 Ensure Complex Password Must Contain Numeric Character Is Configured
- 5.2.5 Ensure Complex Password Must Contain Special Character Is Configured
- 5.2.6 Ensure Complex Password Must Contain Uppercase and Lowercase Characters Is Configured
However, Fleet has provided these as policies. If your organization declines to implement these, simply delete the corresponding policies.
v3.1.0 update notes
These policies were updated from v3.0.0 to v3.1.0. The relevant changes:
- 2.3.5 Device Management — added as an informational sub-section only (no numbered recommendation), so there is no corresponding policy.
- 2.7.1 Ensure Screen Saver Hot Corners Are Secure — CIS rescoped this to the current user only (previously all users) and moved it to Level 1. The query now checks only the current console user's
com.apple.dockhot corners. Because the check reads the console user's Dock preferences, a non-root console user must be logged in when the policy is evaluated (see the console-user caveat inee/cis/CIS-BENCHMARKS.md). - 3.4 Ensure Security Auditing Logs Are Retained for 30 Days — retitled; the requirement was relaxed to
expire-after:≥ 30 days (a size clause such asOR 5Gis now optional). The query now checks for a day value ≥ 30 rather than the old60d OR 5G. - 3.5 Ensure Access to Audit Records Is Controlled — CIS updated only the remediation to
chmod 700, but its audit still checks for-r--r-----(mode 440), so the two contradict each other in the CIS document. Fleet's query follows the audit (audit_control 0400,/var/auditcontents 0440), so the query and its test script are unchanged. - 5.1.6 No World Writable Folders in the System Folder — CIS added
2>/dev/nullto suppress errors; the fleetdfind_cmdtable already handles this, so the query is unchanged. Note: the CIS audit excludesdownloadDir|locks, whereas Fleet's query excludes onlyDrop Box; this pre-existing exclusion difference was left as-is (it predates the v3.1.0 delta). - 5.1.7 No World Writable Folders in the Library Folder — CIS updated the audit to ignore the non-accessible
/Library/AppStorefolder; the query now excludes/Library/AppStore. - 5.3.1 / 5.3.2 storage encryption — CIS removed the old CoreStorage recommendation and split disk encryption into internal (5.3.1) and external (5.3.2). Fleet's 5.3.1 covers internal APFS volumes (see caveat below); the old CoreStorage policy was removed. 5.3.2 (external) and 5.3.3 (FAT32/ExFAT) are documented under Limitations.
- 5.6 Ensure the "root" Account Is Disabled — CIS updated the audit to detect a lingering secure token even when root is not enabled, and the remediation now removes it (
fdesetup remove -user root). Fleet's query already checks that root'sAuthenticationAuthoritykey is absent, which covers the secure-token case; the resolution and test script were updated to remove the secure token.