-
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathDocumentation_Example.csv
More file actions
We can make this file beautiful and searchable if this error is corrected: It looks like row 26 should actually have 2 columns, instead of 18 in line 25.
955 lines (811 loc) · 87.2 KB
/
Copy pathDocumentation_Example.csv
File metadata and controls
955 lines (811 loc) · 87.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
Title,Example Benchmark
Subtitle,Full Report - CIS Level 2
Compliance,CIS Level 2
Platform,macOS
Version,macOS 26 (Tahoe)
Date,2026-08-09
,
Author,Organization
Bob Gendler,National Institute of Standards and Technology
Dan Brodjieski,National Aeronautics and Space Administration
Allen Golbig,Jamf
Edward Byrd,Center for Internet Security
John Doe,Example Organization
,
Generated By,M.A.C.E. Documentation Builder
,
Section Summary,
Section,Rules
iCloud,1
Operating System,42
Password Policy,8
Supplemental,1
Audit,21
System Settings,44
Total,117
RULE_ID,TITLE,SECTION,DISCUSSION,FIX,MOBILECONFIG,DDM_INFO,SEVERITY:CIS,NIST:CCE,NIST:800-53r5,NIST:800-171r3,DISA:CCI,DISA:SRG,DISA:STIG_ID,DISA:CMMC,CIS:BENCHMARK,CIS:CONTROLS_V8,MODIFIED_RULE
icloud_sync_disable,Disable iCloud Desktop and Document Folder Sync,iCloud,"The macOS system's ability to automatically synchronize a user's desktop and documents folder to their iCloud Drive _MUST_ be disabled.
Apple's iCloud service does not provide an organization with enough control over the storage and access of data and, therefore, automated file synchronization _MUST_ be controlled by an organization approved service.
",,"- PayloadContent:
- allowCloudDesktopAndDocuments: false
PayloadType: com.apple.applicationaccess
",,,CCE-95153-3,AC-20; AC-20(1); CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002150,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.1.1.3 (level 2),4.1; 4.8; 15.3,No
os_safari_warn_fraudulent_website_enable,Ensure Warn When Visiting A Fraudulent Website in Safari Is Enabled,Operating System,"Warn when visiting a fraudulent website _MUST_ be enabled in Safari.
",,"- PayloadContent:
- WarnAboutFraudulentWebsites: true
PayloadType: com.apple.Safari
",,,CCE-95289-5,,,,,,,6.3.3 (level 1),9.1; 9.3,No
os_power_nap_disable,Disable Power Nap,Operating System,"Power Nap _MUST_ be disabled.
NOTE: Power Nap allows your Mac to perform actions while a Mac is asleep. This can interfere with USB power and may cause devices such as smartcards to stop functioning until a reboot and must therefore be disabled on all applicable systems.
The following Macs support Power Nap:
* MacBook (Early 2015 and later)
* MacBook Air (Late 2010 and later)
* MacBook Pro (all models with Retina display)
* Mac mini (Late 2012 and later)
* iMac (Late 2012 and later)
* Mac Pro (Late 2013 and later)
",/usr/bin/pmset -a powernap 0,,,,CCE-95260-6,CM-7; CM-7(1),03.04.06,,,,CM.L2-3.4.6; CM.L2-3.4.7,2.10.2 (level 1),4.1; 4.8,No
os_root_disable,Disable Root Login,Operating System,"To assure individual accountability and prevent unauthorized access, logging in as root at the login window _MUST_ be disabled.
The macOS system _MUST_ require individuals to be authenticated with an individual authenticator prior to using a group authenticator, and administrator users _MUST_ never log in directly as root.
","/usr/bin/fdesetup remove -user root
/usr/bin/dscl '/Local/Default' delete '/Users/root' AuthenticationAuthority",,,,CCE-95282-0,IA-2; IA-2(5),03.05.01,CCI-000764; CCI-000770; CCI-001813; CCI-004045,SRG-OS-000364-GPOS-00151; SRG-OS-000109-GPOS-00056; SRG-OS-000104-GPOS-00051,APPL-26-000100,IA.L1-3.5.1; IA.L1-3.5.2,5.6 (level 1),5.4,No
os_notes_transcription_disable,Disable Apple Intelligence Notes Transcription,Operating System,Apple Intelligence features such as Notes Transcription that use off device AI _MUST_ be disabled.,,"- PayloadContent:
- allowNotesTranscription: false
PayloadType: com.apple.applicationaccess
","ddm_key: Apps
ddm_value:
Notes:
AllowTranscription: false
declarationtype: com.apple.configuration.intelligence.settings
",,CCE-95238-2,AC-20; AC-20(1); CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,CCI-000381; CCI-001774,SRG-OS-000095-GPOS-00049,,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.5.1.4 (level 1),,No
os_anti_virus_installed,Must Use an Approved Antivirus Program,Operating System,"An approved antivirus product _MUST_ be installed and configured to run.
Malicious software can establish a base on individual desktops and servers. Employing an automated mechanism to detect this type of software will aid in elimination of the software from the operating system.'
","/bin/launchctl load -w /Library/Apple/System/Library/LaunchDaemons/com.apple.XProtect.daemon.scan.plist
/bin/launchctl load -w /Library/Apple/System/Library/LaunchDaemons/com.apple.XprotectFramework.PluginService.plist",,,,CCE-95158-2,,,CCI-000366,,,,5.10 (level 1),10.5; 10.1; 10.2,No
os_world_writable_system_folder_configure,Ensure No World Writable Files Exist in the System Folder,Operating System,"Folders in /System/Volumes/Data/System _MUST_ not be world-writable.
","IFS=$'\n'
for sysPermissions in $( /usr/bin/find /System/Volumes/Data/System -type d -perm -2 | /usr/bin/grep -vE ""downloadDir|locks"" ); do
/bin/chmod -R o-w ""$sysPermissions""
done",,,,CCE-95333-1,,,,,,,5.1.6 (level 1),3.3,No
os_internal_apfs_volumes_encrypted,Ensure All Internal User Storage APFS Volumes Are Encrypted,Operating System,"All internal user storage APFS volumes _MUST_ be encrypted.
While FileVault protects the boot volume, data may be copied to other attached internal storage and reduce the protection afforded by FileVault. All internal APFS volumes that carry user data and do not have a specific role (Preboot, Recovery, VM) _MUST_ be encrypted to protect user data from loss or tampering.
",,,,,CCE-96725-7,,,,,,,5.3.1 (level 1),3.6; 3.11; 13.6; 14.8,No
os_safari_open_safe_downloads_disable,Disable Automatic Opening of Safe Files in Safari,Operating System,"Open ""safe"" files after downloading _MUST_ be disabled in Safari.
",,"- PayloadContent:
- AutoOpenSafeDownloads: false
PayloadType: com.apple.Safari
",,,CCE-95284-6,,,,,,,6.3.1 (level 1),9.1; 9.6,No
os_mail_summary_disable,Disable Apple Intelligence Mail Summary,Operating System,Apple Intelligence features such as Apple Mail Summary that use off device AI _MUST_ be disabled.,,"- PayloadContent:
- allowMailSummary: false
PayloadType: com.apple.applicationaccess
","ddm_key: Apps
ddm_value:
Mail:
AllowSummary: false
declarationtype: com.apple.configuration.intelligence.settings
",,CCE-95223-4,AC-20; AC-20(1); CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,,,,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.5.1.3 (level 1),,No
os_external_apfs_hfs_volumes_encrypted,Ensure All APFS and HFS+ External User Storage Volumes Are Encrypted,Operating System,"All APFS and HFS+ external user storage volumes _MUST_ be encrypted.
While FileVault protects the boot volume, data may be copied to attached external storage and reduce the protection afforded by FileVault. All external user data volumes (APFS or HFS+) _MUST_ be encrypted to protect user data from loss or tampering. CoreStorage has been deprecated and replaced with APFS for volume encryption.
",,,,,CCE-96724-0,,,,,,,5.3.2 (level 1),3.6; 3.11; 13.6; 14.8,No
os_notes_transcription_summary_disable,Disable Apple Intelligence Notes Transcription Summary,Operating System,Apple Intelligence features such as Notes Transcription Summary that use off device AI _MUST_ be disabled.,,"- PayloadContent:
- allowNotesTranscriptionSummary: false
PayloadType: com.apple.applicationaccess
","ddm_key: Apps
ddm_value:
Notes:
AllowTranscriptionSummary: false
declarationtype: com.apple.configuration.intelligence.settings
",,CCE-95239-0,AC-20; AC-20(1); CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,CCI-000381; CCI-001774,SRG-OS-000095-GPOS-00049,,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.5.1.4 (level 1),,No
os_authenticated_root_enable,Enable Authenticated Root,Operating System,"Authenticated Root _MUST_ be enabled.
When Authenticated Root is enabled the macOS is booted from a signed volume that is cryptographically protected to prevent tampering with the system volume.
NOTE: Authenticated Root is enabled by default on macOS systems.
WARNING: If more than one partition with macOS is detected, the csrutil command will hang awaiting input.
",/usr/bin/csrutil authenticated-root enable,,,,CCE-95164-0,AC-3; CM-5; SC-34; SI-7(6); SI-7; MA-4(1),03.01.02; 03.04.05,CCI-000213,SRG-OS-000080-GPOS-00048,APPL-26-005070,AC.L1-3.1.1; CM.L2-3.4.5; SC.L2-3.13.11,5.1.4 (level 1),3.6; 3.11,No
os_safari_advertising_privacy_protection_enable,Ensure Advertising Privacy Protection in Safari Is Enabled,Operating System,"Allow privacy-preserving measurement of ad effectiveness _MUST_ be enabled in Safari.
",,"- PayloadContent:
- WebKitPreferences.privateClickMeasurementEnabled: true
PayloadType: com.apple.Safari
",,,CCE-95283-8,,,,,,,6.3.6 (level 1),9.1,No
os_config_data_install_enforce,Enforce Installation of XProtect Remediator and Gatekeeper Updates Automatically,Operating System,"Software Update _MUST_ be configured to update XProtect Remediator and Gatekeeper automatically.
This setting enforces definition updates for XProtect Remediator and Gatekeeper; with this setting in place, new malware and adware that Apple has added to the list of malware or untrusted software will not execute. These updates do not require the computer to be restarted.
link:https://support.apple.com/en-us/HT207005[]
NOTE: Software update will automatically update XProtect Remediator and Gatekeeper by default in the macOS.
",,"- PayloadContent:
- ConfigDataInstall: true
PayloadType: com.apple.SoftwareUpdate
",,,CCE-95176-4,SI-3; SI-2(5),03.14.02,CCI-000366,SRG-OS-000480-GPOS-00227,APPL-26-005130,SI.L1-3.14.1; SI.L1-3.14.2; SI.L1-3.14.4,1.5 (level 1),7.3; 7.4; 7.7,No
os_guest_folder_removed,Remove Guest Folder if Present,Operating System,"The guest folder _MUST_ be deleted if present.
",/bin/rm -Rf /Users/Guest,,,,CCE-95198-8,,,,,,,5.9 (level 1),4.1,No
os_sleep_and_display_sleep_apple_silicon_enable,Ensure Sleep and Display Sleep Is Enabled on Apple Silicon Devices,Operating System,"Apple Silicon MacBooks should set sleep timeout to 15 minutes (900 seconds) or less and the display sleep timeout should be 10 minutes (600 seconds) or less but less than the sleep setting.
","/usr/bin/pmset -a sleep 15
/usr/bin/pmset -a displaysleep 10",,,,CCE-95302-6,,,,,,,2.10.1.2 (level 2),4.1,No
os_password_hint_remove,Remove Password Hint From User Accounts,Operating System,"User accounts _MUST_ not contain password hints.
","for u in $(/usr/bin/dscl . -list /Users UniqueID | /usr/bin/awk '$2 > 500 {print $1}'); do
/usr/bin/dscl . -delete /Users/$u hint
done",,,,CCE-95250-7,IA-6,03.05.11,CCI-000206,SRG-OS-000079-GPOS-00047,APPL-26-003014,IA.L2-3.5.11,2.12.1 (level 1),5.2,No
os_software_update_app_update_enforce,Enforce Software Update App Update Updates Automatically,Operating System,"Software Update _MUST_ be configured to enforce automatic updates of App Updates is enabled.
",,"- PayloadContent:
- AutomaticallyInstallAppUpdates: true
PayloadType: com.apple.SoftwareUpdate
",,,CCE-95402-4,,,,,,,1.4 (level 1),7.3; 7.4,No
os_sudo_log_enforce,Configure Sudo To Log Events,Operating System,"Sudo _MUST_ be configured to log privilege escalation.
","/usr/bin/find /etc/sudoers* -type f -exec sed -i '' '/^Defaults[[:blank:]]*\!log_allowed/s/^/# /' '{}' \;
/bin/echo ""Defaults log_allowed"" >> /etc/sudoers.d/mscp",,"config_file: sudoers
configuration_key: Defaults
configuration_value: log_allowed
declarationtype: com.apple.configuration.services.configuration-files
service: com.apple.sudo
",,CCE-95316-6,AC-6(9),03.01.07,CCI-000172,SRG-OS-000064-GPOS-00033,APPL-26-000190,AU.L2-3.3.3; AU.L2-3.3.6; SI.L2-3.14.3,5.11 (level 1),,No
os_policy_banner_loginwindow_enforce,Display Policy Banner at Login Window,Operating System,"Displaying a standardized and approved use notification before granting access to the operating system ensures that users are provided with privacy and security notification verbiage that is consistent with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.
System use notifications are required only for access via login interfaces with human users and are not required when such human interfaces do not exist.
The policy banner will show if a ""PolicyBanner.rtf"" or ""PolicyBanner.rtfd"" exists in the ""/Library/Security"" folder.
The banner text of the document _MUST_ read:
[source,text]
----
Center for Internet Security Test Message
----
","bannerText=""Center for Internet Security Test Message""
/bin/mkdir /Library/Security/PolicyBanner.rtfd
/usr/bin/textutil -convert rtf -output /Library/Security/PolicyBanner.rtfd/TXT.rtf -stdin <<EOF
$bannerText
EOF",,,,CCE-95257-2,AC-8,03.01.09,CCI-000048; CCI-000050; CCI-001384; CCI-001385; CCI-001386; CCI-001387; CCI-001388,SRG-OS-000024-GPOS-00007; SRG-OS-000228-GPOS-00088; SRG-OS-000023-GPOS-00006,APPL-26-000025,AC.L2-3.1.9,5.8 (level 2),4.1,No
os_writing_tools_disable,Disable Apple Intelligence Writing Tools,Operating System,"Apple Intelligence features such as writing tools that use off device AI _MUST_ be disabled.
",,"- PayloadContent:
- allowWritingTools: false
PayloadType: com.apple.applicationaccess
","ddm_key: AllowWritingTools
ddm_value: false
declarationtype: com.apple.configuration.intelligence.settings
",,CCE-95334-9,AC-20; AC-20(1); CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,CCI-000381; CCI-001774,SRG-OS-000095-GPOS-00049,APPL-26-005160,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.5.1.2 (level 1),,No
os_sudoers_timestamp_type_configure,Configure Sudoers Timestamp Type,Operating System,"The file /etc/sudoers _MUST_ be configured to not include a timestamp_type of global or ppid and be configured for timestamp record types of tty.
This rule ensures that the ""sudo"" command will prompt for the administrator's password at least once in each newly opened terminal window. This prevents a malicious user from taking advantage of an unlocked computer or an abandoned logon session by bypassing the normal password prompt requirement.
",/usr/bin/find /etc/sudoers* -type f -exec sed -i '' '/timestamp_type/d; /!tty_tickets/d' '{}' \;,,,,CCE-95318-2,CM-5(1); IA-11,03.05.01,CCI-002038,SRG-OS-000373-GPOS-00157; SRG-OS-000373-GPOS-00156,APPL-26-004060,,5.5 (level 1),4.3,No
os_nfsd_disable,Disable Network File System Service,Operating System,"Support for Network File Systems (NFS) services is non-essential and, therefore, _MUST_ be disabled.
","/bin/launchctl disable system/com.apple.nfsd
/bin/rm -rf /etc/exports",,,,CCE-95235-8,AC-3; AC-17,03.01.02; 03.04.06,CCI-000213,SRG-OS-000080-GPOS-00048,APPL-26-002003,AC.L1-3.1.1,4.3 (level 1),4.1; 4.8,No
os_httpd_disable,Disable the Built-in Web Server,Operating System,"The built-in web server which is managed by launchd is a non-essential service built into macOS and _MUST_ be disabled and not running.
NOTE: The built in web server service is disabled at startup by default macOS.
","/usr/sbin/apachectl stop 2>/dev/null
/bin/launchctl disable system/org.apache.httpd",,,,CCE-95204-4,AC-3; AC-17,03.01.02; 03.04.06,CCI-000213,SRG-OS-000080-GPOS-00048,APPL-26-002008,AC.L1-3.1.1,4.2 (level 1),4.1; 4.8,No
os_airdrop_disable,Disable AirDrop,Operating System,"AirDrop _MUST_ be disabled to prevent file transfers to or from unauthorized devices.
AirDrop allows users to share and receive files from other nearby Apple devices.",,"- PayloadContent:
- allowAirDrop: false
PayloadType: com.apple.applicationaccess
",,,CCE-95156-6,AC-3; AC-20; CM-7; CM-7(1),03.01.02; 03.01.20; 03.04.06,CCI-000213; CCI-000381; CCI-001443,SRG-OS-000300-GPOS-00118; SRG-OS-000080-GPOS-00048; SRG-OS-000095-GPOS-00049,APPL-26-002009,AC.L1-3.1.1; AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.3.1.1 (level 1),4.1; 4.8; 6.7,No
os_safari_show_full_website_address_enable,Ensure Show Full Website Address in Safari Is Enabled,Operating System,"Show full website address _MUST_ be enabled in Safari.
",,"- PayloadContent:
- ShowFullURLInSmartSearchField: true
PayloadType: com.apple.Safari
",,,CCE-95287-9,,,,,,,6.3.7 (level 1),9.1,No
os_mobile_file_integrity_enable,Enable Apple Mobile File Integrity,Operating System,Mobile file integrity _MUST_ be enabled.,"/usr/sbin/nvram boot-args=""""",,,,CCE-95231-7,,,,,,,5.1.3 (level 1),2.3; 2.6,No
os_sip_enable,Ensure System Integrity Protection is Enabled,Operating System,"System Integrity Protection (SIP) _MUST_ be enabled.
SIP is vital to protecting the integrity of the system as it prevents malicious users and software from making unauthorized and/or unintended modifications to protected files and folders; ensures the presence of an audit record generation capability for defined auditable events for all operating system components; protects audit tools from unauthorized access, modification, and deletion; restricts the root user account and limits the actions that the root user can perform on protected parts of the macOS; and prevents non-privileged users from granting other users direct access to the contents of their home directories and folders.
NOTE: SIP is enabled by default in macOS.
",/usr/bin/csrutil enable,,,,CCE-95298-6,AC-3; AU-9; AU-9(3); CM-5; CM-5(6); SC-4; SI-2; SI-7,03.01.02; 03.03.08; 03.04.05; 03.13.04,CCI-000154; CCI-000158; CCI-000169; CCI-001493; CCI-001494; CCI-001495; CCI-001499; CCI-001875; CCI-001876; CCI-001877; CCI-001878; CCI-001879; CCI-001880; CCI-001881; CCI-001882; CCI-001090; CCI-001496,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000062-GPOS-00031; SRG-OS-000051-GPOS-00024; SRG-OS-000054-GPOS-00025; SRG-OS-000278-GPOS-00108; SRG-OS-000080-GPOS-00048; SRG-OS-000059-GPOS-00029; SRG-OS-000138-GPOS-00069; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000259-GPOS-00100; SRG-OS-000122-GPOS-00063; SRG-OS-000058-GPOS-00028,APPL-26-005001,AC.L1-3.1.1; AU.L2-3.3.8; CM.L2-3.4.5; SC.L2-3.13.4; SI.L1-3.14.1; SI.L1-3.14.4,5.1.2 (level 1),2.3; 2.6; 10.5,No
os_terminal_secure_keyboard_enable,Ensure Secure Keyboard Entry Terminal.app is Enabled,Operating System,"Secure keyboard entry _MUST_ be enabled in Terminal.app.
",,"- PayloadContent:
- SecureKeyboardEntry: true
PayloadType: com.apple.Terminal
",,,CCE-95321-6,,,,,,,6.4.1 (level 1),4.8,No
os_gatekeeper_enable,Enable Gatekeeper,Operating System,"Gatekeeper _MUST_ be enabled.
Gatekeeper is a security feature that ensures that applications are digitally signed by an Apple-issued certificate before they are permitted to run. Digital signatures allow the macOS host to verify that the application has not been modified by a malicious third party.
Administrator users will still have the option to override these settings on a case-by-case basis.
",,"- PayloadContent:
- EnableAssessment: true
PayloadType: com.apple.systempolicy.control
",,,CCE-95195-4,CM-14; CM-5; SI-7(1); SI-7(15); SI-3,03.14.02,CCI-001749; CCI-003992,SRG-OS-000366-GPOS-00153; SRG-OS-000480-GPOS-00228,APPL-26-002064,CM.L2-3.4.5; SI.L1-3.14.1; SI.L1-3.14.2; SI.L1-3.14.4,2.6.5 (level 1),10.1; 10.2; 10.5,No
os_world_writable_library_folder_configure,Ensure No World Writable Files Exist in the Library Folder,Operating System,"Folders in /System/Volumes/Data/Library _MUST_ not be world-writable.
NOTE: Some vendors are known to create world-writable folders to the System Library folder. You may need to add more exclusions to this check and fix to match your environment.
","IFS=$'\n'
for libPermissions in $(/usr/bin/find /Library -type d -perm -002 ! -perm -1000 ! -xattrname com.apple.rootless 2>/dev/null); do
/bin/chmod -R o-w ""$libPermissions""
done",,,,CCE-95332-3,,,,,,,5.1.7 (level 2),3.3,No
os_time_server_enabled,Enable Time Synchronization Daemon,Operating System,"The macOS time synchronization daemon (timed) _MUST_ be enabled for proper time synchronization to an authorized time server.
NOTE: The time synchronization daemon is enabled by default on macOS.
",/bin/launchctl load -w /System/Library/LaunchDaemons/com.apple.timed.plist,,,,CCE-95325-7,AU-12(1); SC-45(1),03.03.07,CCI-002046; CCI-001891; CCI-004923; CCI-004926; CCI-004922,SRG-OS-000355-GPOS-00143; SRG-OS-000356-GPOS-00144; SRG-OS-000785-GPOS-00250,APPL-26-000180,AU.L2-3.3.7,2.3.2.2 (level 1),8.4,No
os_sudo_timeout_configure,Configure Sudo Timeout Period to 0,Operating System,"The file /etc/sudoers _MUST_ include a timestamp_timeout of 0.
","/usr/bin/find /etc/sudoers* -type f -exec sed -i '' '/timestamp_timeout/d' '{}' \;
/bin/echo ""Defaults timestamp_timeout=0"" >> /etc/sudoers.d/mscp",,"config_file: sudoers
configuration_key: Defaults timestamp_timeout=
configuration_value: 0
declarationtype: com.apple.configuration.services.configuration-files
service: com.apple.sudo
",,CCE-95317-4,,,CCI-002038,SRG-OS-000373-GPOS-00156,APPL-26-004022,,5.4 (level 1),4.3,No
os_system_wide_applications_configure,Ensure Appropriate Permissions Are Enabled for System Wide Applications,Operating System,"Applications in the System Applications Directory (/Applications) _MUST_ not be world-writable.
","IFS=$'\n'
for apps in $( /usr/bin/find /Applications -iname ""*\.app"" -type d -perm -2 ); do
/bin/chmod -R o-w ""$apps""
done",,,,CCE-95320-8,,,,,,,5.1.5 (level 1),3.3,No
os_software_update_deferral,Ensure Software Update Deferment Is Less Than or Equal to 30 Days,Operating System,"Software updates _MUST_ be deferred for 30 days or less.
If you need to defer software updates, create a Restrictions profile using the com.apple.applicationaccess domain and the key enforcedSoftwareUpdateDelay.
",,,,,CCE-95303-4,,,,,,,1.6 (level 1),7.3; 7.4,No
os_home_folders_secure,Secure User's Home Folders,Operating System,"The system _MUST_ be configured to prevent access to other user's home folders.
The default behavior of macOS is to allow all valid users access to the top level of every other user's home folder while restricting access only to the Apple default folders within.
","IFS=$'\n'
for userDirs in $( /usr/bin/find /System/Volumes/Data/Users -mindepth 1 -maxdepth 1 -type d ! \( -perm 700 -o -perm 711 \) | /usr/bin/grep -v ""Shared"" | /usr/bin/grep -v ""Guest"" ); do
/bin/chmod og-rwx ""$userDirs""
done
unset IFS",,,,CCE-95203-6,AC-6,03.01.05,CCI-000366,SRG-OS-000480-GPOS-00230; SRG-OS-000480-GPOS-00228,APPL-26-002068,AC.L1-3.1.1; AC.L1-3.1.2; AC.L2-3.1.5; AC.L2-3.1.6,5.1.1 (level 1),3.3,No
os_install_log_retention_configure,Configure Install.log Retention to 365,Operating System,"The install.log _MUST_ be configured to require records be kept for a organizational defined value before deletion, unless the system uses a central audit record storage facility.
","/usr/bin/sed -i '' ""s/\* file \/var\/log\/install.log.*/\* file \/var\/log\/install.log format='\$\(\(Time\)\(JZ\)\) \$Host \$\(Sender\)\[\$\(PID\\)\]: \$Message' rotate=utc compress file_max=50M size_only ttl=365/g"" /etc/asl/com.apple.install",,,,CCE-95211-9,AU-11; AU-4,03.03.03,CCI-001849,SRG-OS-000341-GPOS-00132,APPL-26-004050,AU.L2-3.3.1,3.3 (level 1),8.1; 8.3,No
os_on_device_dictation_enforce,Enforce On Device Dictation,Operating System,"The system _MUST_ be configured for on device dictation.
By enforcing on device dictation this will mitigate the risk of unwanted data being sent to Apple.
",,"- PayloadContent:
- forceOnDeviceOnlyDictation: true
PayloadType: com.apple.applicationaccess
","ddm_key: ForceOnDeviceOnlyTranslation
ddm_value: true
declarationtype: com.apple.configuration.intelligence.settings
",,CCE-95247-3,AC-20; CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002220,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.18.1 (level 1),4.1; 4.8,No
os_safari_prevent_cross-site_tracking_enable,Ensure Prevent Cross-site Tracking in Safari Is Enabled,Operating System,"Prevent cross-site tracking _MUST_ be enabled in Safari.
",,"- PayloadContent:
- WebKitPreferences.storageBlockingPolicy: 1
- WebKitStorageBlockingPolicy: 1
- BlockStoragePolicy: 2
PayloadType: com.apple.Safari
",,,CCE-95285-3,,,,,,,6.3.4 (level 1),9.1; 9.3,No
os_bonjour_disable,Disable Bonjour Multicast,Operating System,"Bonjour multicast advertising _MUST_ be disabled to prevent the system from broadcasting its presence and available services over network interfaces.
",,"- PayloadContent:
- NoMulticastAdvertisements: true
PayloadType: com.apple.mDNSResponder
",,,CCE-95169-9,CM-7; CM-7(1),03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002005,CM.L2-3.4.6; CM.L2-3.4.7,4.1 (level 2),4.1; 4.8,No
os_unlock_active_user_session_disable,Disable Login to Other User's Active and Locked Sessions,Operating System,"The ability to log in to another user's active or locked session _MUST_ be disabled.
macOS has a privilege that can be granted to any user that will allow that user to unlock active user's sessions. Disabling the admins and/or user's ability to log into another user's active and locked session prevents unauthorized persons from viewing potentially sensitive and/or personal information.
NOTE: Configuring this setting will change the user experience and disable TouchID from unlocking the screensaver. A configuration profile will be generated to include the setting that restores the expected behavior. You can also apply the settings using `/usr/bin/sudo /usr/bin/defaults write /Library/Preferences/com.apple.loginwindow screenUnlockMode -int 1`.
WARNING: Do not apply this rule if your organization uses smartcards and Platform Single Sign-On (PSSO).
","SS_RULE=$(/usr/bin/security -q authorizationdb read system.login.screensaver 2>&1 | /usr/bin/xmllint --xpath ""//dict/key[.='rule']/following-sibling::array[1]/string/text()"" -)
if [[ ""$SS_RULE"" == *psso* ]]; then
/usr/bin/security -q authorizationdb read psso-screensaver > ""/tmp/psso-screensaver-mscp.plist""
/usr/bin/sed -i.bak 's/<string>authenticate-session-owner-or-admin<\/string>/<string>authenticate-session-owner<\/string>/' /tmp/psso-screensaver-mscp.plist
/usr/bin/security -q authorizationdb write psso-screensaver-mscp < /tmp/psso-screensaver-mscp.plist
/usr/bin/security -q authorizationdb write system.login.screensaver psso-screensaver-mscp 2>&1
else
/usr/bin/security -q authorizationdb write system.login.screensaver ""authenticate-session-owner"" 2>&1
fi","- PayloadContent:
- screenUnlockMode: 1
PayloadType: com.apple.loginwindow
",,,CCE-95328-1,IA-2; IA-2(5),03.05.01,CCI-000764; CCI-000770; CCI-004045,SRG-OS-000109-GPOS-00056; SRG-OS-000104-GPOS-00051,APPL-26-000090,IA.L1-3.5.1; IA.L1-3.5.2,5.7 (level 1),4.3,No
os_safari_show_status_bar_enabled,Ensure Show Safari shows the Status Bar is Enabled,Operating System,"Safari _MUST_ be configured to show the status bar.
",,"- PayloadContent:
- ShowOverlayStatusBar: true
PayloadType: com.apple.Safari
",,,CCE-95288-7,,,,,,,6.3.10 (level 1),9.1,No
pwpolicy_custom_regex_enforce,Require Passwords to Match the Defined Custom Regular Expression,Password Policy,"The macOS _MUST_ be configured to meet complexity requirements defined in ^(?=.*[A-Z])(?=.*[a-z]).*$.
This rule enforces password complexity by requiring users to set passwords that are less vulnerable to malicious users.
NOTE: To comply with Executive Order 14028, “Improving the Nation's Cybersecurity”, OMB M-22-09, “Moving the U.S. Government Toward Zero Trust Cybersecurity Principles”, and NIST SP-800-63b, “Digital Identity Guidelines: Authentication and Lifecycle Management” federal, military, and intelligence communities must adopt the following configuration settings. Password policies must not require the use of complexity policies such as upper characters, lower characters, or special characters. Password policies must also not require the use of regular rotation. Password policies should define a minimum length. Multifactor authentication should be used where ever possible.
NOTE: The configuration profile generated must be installed from an MDM server.
",,"- PayloadContent:
- customRegex:
passwordContentDescription:
default: Password must match custom regex.
passwordContentRegex: ^(?=.*[A-Z])(?=.*[a-z]).*$
PayloadType: com.apple.mobiledevice.passwordpolicy
","ddm_key: CustomRegex
ddm_value:
Description: Password must match custom regex.
Regex: ^(?=.*[A-Z])(?=.*[a-z]).*$
declarationtype: com.apple.configuration.passcode.settings
",,CCE-95340-6,IA-5(1),03.05.07,CCI-000192; CCI-000193; CCI-004066; CCI-004066; CCI-004064; CCI-004065,SRG-OS-000070-GPOS-00038; SRG-OS-000069-GPOS-00037,APPL-26-003060,IA.L2-3.5.7; IA.L2-3.5.8; IA.L2-3.5.9,5.2.6 (level 2),5.2,No
pwpolicy_max_lifetime_enforce,Restrict Maximum Password Lifetime to 365 Days,Password Policy,"The system _MUST_ be configured to enforce a maximum password lifetime limit of 365 days.
This rule ensures that users are forced to change their passwords frequently enough to prevent malicious users from gaining and maintaining access to the system.
NOTE: To comply with Executive Order 14028, “Improving the Nation's Cybersecurity”, OMB M-22-09, “Moving the U.S. Government Toward Zero Trust Cybersecurity Principles”, and NIST SP-800-63b, “Digital Identity Guidelines: Authentication and Lifecycle Management” federal, military, and intelligence communities must adopt the following configuration settings. Password policies must not require the use of complexity policies such as upper characters, lower characters, or special characters. Password policies must also not require the use of regular rotation. Password policies should define a minimum length. Multifactor authentication should be used where ever possible.
",,"- PayloadContent:
- maxPINAgeInDays: 365
PayloadType: com.apple.mobiledevice.passwordpolicy
","ddm_key: MaximumPasscodeAgeInDays
ddm_value: 365
declarationtype: com.apple.configuration.passcode.settings
",,CCE-95345-5,IA-5,03.05.12,CCI-000199; CCI-004066,SRG-OS-000076-GPOS-00044; SRG-OS-000775-GPOS-00230,APPL-26-003008,IA.L2-3.5.8; IA.L2-3.5.9,5.2.7 (level 1),5.3,No
pwpolicy_history_enforce,Prohibit Password Reuse for a Minimum of 24 Generations,Password Policy,"The device _MUST_ be configured to enforce a password history of at least 24 previous passwords when a password is created.
This rule ensures that users are not allowed to re-use a password that was used in any of the 24 previous password generations.
Limiting password reuse protects against malicious users attempting to gain access to the system via brute-force hacking methods.
",,"- PayloadContent:
- pinHistory: 24
PayloadType: com.apple.mobiledevice.passwordpolicy
","ddm_key: PasscodeReuseLimit
ddm_value: 24
declarationtype: com.apple.configuration.passcode.settings
",,CCE-95343-0,IA-5(1),03.05.07,CCI-000200,SRG-OS-000077-GPOS-00045; SRG-OS-000775-GPOS-00230,AIOS-18-006950,IA.L2-3.5.7; IA.L2-3.5.8; IA.L2-3.5.9,5.2.8 (level 1),5.2,No
pwpolicy_account_lockout_enforce,Limit Consecutive Failed Login Attempts to 5,Password Policy,"The system _MUST_ be configured to limit the number of failed login attempts to a maximum of 5. When the maximum number of failed attempts is reached, the system _MUST_ prevent logins for a period of time after.
This rule protects against malicious users attempting to gain access to the system via brute-force hacking methods.
",,"- PayloadContent:
- maxFailedAttempts: 5
PayloadType: com.apple.mobiledevice.passwordpolicy
","ddm_key: MaximumFailedAttempts
ddm_value: 5
declarationtype: com.apple.configuration.passcode.settings
",,CCE-95337-2,AC-7,03.01.08,CCI-000044; CCI-002238,SRG-OS-000329-GPOS-00128; SRG-OS-000021-GPOS-00005,APPL-26-000022,AC.L2-3.1.8,5.2.1 (level 1),6.2,No
pwpolicy_special_character_enforce,Require Passwords Contain a Minimum of One Special Character,Password Policy,"The macOS _MUST_ be configured to require at least one special character be used when a password is created.
Special characters are those characters that are not alphanumeric. Examples include: ~ ! @ # $ % ^ *.
This rule enforces password complexity by requiring users to set passwords that are less vulnerable to malicious users.
NOTE: To comply with Executive Order 14028, ""Improving the Nation's Cybersecurity"", OMB M-22-09, ""Moving the U.S. Government Toward Zero Trust Cybersecurity Principles"", and NIST SP-800-63b, ""Digital Identity Guidelines: Authentication and Lifecycle Management"" federal, military, and intelligence communities must adopt the following configuration settings. Password policies must not require the use of complexity policies such as upper characters, lower characters, or special characters. Password policies must also not require the use of regular rotation. Password policies should define a minimum length. Multifactor authentication should be used where ever possible.
",,"- PayloadContent:
- minComplexChars: 1
PayloadType: com.apple.mobiledevice.passwordpolicy
","ddm_key: MinimumComplexCharacters
ddm_value: 1
declarationtype: com.apple.configuration.passcode.settings
",,CCE-95350-5,IA-5(1),03.05.07,CCI-001619; CCI-004066,SRG-OS-000266-GPOS-00101,APPL-26-003011,IA.L2-3.5.7; IA.L2-3.5.8; IA.L2-3.5.9,5.2.5 (level 2),5.2,No
pwpolicy_account_lockout_timeout_enforce,Set Account Lockout Time to 15 Minutes,Password Policy,"The macOS _MUST_ be configured to enforce a lockout time period of at least 15 minutes when the maximum number of failed logon attempts is reached.
This rule protects against malicious users attempting to gain access to the system via brute-force hacking methods.
",,"- PayloadContent:
- minutesUntilFailedLoginReset: 15
PayloadType: com.apple.mobiledevice.passwordpolicy
","ddm_key: MaximumGracePeriodInMinutes
ddm_value: 15
declarationtype: com.apple.configuration.passcode.settings
",,CCE-95338-0,AC-7,03.01.08,CCI-002238; CCI-000044,SRG-OS-000329-GPOS-00128; SRG-OS-000021-GPOS-00005,APPL-26-000060,AC.L2-3.1.8,5.2.1 (level 1),6.2,No
pwpolicy_alpha_numeric_enforce,Require Passwords Contain a Minimum of One Numeric Character,Password Policy,"The macOS _MUST_ be configured to require at least one numeric character be used when a password is created.
This rule enforces password complexity by requiring users to set passwords that are less vulnerable to malicious users.
NOTE: To comply with Executive Order 14028, ""Improving the Nation's Cybersecurity"", OMB M-22-09, ""Moving the U.S. Government Toward Zero Trust Cybersecurity Principles"", and NIST SP-800-63b, ""Digital Identity Guidelines: Authentication and Lifecycle Management"" federal, military, and intelligence communities must adopt the following configuration settings. Password policies must not require the use of complexity policies such as upper characters, lower characters, or special characters. Password policies must also not require the use of regular rotation. Password policies should define a minimum length. Multifactor authentication should be used where ever possible.
",,"- PayloadContent:
- requireAlphanumeric: true
PayloadType: com.apple.mobiledevice.passwordpolicy
","ddm_key: RequireAlphanumericPasscode
ddm_value: true
declarationtype: com.apple.configuration.passcode.settings
",,CCE-95339-8,IA-5(1),03.05.07,CCI-000194; CCI-004066,SRG-OS-000071-GPOS-00039; SRG-OS-000775-GPOS-00230,APPL-26-003007,IA.L2-3.5.7; IA.L2-3.5.8; IA.L2-3.5.9,5.2.3 (level 2); 5.2.4 (level 2),5.2,No
pwpolicy_minimum_length_enforce,Require a Minimum Password Length of 15 Characters,Password Policy,"The macOS _MUST_ be configured to require a minimum of 15 characters be used when a password is created.
This rule enforces password complexity by requiring users to set passwords that are less vulnerable to malicious users.
NOTE: To comply with Executive Order 14028, ""Improving the Nation's Cybersecurity"", OMB M-22-09, ""Moving the U.S. Government Toward Zero Trust Cybersecurity Principles"", and NIST SP-800-63b, ""Digital Identity Guidelines: Authentication and Lifecycle Management"" federal, military, and intelligence communities must adopt the following configuration settings. Password policies must not require the use of complexity policies such as upper characters, lower characters, or special characters. Password policies must also not require the use of regular rotation. Password policies should define a minimum length. Multifactor authentication should be used where ever possible.
",,"- PayloadContent:
- minLength: 15
PayloadType: com.apple.mobiledevice.passwordpolicy
","ddm_key: MinimumLength
ddm_value: 15
declarationtype: com.apple.configuration.passcode.settings
",,CCE-95346-3,IA-5(1),03.05.07,CCI-000205; CCI-004066,SRG-OS-000078-GPOS-00046,APPL-26-003010,IA.L2-3.5.7; IA.L2-3.5.8; IA.L2-3.5.9,5.2.2 (level 1),5.2,No
supplemental_cis_manual,CIS Manual Recommendations,Supplemental,"List of CIS recommendations that are manual check in the CIS macOS Benchmark.
[cols=""15%h, 85%a""]
|===
|Section
|System Settings
|Recommendations
| 1.7 Ensure the System is Managed by a Mobile Device Management (MDM) Software
|===
[cols=""15%h, 85%a""]
|===
|Section
|System Settings
|Recommendations
|2.1.1.1 Audit iCloud Keychain +
2.1.1.2 Audit iCloud Drive +
2.1.1.4 Audit Security Keys Used With Apple Accounts +
2.1.1.5 Audit Freeform Sync to iCloud +
2.1.1.6 Audit Find My Mac +
2.1.2 Audit App Store Password Settings +
2.3.3.11 Ensure Computer Name Does Not Contain PII or Protected Organizational Information +
2.4.1 Audit Menu Bar and Control Center Icons +
2.5.2.2 Ensure Listen for Siri is Disabled +
2.6.1.3 Audit Location Services Access +
2.6.2.1 Audit Full Disk Access for Applications +
2.6.3.5 Ensure Share iCloud Analytics Is Disabled +
2.6.7 Audit Lockdown Mode +
2.7.2 Audit iPhone Mirroring +
2.8.1 Audit Universal Control Settings +
2.10.1.1 Ensure the OS Is Not Active When Resuming from Standby (Intel) +
2.12.2 Audit Touch ID +
2.14.1 Audit Game Center Settings +
2.15.1 Audit Notification & Focus Settings +
2.16.1 Audit Wallet & Apple Pay Settings +
2.17.1 Audit Internet Accounts for Authorized Use +
|===
[cols=""15%h, 85%a""]
|===
|Section
|Logging and Auditing
|Recommendations
|3.6 Audit Software Inventory
|===
[cols=""15%h, 85%a""]
|===
|Section
|System Access, Authentication and Authorization
|Recommendations
|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 +
5.3.1 Ensure All User Storage APFS Volumes are Encrypted +
5.3.2 Ensure All User Storage CoreStorage Volumes are Encrypted +
|===
[cols=""15%h, 85%a""]
|===
|Section
|Applications
|Recommendations
|6.1.1 Ensure Show All Filename Extensions Setting is Enabled +
6.2.1 Ensure Protect Mail Activity in Mail Is Enabled +
6.3.2 Audit History and Remove History Items +
6.3.5 Audit Hide IP Address in Safari Setting +
6.3.8 Audit Autofill +
6.3.9 Audit Pop-up Windows +
6.5.1 Audit Passwords +
|===
",,,,,,,,,,,,,,No
audit_flags_fm_failed_configure,Configure System to Audit All Failed Change of Object Attributes,Audit,"The audit system _MUST_ be configured to record enforcement actions of failed attempts to modify file attributes (-fm).
Enforcement actions are the methods or mechanisms used to prevent unauthorized changes to configuration settings. One common and effective enforcement action method is using access restrictions (i.e., denying modifications to a file by applying file permissions).
This configuration ensures that audit lists include events in which enforcement actions prevent attempts to modify a file.
Without auditing the enforcement of access restrictions, it is difficult to identify attempted attacks, as there is no audit trail available for forensic investigation.
","/usr/bin/grep -qE ""^flags.*-fm"" /etc/security/audit_control || /usr/bin/sed -i.bak '/^flags/ s/$/,-fm/' /etc/security/audit_control;/usr/sbin/audit -s",,,,CCE-95120-2,AC-2(12); AU-12; AU-2; AU-9; CM-5(1); MA-4(1),03.03.01; 03.03.03; 03.03.08,,,,AU.L2-3.3.3; AU.L2-3.3.6; AU.L2-3.3.8; SI.L2-3.14.3,3.2 (level 2),3.14; 8.2; 8.5,No
audit_folder_group_configure,Configure Audit Log Folders Group to Wheel,Audit,"Audit log files _MUST_ have the group set to wheel.
The audit service _MUST_ be configured to create log files with the correct group ownership to prevent normal users from reading audit logs.
Audit logs contain sensitive data about the system and users. If log files are set to be readable and writable only by system administrators, the risk is mitigated.
",/usr/bin/chgrp wheel /var/audit,,,,CCE-95124-4,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001015,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_control_mode_configure,Configure Audit_Control Owner to Mode 440 or Less Permissive,Audit,"/etc/security/audit_control _MUST_ be configured so that it is readable only by the root user and group wheel.
",/bin/chmod 440 /etc/security/audit_control,,,,CCE-95108-7,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-000171; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000063-GPOS-00032; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001130,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_flags_aa_configure,Configure System to Audit All Authorization and Authentication Events,Audit,"The auditing system _MUST_ be configured to flag authorization and authentication (aa) events.
Authentication events contain information about the identity of a user, server, or client. Authorization events contain information about permissions, rights, and rules. If audit records do not include aa events, it is difficult to identify incidents and to correlate incidents to subsequent events.
Audit records can be generated from various components within the information system (e.g., via a module or policy filter).
","/usr/bin/grep -qE ""^flags.*[^-]aa"" /etc/security/audit_control || /usr/bin/sed -i.bak '/^flags/ s/$/,aa/' /etc/security/audit_control; /usr/sbin/audit -s",,,,CCE-95115-2,AC-2(12); AU-12; AU-2; MA-4(1); CM-5(1),03.03.01; 03.03.03,CCI-000172; CCI-001814; CCI-002884; CCI-003938,SRG-OS-000392-GPOS-00172; SRG-OS-000365-GPOS-00152; SRG-OS-000475-GPOS-00220; SRG-OS-000463-GPOS-00207; SRG-OS-000467-GPOS-00211; SRG-OS-000465-GPOS-00209; SRG-OS-000477-GPOS-00222; SRG-OS-000471-GPOS-00216; SRG-OS-000466-GPOS-00210; SRG-OS-000471-GPOS-00215; SRG-OS-000458-GPOS-00203; SRG-OS-000468-GPOS-00212,APPL-26-001044,AU.L2-3.3.3; AU.L2-3.3.6; SI.L2-3.14.3,3.2 (level 2),3.14; 8.2; 8.5,No
audit_flags_ad_configure,Configure System to Audit All Administrative Action Events,Audit,"The auditing system _MUST_ be configured to flag administrative action (ad) events.
Administrative action events include changes made to the system (e.g. modifying authentication policies). If audit records do not include ad events, it is difficult to identify incidents and to correlate incidents to subsequent events.
Audit records can be generated from various components within the information system (e.g., via a module or policy filter).
The information system audits the execution of privileged functions.
NOTE: We recommend changing the line ""43127:AUE_MAC_SYSCALL:mac_syscall(2):ad"" to ""43127:AUE_MAC_SYSCALL:mac_syscall(2):zz"" in the file /etc/security/audit_event. This will prevent sandbox violations from being audited by the ad flag.
","/usr/bin/grep -qE ""^flags.*[^-]ad"" /etc/security/audit_control || /usr/bin/sed -i.bak '/^flags/ s/$/,ad/' /etc/security/audit_control; /usr/sbin/audit -s",,,,CCE-95116-0,AC-2(12); AC-6(9); AU-12; AC-2(4); AU-2; MA-4(1); CM-5(1),03.01.07; 03.03.01; 03.03.03,CCI-000018; CCI-000172; CCI-001403; CCI-001404; CCI-001405; CCI-001814; CCI-002234; CCI-002884; CCI-000015; CCI-000015; CCI-003938; CCI-004083,SRG-OS-000304-GPOS-00121; SRG-OS-000365-GPOS-00152; SRG-OS-000392-GPOS-00172; SRG-OS-000239-GPOS-00089; SRG-OS-000240-GPOS-00090; SRG-OS-000004-GPOS-00004; SRG-OS-000241-GPOS-00091; SRG-OS-000274-GPOS-00104; SRG-OS-000327-GPOS-00127; SRG-OS-000471-GPOS-00216; SRG-OS-000476-GPOS-00221; SRG-OS-000471-GPOS-00215; SRG-OS-000458-GPOS-00203; SRG-OS-000303-GPOS-00120; SRG-OS-000755-GPOS-00220,APPL-26-001001,AU.L2-3.3.3; AU.L2-3.3.6; SI.L2-3.14.3,3.2 (level 2),3.14; 8.2; 8.5,No
audit_flags_ex_configure,Configure System to Audit All Failed Program Execution on the System,Audit,"The audit system _MUST_ be configured to record enforcement actions of access restrictions, including failed program execute (-ex) attempts.
Enforcement actions are the methods or mechanisms used to prevent unauthorized access and/or changes to configuration settings. One common and effective enforcement action method is using program execution restrictions (e.g., denying users access to execute certain processes).
This configuration ensures that audit lists include events in which program execution has failed.
Without auditing the enforcement of program execution, it is difficult to identify attempted attacks, as there is no audit trail available for forensic investigation.
","/usr/bin/grep -qE ""^flags.*-ex"" /etc/security/audit_control || /usr/bin/sed -i.bak '/^flags/ s/$/,-ex/' /etc/security/audit_control; /usr/sbin/audit -s",,,,CCE-95117-8,AC-2(12); AU-12; AU-2; CM-5(1),03.03.01; 03.03.03,CCI-000172; CCI-001814; CCI-003938,SRG-OS-000365-GPOS-00152; SRG-OS-000465-GPOS-00209; SRG-OS-000458-GPOS-00203; SRG-OS-000463-GPOS-00207,APPL-26-001024,AU.L2-3.3.3; AU.L2-3.3.6; SI.L2-3.14.3,3.2 (level 2),3.14; 8.2; 8.5,No
audit_auditd_enabled,Enable Security Auditing,Audit,"The information system _MUST_ be configured to generate audit records.
Audit records establish what types of events have occurred, when they occurred, and which users were involved. These records aid an organization in their efforts to establish, correlate, and investigate the events leading up to an outage or attack.
The content required to be captured in an audit record varies based on the impact level of an organization's system. Content that may be necessary to satisfy this requirement includes, for example, time stamps, source addresses, destination addresses, user identifiers, event descriptions, success/fail indications, filenames involved, and access or flow control rules invoked.
The information system initiates session audits at system start-up.
NOTE: Security auditing is NOT enabled by default on macOS 14 and later.
","if [[ ! -e /etc/security/audit_control ]] && [[ -e /etc/security/audit_control.example ]];then
/bin/cp /etc/security/audit_control.example /etc/security/audit_control
fi
/bin/launchctl enable system/com.apple.auditd
/bin/launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.auditd.plist
/usr/sbin/audit -i",,,,CCE-95104-6,AU-3; AU-3(1); AU-8; AU-12; AU-12(1); AU-12(3); AU-14(1); MA-4(1); CM-5(1),03.03.02; 03.03.03; 03.03.07,CCI-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; CCI-003938; CCI-004188,SRG-OS-000255-GPOS-00096; SRG-OS-000474-GPOS-00219; SRG-OS-000465-GPOS-00209; SRG-OS-000473-GPOS-00218; SRG-OS-000337-GPOS-00129; SRG-OS-000359-GPOS-00146; SRG-OS-000472-GPOS-00217; SRG-OS-000257-GPOS-00098; SRG-OS-000466-GPOS-00210; SRG-OS-000042-GPOS-00020; SRG-OS-000468-GPOS-00212; SRG-OS-000392-GPOS-00172; SRG-OS-000463-GPOS-00207; SRG-OS-000039-GPOS-00017; SRG-OS-000467-GPOS-00211; SRG-OS-000470-GPOS-00214; SRG-OS-000461-GPOS-00205; SRG-OS-000258-GPOS-00099; SRG-OS-000471-GPOS-00215; SRG-OS-000458-GPOS-00203; SRG-OS-000037-GPOS-00015; SRG-OS-000040-GPOS-00018; SRG-OS-000471-GPOS-00216; SRG-OS-000476-GPOS-00221; SRG-OS-000254-GPOS-00095; SRG-OS-000042-GPOS-00021; SRG-OS-000358-GPOS-00145; SRG-OS-000477-GPOS-00222; SRG-OS-000365-GPOS-00152; SRG-OS-000475-GPOS-00220; SRG-OS-000041-GPOS-00019; SRG-OS-000038-GPOS-00016; SRG-OS-000462-GPOS-00206; SRG-OS-000055-GPOS-00026; SRG-OS-000755-GPOS-00220,APPL-26-001003,AU.L2-3.3.2; AU.L2-3.3.6,3.1 (level 1),8.2; 8.5,No
audit_files_owner_configure,Configure Audit Log Files to be Owned by Root,Audit,"Audit log files _MUST_ be owned by root.
The audit service _MUST_ be configured to create log files with the correct ownership to prevent normal users from reading audit logs.
Audit logs contain sensitive data about the system and users. If log files are set to only be readable and writable by system administrators, the risk is mitigated.
",/usr/sbin/chown -R root /var/audit/*,,,,CCE-95114-5,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001012,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_files_mode_configure,Configure Audit Log Files to Mode 440 or Less Permissive,Audit,"The audit service _MUST_ be configured to create log files that are readable only by the root user and group wheel. To achieve this, audit log files _MUST_ be configured to mode 440 or less permissive; thereby preventing normal users from reading, modifying or deleting audit logs.
",/bin/chmod 440 /var/audit/*,,,,CCE-95113-7,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001016,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_control_owner_configure,Configure Audit_Control Owner to Root,Audit,"/etc/security/audit_control _MUST_ have the owner set to root.
",/usr/sbin/chown root /etc/security/audit_control,,,,CCE-95109-5,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-000171; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000063-GPOS-00032; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001120,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_folder_owner_configure,Configure Audit Log Folders to be Owned by Root,Audit,"Audit log folders _MUST_ be owned by root.
The audit service _MUST_ be configured to create log folders with the correct ownership to prevent normal users from reading audit logs.
Audit logs contain sensitive data about the system and users. If log folders are set to only be readable and writable by system administrators, the risk is mitigated.
",/usr/sbin/chown root /var/audit,,,,CCE-95125-1,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001013,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_flags_fr_configure,Configure System to Audit All Failed Read Actions on the System,Audit,"The audit system _MUST_ be configured to record enforcement actions of access restrictions, including failed file read (-fr) attempts.
Enforcement actions are the methods or mechanisms used to prevent unauthorized access and/or changes to configuration settings. One common and effective enforcement action method is using access restrictions (e.g., denying access to a file by applying file permissions).
This configuration ensures that audit lists include events in which enforcement actions prevent attempts to read a file.
Without auditing the enforcement of access restrictions, it is difficult to identify attempted attacks, as there is no audit trail available for forensic investigation.
","/usr/bin/grep -qE ""^flags.*-fr"" /etc/security/audit_control || /usr/bin/sed -i.bak '/^flags/ s/$/,-fr/' /etc/security/audit_control;/usr/sbin/audit -s",,,,CCE-95121-0,AC-2(12); AU-12; AU-2; AU-9; CM-5(1); MA-4(1),03.03.01; 03.03.03; 03.03.08,CCI-000172; CCI-001814; CCI-003938,SRG-OS-000392-GPOS-00172; SRG-OS-000256-GPOS-00097; SRG-OS-000365-GPOS-00152; SRG-OS-000474-GPOS-00219; SRG-OS-000057-GPOS-00027; SRG-OS-000064-GPOS-00033; SRG-OS-000463-GPOS-00207; SRG-OS-000465-GPOS-00209; SRG-OS-000461-GPOS-00205; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000458-GPOS-00203; SRG-OS-000058-GPOS-00028,APPL-26-001022,AU.L2-3.3.3; AU.L2-3.3.6; AU.L2-3.3.8; SI.L2-3.14.3,3.2 (level 2),3.14; 8.2; 8.5,No
audit_flags_fw_configure,Configure System to Audit All Failed Write Actions on the System,Audit,"The audit system _MUST_ be configured to record enforcement actions of access restrictions, including failed file write (-fw) attempts.
Enforcement actions are the methods or mechanisms used to prevent unauthorized access and/or changes to configuration settings. One common and effective enforcement action method is using access restrictions (e.g., denying users access to edit a file by applying file permissions).
This configuration ensures that audit lists include events in which enforcement actions prevent attempts to change a file.
Without auditing the enforcement of access restrictions, it is difficult to identify attempted attacks, as there is no audit trail available for forensic investigation.
","/usr/bin/grep -qE ""^flags.*-fw"" /etc/security/audit_control || /usr/bin/sed -i.bak '/^flags/ s/$/,-fw/' /etc/security/audit_control;/usr/sbin/audit -s",,,,CCE-95122-8,AC-2(12); AU-12; AU-2; AU-9; CM-5(1); MA-4(1),03.03.01; 03.03.03; 03.03.08,CCI-000172; CCI-001814; CCI-003938,SRG-OS-000392-GPOS-00172; SRG-OS-000256-GPOS-00097; SRG-OS-000365-GPOS-00152; SRG-OS-000057-GPOS-00027; SRG-OS-000064-GPOS-00033; SRG-OS-000463-GPOS-00207; SRG-OS-000467-GPOS-00211; SRG-OS-000465-GPOS-00209; SRG-OS-000468-GPOS-00212; SRG-OS-000466-GPOS-00210; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000458-GPOS-00203; SRG-OS-000058-GPOS-00028,APPL-26-001023,AU.L2-3.3.3; AU.L2-3.3.6; AU.L2-3.3.8; SI.L2-3.14.3,3.2 (level 2),3.14; 8.2; 8.5,No
audit_retention_configure,Configure Audit Retention to 60d OR 5G,Audit,"The audit service _MUST_ be configured to require records be kept for a organizational defined value before deletion, unless the system uses a central audit record storage facility.
When ""expire-after"" is set to ""60d OR 5G"", the audit service will not delete audit logs until the log data criteria is met.
",/usr/bin/sed -i.bak 's/^expire-after.*/expire-after:60d OR 5G/' /etc/security/audit_control; /usr/sbin/audit -s,,,,CCE-95130-1,AU-11; AU-4,03.03.03,CCI-001849,SRG-OS-000341-GPOS-00132,APPL-26-001029,AU.L2-3.3.1,3.4 (level 1),8.1; 8.3,No
audit_control_acls_configure,Configure Audit_Control to Not Contain Access Control Lists,Audit,"/etc/security/audit_control _MUST_ not contain Access Control Lists (ACLs).
",/bin/chmod -N /etc/security/audit_control,,,,CCE-95106-1,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-000171; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000063-GPOS-00032; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001140,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_folders_mode_configure,Configure Audit Log Folders to Mode 700 or Less Permissive,Audit,"The audit log folder _MUST_ be configured to mode 700 or less permissive so that only the root user is able to read, write, and execute changes to folders.
Because audit logs contain sensitive data about the system and users, the audit service _MUST_ be configured to mode 700 or less permissive; thereby preventing normal users from reading, modifying or deleting audit logs.
",/bin/chmod 700 /var/audit,,,,CCE-95126-9,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001017,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_flags_lo_configure,Configure System to Audit All Log In and Log Out Events,Audit,"The audit system _MUST_ be configured to record all attempts to log in and out of the system (lo).
Frequently, an attacker that successfully gains access to a system has only gained access to an account with limited privileges, such as a guest account or a service account. The attacker must attempt to change to another user account with normal or elevated privileges in order to proceed. Auditing both successful and unsuccessful attempts to switch to another user account (by way of monitoring login and logout events) mitigates this risk.
The information system monitors login and logout events.
","/usr/bin/grep -qE ""^flags.*[^-]lo"" /etc/security/audit_control || /usr/bin/sed -i.bak '/^flags/ s/$/,lo/' /etc/security/audit_control; /usr/sbin/audit -s",,,,CCE-95123-6,AC-2(12); AU-12; AC-17(1); AU-2; MA-4(1),03.03.01; 03.03.03,CCI-000067; CCI-000172; CCI-002884,SRG-OS-000032-GPOS-00013; SRG-OS-000392-GPOS-00172; SRG-OS-000064-GPOS-00033; SRG-OS-000473-GPOS-00218; SRG-OS-000470-GPOS-00214; SRG-OS-000471-GPOS-00216; SRG-OS-000472-GPOS-00217; SRG-OS-000471-GPOS-00215; SRG-OS-000458-GPOS-00203; SRG-OS-000755-GPOS-00220,APPL-26-001002,AC.L2-3.1.12; AU.L2-3.3.3; AU.L2-3.3.6; SI.L2-3.14.3,3.2 (level 2),3.14; 8.2; 8.5,No
audit_control_group_configure,Configure Audit_Control Group to Wheel,Audit,"/etc/security/audit_control _MUST_ have the group set to wheel.
",/usr/bin/chgrp wheel /etc/security/audit_control,,,,CCE-95107-9,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-000171; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000063-GPOS-00032; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001110,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_files_group_configure,Configure Audit Log Files Group to Wheel,Audit,"Audit log files _MUST_ have the group set to wheel.
The audit service _MUST_ be configured to create log files with the correct group ownership to prevent normal users from reading audit logs.
Audit logs contain sensitive data about the system and users. If log files are set to be readable and writable only by system administrators, the risk is mitigated.
",/usr/bin/chgrp -R wheel /var/audit/*,,,,CCE-95112-9,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-001014,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_acls_files_configure,Configure Audit Log Files to Not Contain Access Control Lists,Audit,"The audit log files _MUST_ not contain access control lists (ACLs).
This rule ensures that audit information and audit files are configured to be readable and writable only by system administrators, thereby preventing unauthorized access, modification, and deletion of files.
",/bin/chmod -RN /var/audit,,,,CCE-95101-2,AU-9,03.03.08,CCI-000162; CCI-000163; CCI-000164; CCI-001314; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-000030,AU.L2-3.3.8,3.5 (level 1),3.3,No
audit_acls_folders_configure,Configure Audit Log Folder to Not Contain Access Control Lists,Audit,"The audit log folder _MUST_ not contain access control lists (ACLs).
Audit logs contain sensitive data about the system and users. This rule ensures that the audit service is configured to create log folders that are readable and writable only by system administrators in order to prevent normal users from reading audit logs.
",/bin/chmod -N /var/audit,,,,CCE-95102-0,AU-9,03.03.08,CCI-000162; CCI-000162; CCI-000163; CCI-000164; CCI-001493; CCI-001494; CCI-001495,SRG-OS-000256-GPOS-00097; SRG-OS-000057-GPOS-00027; SRG-OS-000059-GPOS-00029; SRG-OS-000257-GPOS-00098; SRG-OS-000258-GPOS-00099; SRG-OS-000058-GPOS-00028,APPL-26-000031,AU.L2-3.3.8,3.5 (level 1),3.3,No
system_settings_location_services_menu_enforce,Ensure Location Services Is In the Menu Bar,System Settings,"Location Services menu item _MUST_ be enabled.
",/usr/bin/defaults write /Library/Preferences/com.apple.locationmenu.plist ShowSystemServices -bool true,,,,CCE-95385-1,,,,,,,2.6.1.2 (level 2),4.1; 4.8,No
system_settings_install_macos_updates_enforce,Enforce macOS Updates are Automatically Installed,System Settings,"Software Update _MUST_ be configured to enforce automatic installation of macOS updates is enabled.
",,"- PayloadContent:
- AutomaticallyInstallMacOSUpdates: true
PayloadType: com.apple.SoftwareUpdate
","ddm_key: AutomaticActions
ddm_value:
InstallOSUpdates: AlwaysOn
declarationtype: com.apple.configuration.softwareupdate.settings
",,CCE-95380-2,,,,,,,1.3 (level 1),7.3; 7.4,No
system_settings_screensaver_ask_for_password_delay_enforce,Enforce Session Lock After Screen Saver is Started,System Settings,"A screen saver _MUST_ be enabled and the system _MUST_ be configured to require a password to unlock once the screensaver has been on for a maximum of 5 seconds.
An unattended system with an excessive grace period is vulnerable to a malicious user.
",,"- PayloadContent:
- askForPasswordDelay: 5
PayloadType: com.apple.screensaver
",,,CCE-95395-0,AC-11,03.01.10,CCI-000056,SRG-OS-000028-GPOS-00009,APPL-26-000003,AC.L2-3.1.10,2.11.2 (level 1),4.7,No
system_settings_time_machine_encrypted_configure,Ensure Time Machine Volumes are Encrypted,System Settings,"Time Machine volumes _MUST_ be encrypted.
",,,,,CCE-95410-7,,,,,,,2.3.4.2 (level 1),3.6; 3.11; 11.3,No
system_settings_guest_access_smb_disable,Disable Guest Access to Shared SMB Folders,System Settings,"Guest access to shared Server Message Block (SMB) folders _MUST_ be disabled.
Turning off guest access prevents anonymous users from accessing files shared via SMB.
",/usr/sbin/sysadminctl -smbGuestAccess off,,,,CCE-95373-7,AC-2(9); AC-2,03.01.01,,,,AC.L1-3.1.2,2.13.2 (level 1),3.3,No
system_settings_printer_sharing_disable,Disable Printer Sharing,System Settings,"Printer Sharing _MUST_ be disabled.
","/usr/sbin/cupsctl --no-share-printers
/usr/bin/lpstat -p | awk '{print $2}'| /usr/bin/xargs -I{} lpadmin -p {} -o printer-is-shared=false",,,,CCE-95391-9,CM-7; CM-7(1),03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002240,CM.L2-3.4.6; CM.L2-3.4.7,2.3.3.3 (level 1),4.1; 4.8,No
system_settings_guest_account_disable,Disable the Guest Account,System Settings,"Guest access _MUST_ be disabled.
Turning off guest access prevents anonymous users from accessing files.
",,"- PayloadContent:
- DisableGuestAccount: true
- EnableGuestAccount: false
PayloadType: com.apple.MCX
",,,CCE-95374-5,AC-2; AC-2(9),03.01.01,CCI-001813,SRG-OS-000364-GPOS-00151; SRG-OS-000480-GPOS-00228,APPL-26-002063,AC.L1-3.1.2,2.13.1 (level 1),5.2; 6.2; 6.8,No
system_settings_location_services_enable,Enable Location Services,System Settings,"Location Services _MUST_ be enabled.
","/usr/bin/defaults write /var/db/locationd/Library/Preferences/ByHost/com.apple.locationd LocationServicesEnabled -bool true;
pid=$(/bin/launchctl list | /usr/bin/awk '/com.apple.locationd/ { print $1 }')
kill -9 $pid",,,,CCE-95384-4,,,,,,,2.6.1.1 (level 2),4.1; 4.8,No
system_settings_system_wide_preferences_configure,Require Administrator Password to Modify System-Wide Preferences,System Settings,"The system _MUST_ be configured to require an administrator password in order to modify the system-wide preferences in System Settings.
Some Preference Panes in System Settings contain settings that affect the entire system. Requiring a password to unlock these system-wide settings reduces the risk of a non-authorized user modifying system configurations.
","authDBs=(""system.preferences"" ""system.preferences.energysaver"" ""system.preferences.network"" ""system.preferences.printing"" ""system.preferences.sharing"" ""system.preferences.softwareupdate"" ""system.preferences.startupdisk"" ""system.preferences.timemachine"")
for section in ${authDBs[@]}; do
/usr/bin/security -q authorizationdb read ""$section"" > ""/tmp/$section.plist""
class_key_value=$(/usr/libexec/PlistBuddy -c ""Print :class"" ""/tmp/$section.plist"" 2>&1)
if [[ ""$class_key_value"" == *""Does Not Exist""* ]]; then
/usr/libexec/PlistBuddy -c ""Add :class string user"" ""/tmp/$section.plist""
else
/usr/libexec/PlistBuddy -c ""Set :class user"" ""/tmp/$section.plist""
fi
key_value=$(/usr/libexec/PlistBuddy -c ""Print :shared"" ""/tmp/$section.plist"" 2>&1)
if [[ ""$key_value"" == *""Does Not Exist""* ]]; then
/usr/libexec/PlistBuddy -c ""Add :shared bool false"" ""/tmp/$section.plist""
else
/usr/libexec/PlistBuddy -c ""Set :shared false"" ""/tmp/$section.plist""
fi
auth_user_key=$(/usr/libexec/PlistBuddy -c ""Print :authenticate-user"" ""/tmp/$section.plist"" 2>&1)
if [[ ""$auth_user_key"" == *""Does Not Exist""* ]]; then
/usr/libexec/PlistBuddy -c ""Add :authenticate-user bool true"" ""/tmp/$section.plist""
else
/usr/libexec/PlistBuddy -c ""Set :authenticate-user true"" ""/tmp/$section.plist""
fi
session_owner_key=$(/usr/libexec/PlistBuddy -c ""Print :session-owner"" ""/tmp/$section.plist"" 2>&1)
if [[ ""$session_owner_key"" == *""Does Not Exist""* ]]; then
/usr/libexec/PlistBuddy -c ""Add :session-owner bool false"" ""/tmp/$section.plist""
else
/usr/libexec/PlistBuddy -c ""Set :session-owner false"" ""/tmp/$section.plist""
fi
group_key=$(/usr/libexec/PlistBuddy -c ""Print :group"" ""/tmp/$section.plist"" 2>&1)
if [[ ""$group_key"" == *""Does Not Exist""* ]]; then
/usr/libexec/PlistBuddy -c ""Add :group string admin"" ""/tmp/$section.plist""
else
/usr/libexec/PlistBuddy -c ""Set :group admin"" ""/tmp/$section.plist""
fi
/usr/bin/security -q authorizationdb write ""$section"" < ""/tmp/$section.plist""
done",,,,CCE-95408-1,AC-6; AC-6(2); AC-6(1),03.01.07,CCI-002235,SRG-OS-000324-GPOS-00125; SRG-OS-000480-GPOS-00228,APPL-26-002069,AC.L1-3.1.1; AC.L2-3.1.5; AC.L2-3.1.6,2.6.8 (level 1),4.1,No
system_settings_improve_search_disable,Disable Improve Search Information to Apple,System Settings,"Sending data to Apple to help improve search _MUST_ be disabled. This will disable ""Improve Search"" within Spotlight in System Settings.
The information system _MUST_ be configured to provide only essential capabilities. Disabling the submission of search data will mitigate the risk of unwanted data being sent to Apple.
",,"- PayloadContent:
- Search Queries Data Sharing Status: 2
PayloadType: com.apple.assistant.support
",,,CCE-95378-6,AC-20; CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002024,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.9.1,4.1; 4.8,No
system_settings_smbd_disable,Disable Server Message Block Sharing,System Settings,"Support for Server Message Block (SMB) file sharing is non-essential and _MUST_ be disabled.
The information system _MUST_ be configured to provide only essential capabilities.
",/bin/launchctl disable system/com.apple.smbd,,,,CCE-95401-6,AC-3; AC-17,03.01.02; 03.04.06,CCI-000213,SRG-OS-000080-GPOS-00048,APPL-26-002001,AC.L1-3.1.1,2.3.3.2 (level 1),4.1; 4.8; 5.4,No
system_settings_hot_corners_secure,Secure Hot Corners,System Settings,"Hot corners _MUST_ be secured.
The information system conceals, via the session lock, information previously visible on the display with a publicly viewable image. Although hot comers can be used to initiate a session lock or to launch useful applications, they can also be configured to disable an automatic session lock from initiating. Such a configuration introduces the risk that a user might forget to manually lock the screen before stepping away from the computer.
[NOTE]
====
The check and fix are for the last logged in user. To get the last logged in user, run the following.
[source,bash]
----
CURRENT_USER=$( /usr/bin/defaults read /Library/Preferences/com.apple.loginwindow lastUserName )
----
====
","/usr/bin/sudo -u ""$CURRENT_USER"" /usr/bin/defaults delete /Users/""$CURRENT_USER""/Library/Preferences/com.apple.dock wvous-bl-corner 2>/dev/null
/usr/bin/sudo -u ""$CURRENT_USER"" /usr/bin/defaults delete /Users/""$CURRENT_USER""/Library/Preferences/com.apple.dock wvous-tl-corner 2>/dev/null
/usr/bin/sudo -u ""$CURRENT_USER"" /usr/bin/defaults delete /Users/""$CURRENT_USER""/Library/Preferences/com.apple.dock wvous-tr-corner 2>/dev/null
/usr/bin/sudo -u ""$CURRENT_USER"" /usr/bin/defaults delete /Users/""$CURRENT_USER""/Library/Preferences/com.apple.dock wvous-br-corner 2>/dev/null",,,,CCE-95376-0,AC-11(1),03.01.10,,,,AC.L2-3.1.10,2.7.1 (level 1),4.3,No
system_settings_remote_management_disable,Disable Remote Management,System Settings,"Remote Management _MUST_ be disabled.
",/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -stop,,,,CCE-95393-5,CM-7; CM-7(1),03.01.02; 03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002250,CM.L2-3.4.6; CM.L2-3.4.7,2.3.3.5 (level 1),4.1; 4.8; 5.4,No
system_settings_loginwindow_prompt_username_password_enforce,Configure Login Window to Prompt for Username and Password,System Settings,"The login window _MUST_ be configured to prompt all users for both a username and a password.
By default, the system displays a list of known users on the login window, which can make it easier for a malicious user to gain access to someone else's account. Requiring users to type in both their username and password mitigates the risk of unauthorized users gaining access to the information system.
",,"- PayloadContent:
- SHOWFULLNAME: true
PayloadType: com.apple.loginwindow
",,,CCE-95387-7,IA-2,03.05.01,CCI-000764,SRG-OS-000104-GPOS-00051,APPL-26-005052,IA.L1-3.5.1; IA.L1-3.5.2,2.11.4 (level 1),4.1,No
system_settings_personalized_advertising_disable,Disable Personalized Advertising,System Settings,"Ad tracking and targeted ads _MUST_ be disabled.
The information system _MUST_ be configured to provide only essential capabilities. Disabling ad tracking ensures that applications and advertisers are unable to track users' interests and deliver targeted advertisements.
",,"- PayloadContent:
- allowApplePersonalizedAdvertising: false
PayloadType: com.apple.applicationaccess
",,,CCE-95390-1,AC-20; CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002200,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.6.4 (level 1),4.8,No
system_settings_time_machine_auto_backup_enable,Configure Time Machine for Automatic Backups,System Settings,"Automatic backups _MUST_ be enabled when using Time Machine.
",,"- PayloadContent:
- AutoBackup: true
PayloadType: com.apple.TimeMachine
",,,CCE-95409-9,,,,,,,2.3.4.1 (level 2),11.2,No
system_settings_password_hints_disable,Disable Password Hints,System Settings,"Password hints _MUST_ be disabled.
Password hints leak information about passwords that are currently in use and can lead to loss of confidentiality.
",,"- PayloadContent:
- RetriesUntilHint: 0
PayloadType: com.apple.loginwindow
",,,CCE-95389-3,IA-6,03.05.11,CCI-000206,SRG-OS-000079-GPOS-00047,APPL-26-003012,IA.L2-3.5.11,2.11.5 (level 1),4.1,No
system_settings_screen_sharing_disable,Disable Screen Sharing and Apple Remote Desktop,System Settings,"Support for both Screen Sharing and Apple Remote Desktop (ARD) is non-essential and _MUST_ be disabled.
The information system _MUST_ be configured to provide only essential capabilities. Disabling screen sharing and ARD helps prevent the unauthorized connection of devices, the unauthorized transfer of information, and unauthorized tunneling.
",/bin/launchctl disable system/com.apple.screensharing,,,,CCE-95394-3,AC-3; AC-17,03.01.02; 03.04.06,CCI-000213,SRG-OS-000080-GPOS-00048,APPL-26-002050,AC.L1-3.1.1,2.3.3.1 (level 1),4.1; 4.8,No
system_settings_external_intelligence_disable,Disable External Intelligence Integrations,System Settings,"Integration with external intelligence systems _MUST_ be disabled unless approved by the organization. Disabling external intelligence integration will mitigate the risk of data being sent to unapproved third party.
The information system _MUST_ be configured to provide only essential capabilities.
",,"- PayloadContent:
- allowExternalIntelligenceIntegrations: false
PayloadType: com.apple.applicationaccess
","ddm_key: Enabled
ddm_value: false
declarationtype: com.apple.configuration.external-intelligence.settings
",,CCE-95365-3,AC-20; CM-7; CM-7(1),03.01.20; 03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.5.1.1 (level 1),4.1; 4.8; 15.3,No
system_settings_screensaver_timeout_enforce,Enforce Screen Saver Timeout,System Settings,"The screen saver timeout _MUST_ be set to 900 seconds or a shorter length of time.
This rule ensures that a full session lock is triggered within no more than 900 seconds of inactivity.
",,"- PayloadContent:
- idleTime: 900
PayloadType: com.apple.screensaver
",,,CCE-95397-6,AC-11; IA-11,03.01.10; 03.05.01,CCI-000057,SRG-OS-000029-GPOS-00010,APPL-26-000070,AC.L2-3.1.10,2.11.1 (level 1),4.3,No
system_settings_softwareupdate_current,Ensure Software Update is Updated and Current,System Settings,"Make sure Software Update is updated and current.
link:https://support.apple.com/en-us/108382[Update macOS on Mac] or if enrolled in an MDM consult your MDM's documentation for automated methods.
",/usr/sbin/softwareupdate -i -a,,,,CCE-95405-7,SI-2,03.14.01; 03.14.02,CCI-002605,SRG-OS-000439-GPOS-00195,APPL-26-999999,SI.L1-3.14.1; SI.L1-3.14.2; SI.L1-3.14.4,1.1 (level 1),7.3; 7.4,No
system_settings_ssh_disable,Disable SSH Server for Remote Access Sessions,System Settings,"SSH service _MUST_ be disabled for remote access.
","/usr/sbin/systemsetup -f -setremotelogin off >/dev/null
/bin/launchctl disable system/com.openssh.sshd",,,,CCE-95406-5,CM-7; CM-7(1); AC-17,03.01.02; 03.04.06,,,,AC.L1-3.1.1; CM.L2-3.4.6; CM.L2-3.4.7,2.3.3.4 (level 1),4.1; 4.8,No
system_settings_filevault_enforce,Enforce FileVault,System Settings,"FileVault _MUST_ be enforced.
The information system implements cryptographic mechanisms to protect the confidentiality and integrity of information stored on digital media during transport outside of controlled areas.
NOTE: See the FileVault supplemental to implement this rule.
",,"- PayloadContent:
- dontAllowFDEDisable: true
PayloadType: com.apple.MCX
",,,CCE-95367-9,SC-28; SC-28(1),03.13.08,CCI-001199; CCI-002475; CCI-002476,SRG-OS-000185-GPOS-00079; SRG-OS-000405-GPOS-00184; SRG-OS-000404-GPOS-00183,APPL-26-005020,SC.L2-3.13.16,2.6.6 (level 1),3.6; 3.11,No
system_settings_content_caching_disable,Disable Content Caching Service,System Settings,"Content caching _MUST_ be disabled.
Content caching is a macOS service that helps reduce Internet data usage and speed up software installation on Mac computers. It is not recommended for devices furnished to employees to act as a caching server.
",,"- PayloadContent:
- allowContentCaching: false
PayloadType: com.apple.applicationaccess
",,,CCE-95362-0,CM-7; CM-7(1),03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002140,CM.L2-3.4.6; CM.L2-3.4.7,2.3.3.8 (level 2),4.8,No
system_settings_internet_sharing_disable,Disable Internet Sharing,System Settings,"If the system does not require Internet sharing, support for it is non-essential and _MUST_ be disabled.
The information system _MUST_ be configured to provide only essential capabilities. Disabling Internet sharing helps prevent the unauthorized connection of devices, unauthorized transfer of information, and unauthorized tunneling.
",,"- PayloadContent:
- forceInternetSharingOff: true
PayloadType: com.apple.MCX
",,,CCE-95382-8,AC-4; AC-20,03.01.03; 03.01.20,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002007,AC.L1-3.1.20; AC.L2-3.1.3,2.3.3.7 (level 1),4.1; 4.8,No
system_settings_firewall_enable,Enable macOS Application Firewall,System Settings,"The macOS Application Firewall is the built-in firewall that comes with macOS, and it _MUST_ be enabled.
When the macOS Application Firewall is enabled, the flow of information within the information system and between interconnected systems will be controlled by approved authorizations.
",/usr/bin/defaults write /Library/Preferences/com.apple.alf globalstate -int 1,"- PayloadContent:
- EnableFirewall: true
PayloadType: com.apple.security.firewall
",,,CCE-95369-5,AC-4; SC-7(12); CM-7; CM-7(1); SC-7,03.01.03; 03.04.06; 03.13.01,CCI-000366,SRG-OS-000480-GPOS-00232,APPL-26-005050,AC.L2-3.1.3; CM.L2-3.4.6; CM.L2-3.4.7; SC.L1-3.13.1,2.2.1 (level 1),4.1; 4.5; 13.1,No
system_settings_software_update_download_enforce,Enforce Software Update Downloads Updates Automatically,System Settings,"Software Update _MUST_ be configured to enforce automatic downloads of updates is enabled.
",,"- PayloadContent:
- AutomaticDownload: true
PayloadType: com.apple.SoftwareUpdate
","ddm_key: AutomaticActions
ddm_value:
Download: AlwaysOn
declarationtype: com.apple.configuration.softwareupdate.settings
",,CCE-95403-2,,,,,,,1.2 (level 1),7.3; 7.4,No
system_settings_critical_update_install_enforce,Enforce Critical Security Updates to be Installed,System Settings,"Ensure that security updates are installed as soon as they are available from Apple.
",,"- PayloadContent:
- CriticalUpdateInstall: true
PayloadType: com.apple.SoftwareUpdate
","ddm_key: AutomaticActions
ddm_value:
InstallSecurityUpdates: AlwaysOn
declarationtype: com.apple.configuration.softwareupdate.settings
",,CCE-95363-8,SI-2,03.14.01,,,,SI.L1-3.14.1; SI.L1-3.14.4,1.5 (level 1),7.3; 7.4; 7.7,No
system_settings_siri_disable,Disable Siri,System Settings,"Support for Siri is non-essential and _MUST_ be disabled to prevent organizational data from being synchronized to Apple servers.
Apple's Siri service does not provide an organization with enough control over the storage and access of data, and, therefore, automated synchronization _MUST_ be controlled by an organization approved service.
The information system _MUST_ be configured to provide only essential capabilities.
",,"- PayloadContent:
- allowAssistant: false
PayloadType: com.apple.applicationaccess
","ddm_key: Enabled
ddm_value: false
declarationtype: com.apple.configuration.siri.settings
",,CCE-95398-4,AC-20; CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06; 03.04.08,CCI-000381; CCI-001774,SRG-OS-000095-GPOS-00049,APPL-26-002020,AC.L1-B.1.III; AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.5.2.1 (level 1),4.1; 4.8,No
system_settings_bluetooth_sharing_disable,Disable Bluetooth Sharing,System Settings,"Bluetooth Sharing _MUST_ be disabled.
Bluetooth Sharing allows users to wirelessly transmit files between the macOS and Bluetooth-enabled devices, including personally owned cellphones and tablets. A malicious user might introduce viruses or malware onto the system or extract sensitive files via Bluetooth Sharing. When Bluetooth Sharing is disabled, this risk is mitigated.
[NOTE]
====
The check and fix are for the last logged in user. To get the last logged in user, run the following.
[source,bash]
----
CURRENT_USER=$( /usr/bin/defaults read /Library/Preferences/com.apple.loginwindow lastUserName )
----
====
","/usr/bin/sudo -u ""$CURRENT_USER"" /usr/bin/defaults -currentHost write com.apple.Bluetooth PrefKeyServicesEnabled -bool false",,,,CCE-95361-2,AC-3; AC-18(4); CM-7; CM-7(1),03.04.06,CCI-000213; CCI-000381,SRG-OS-000080-GPOS-00048; SRG-OS-000095-GPOS-00049,APPL-26-002110,AC.L1-3.1.1; CM.L2-3.4.6; CM.L2-3.4.7,2.3.3.10 (level 1),3.3; 4.1,No
system_settings_wake_network_access_disable,Ensure Wake for Network Access Is Disabled,System Settings,"Wake for network access _MUST_ be disabled.
",/usr/bin/pmset -a womp 0,,,,CCE-95417-2,,,,,,,2.10.3 (level 1),4.8,No
system_settings_diagnostics_reports_disable,Disable Sending Diagnostic and Usage Data to Apple,System Settings,"The ability to submit diagnostic data to Apple _MUST_ be disabled.
The information system _MUST_ be configured to provide only essential capabilities. Disabling the submission of diagnostic and usage information will mitigate the risk of unwanted data being sent to Apple.
",,"- PayloadContent:
- AutoSubmit: false
PayloadType: com.apple.SubmitDiagInfo
- PayloadContent:
- allowDiagnosticSubmission: false
PayloadType: com.apple.applicationaccess
",,,CCE-95364-6,SI-11; AC-20; SC-7(10),03.01.20,CCI-001312; CCI-001314,SRG-OS-000206-GPOS-00084; SRG-OS-000205-GPOS-00083,APPL-26-002021,AC.L1-3.1.20,2.6.3.1 (level 1); 2.6.3.4 (level 1),4.1; 4.8,No
system_settings_improve_siri_dictation_disable,Disable Improve Siri and Dictation Information to Apple,System Settings,"The ability for Apple to store and review audio of your Siri and Dictation interactions _MUST_ be disabled.
The information system _MUST_ be configured to provide only essential capabilities. Disabling the submission of Siri and Dictation information will mitigate the risk of unwanted data being sent to Apple.
",,"- PayloadContent:
- Siri Data Sharing Opt-In Status: 2
PayloadType: com.apple.assistant.support
",,,CCE-95379-4,AC-20; CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002210,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.6.3.2 (level 1),4.1; 4.8,No
system_settings_loginwindow_loginwindowtext_enable,Configure Login Window to Show A Custom Message,System Settings,"The login window _MUST_ be configured to show a custom access warning message.
",,"- PayloadContent:
- LoginwindowText: Center for Internet Security Test Message
PayloadType: com.apple.loginwindow
",,,CCE-95386-9,,,,,,,2.11.3 (level 1),4.1,No
system_settings_automatic_login_disable,Disable Unattended or Automatic Logon to the System,System Settings,"Automatic logon _MUST_ be disabled.
When automatic logons are enabled, the default user account is automatically logged on at boot time without prompting the user for a password. Even if the screen is later locked, a malicious user would be able to reboot the computer and find it already logged in. Disabling automatic logons mitigates this risk.
",,"- PayloadContent:
- com.apple.login.mcx.DisableAutoLoginClient: true
PayloadType: com.apple.loginwindow
",,,CCE-95356-2,IA-2; IA-5(13),03.05.01,CCI-000366,SRG-OS-000480-GPOS-00229; SRG-OS-000104-GPOS-00051; SRG-OS-000480-GPOS-00228,APPL-26-002066,IA.L1-3.5.1; IA.L1-3.5.2,2.13.3 (level 1),4.7,No
system_settings_external_intelligence_sign_in_disable,Disable External Intelligence Integration Sign In,System Settings,"The ability to sign into an external intelligence systems _MUST_ be disabled unless approved by the organization. Disabling external intelligence integration will mitigate the risk of data being sent to unapproved third party.
The information system _MUST_ be configured to provide only essential capabilities.
",,"- PayloadContent:
- allowExternalIntelligenceIntegrationsSignIn: false
PayloadType: com.apple.applicationaccess
","ddm_key: AllowSignIn
ddm_value: false
declarationtype: com.apple.configuration.external-intelligence.settings
",,CCE-95366-1,AC-20; CM-7; CM-7(1),03.01.20; 03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.5.1.1 (level 1),4.1; 4.8; 15.3,No
system_settings_improve_assistive_voice_disable,Disable Sending Audio Recordings and Transcripts to Apple,System Settings,"The ability for Apple to store and review audio of your audio recordings and transcripts of your vocal shortcuts and voice control interactions _MUST_ be disabled. This will disable ""Improve Assistive Voice Features"" in Privacy & Security within System Settings.
The information system _MUST_ be configured to provide only essential capabilities. Disabling the submission of this information will mitigate the risk of unwanted data being sent to Apple.
",,"- PayloadContent:
- AXSAudioDonationSiriImprovementEnabled: false
PayloadType: com.apple.Accessibility
",,,CCE-95377-8,AC-20; CM-7; CM-7(1); SC-7(10),03.01.20; 03.04.06,CCI-000381,SRG-OS-000095-GPOS-00049,APPL-26-002023,AC.L1-3.1.20; CM.L2-3.4.6; CM.L2-3.4.7,2.6.3.3 (level 1),4.1; 4.8,No
system_settings_time_server_enforce,Enforce macOS Time Synchronization,System Settings,"Time synchronization _MUST_ be enforced on all networked systems.
This rule ensures the uniformity of time stamps for information systems with multiple system clocks and systems connected over a network.
",,"- PayloadContent:
- com.apple.timed:
TMAutomaticTimeOnlyEnabled: true
PayloadType: com.apple.ManagedClient.preferences
",,,CCE-95412-3,AU-12(1); SC-45(1),03.03.07,CCI-001891; CCI-002046; CCI-004923; CCI-004926; CCI-004922,SRG-OS-000355-GPOS-00143; SRG-OS-000356-GPOS-00144,APPL-26-000014,AU.L2-3.3.7,2.3.2.1 (level 1),8.4,No
system_settings_screensaver_password_enforce,Enforce Screen Saver Password,System Settings,"Users _MUST_ authenticate when unlocking the screen saver.
The screen saver acts as a session lock and prevents unauthorized users from accessing the current user's account.
",,"- PayloadContent:
- askForPassword: true
PayloadType: com.apple.screensaver
",,,CCE-95396-8,AC-11,03.01.10; 03.05.01,CCI-000056,SRG-OS-000028-GPOS-00009,APPL-26-000002,AC.L2-3.1.10,2.11.2 (level 1),4.7,No
system_settings_time_server_configure,Configure macOS to Use an Authorized Time Server,System Settings,"Approved time server _MUST_ be the only server configured for use.
This rule ensures the uniformity of time stamps for information systems with multiple system clocks and systems connected over a network.
NOTE: As of macOS 10.13 only one time server is supported.
",,"- PayloadContent:
- timeServer: time.apple.com
PayloadType: com.apple.MCX
",,,CCE-95411-5,AU-12(1); SC-45(1),03.03.07,CCI-001891; CCI-002046; CCI-004923; CCI-004923; CCI-004926; CCI-004926,SRG-OS-000355-GPOS-00143; SRG-OS-000356-GPOS-00144,APPL-26-000170,AU.L2-3.3.7,2.3.2.1 (level 1),8.4,No
system_settings_media_sharing_disabled,Disable Media Sharing,System Settings,"Media sharing _MUST_ be disabled.
When Media Sharing is enabled, the computer starts a network listening service that shares the contents of the user's music collection with other users in the same subnet.
The information system _MUST_ be configured to provide only essential capabilities. Disabling Media Sharing helps prevent the unauthorized connection of devices and the unauthorized transfer of information. Disabling Media Sharing mitigates this risk.
Note: On macOS versions prior to 15, the Media Sharing settings panel may still allow you to check ""Home Sharing"" and ""Share media with guests,"" but the service itself will not be activated.
",,"- PayloadContent:
- allowMediaSharing: false
- allowMediaSharingModification: false
PayloadType: com.apple.applicationaccess
",,,CCE-95388-5,AC-3; AC-17,03.01.02; 03.04.06,CCI-000213,SRG-OS-000080-GPOS-00048,APPL-26-002100,AC.L1-3.1.1,2.3.3.9 (level 2),4.1; 4.8,No
system_settings_airplay_receiver_disable,Disable Airplay Receiver,System Settings,"Airplay Receiver allows you to send content from another Apple device to be displayed on the screen as it's being played from your other device.
Support for Airplay Receiver is non-essential and _MUST_ be disabled.
The information system _MUST_ be configured to provide only essential capabilities.
",,"- PayloadContent:
- allowAirPlayIncomingRequests: false
PayloadType: com.apple.applicationaccess
",,,CCE-95354-7,CM-7; CM-7(1),03.04.06,CCI-000381; CCI-001443,SRG-OS-000300-GPOS-00118; SRG-OS-000095-GPOS-00049,APPL-26-002080,CM.L2-3.4.6; CM.L2-3.4.7,2.3.1.2 (level 1),4.1; 4.8,No
system_settings_rae_disable,Disable Remote Apple Events,System Settings,"If the system does not require Remote Apple Events, support for Apple Remote Events is non-essential and _MUST_ be disabled.
The information system _MUST_ be configured to provide only essential capabilities. Disabling Remote Apple Events helps prevent the unauthorized connection of devices, the unauthorized transfer of information, and unauthorized tunneling.
","/usr/sbin/systemsetup -setremoteappleevents off
/bin/launchctl disable system/com.apple.AEServer",,,,CCE-95392-7,AC-3; AC-17,03.01.02; 03.04.06,CCI-000213; CCI-000382,SRG-OS-000080-GPOS-00048; SRG-OS-000096-GPOS-00050,APPL-26-002022,AC.L1-3.1.1,2.3.3.6 (level 1),4.1; 4.8,No
system_settings_firewall_stealth_mode_enable,Enable Firewall Stealth Mode,System Settings,"Firewall Stealth Mode _MUST_ be enabled.
When stealth mode is enabled, the Mac will not respond to any probing requests, and only requests from authorized applications will still be authorized.
[IMPORTANT]
====
Enabling firewall stealth mode may prevent certain remote mechanisms used for maintenance and compliance scanning from properly functioning. Information System Security Officers (ISSOs) are advised to first fully weigh the potential risks posed to their organization before opting not to enable stealth mode.
====
",/usr/bin/defaults write /Library/Preferences/com.apple.alf stealthenabled -int 1,"- PayloadContent:
- EnableStealthMode: true
- EnableFirewall: true
PayloadType: com.apple.security.firewall
",,,CCE-95370-3,CM-7; CM-7(1); SC-7(16); SC-7,03.04.06; 03.13.01,,,,CM.L2-3.4.6; CM.L2-3.4.7; SC.L1-3.13.1,2.2.2 (level 1),4.1; 4.5; 4.8,No