CIS Apple OSX 10.11 Benchmark v1.0.0
CIS Apple OSX 10.11 Benchmark v1.0.0
11 Benchmark
v1.0.0 - 11-05-2015
http://benchmarks.cisecurity.org
The CIS Security Benchmarks division provides consensus-oriented information security products, services, tools, metrics, suggestions, and
recommendations (the “SB Products”) as a public service to Internet users worldwide. Downloading or using SB Products in any way signifies
and confirms your acceptance of and your binding agreement to these CIS Security Benchmarks Terms of Use.
SPECIAL RULES FOR CIS MEMBER ORGANIZATIONS: CIS reserves the right to create special rules for: (1) CIS Members; and (2) Non-
Member organizations and individuals with which CIS has a written contractual relationship. CIS hereby grants to each CIS Member
Organization in good standing the right to distribute the SB Products within such Member's own organization, whether by manual or
electronic means. Each such Member Organization acknowledges and agrees that the foregoing grants in this paragraph are subject to the
terms of such Member's membership arrangement with CIS and may, therefore, be modified or terminated by CIS at any time.
1|Page
Table of Contents
Table of Contents .................................................................................................................................................. 2
Overview .................................................................................................................................................................. 4
Intended Audience ........................................................................................................................................... 4
Consensus Guidance........................................................................................................................................ 4
Typographical Conventions ......................................................................................................................... 5
Scoring Information ........................................................................................................................................ 5
Profile Definitions ............................................................................................................................................ 6
Acknowledgements ......................................................................................................................................... 7
Recommendations ................................................................................................................................................ 8
1 Install Updates, Patches and Additional Security Software ......................................................... 8
2 System Preferences................................................................................................................................... 14
2.1 Bluetooth .............................................................................................................................................. 14
2.2 Date & Time ......................................................................................................................................... 18
2.3 Desktop & Screen Saver .................................................................................................................. 20
2.4 Sharing................................................................................................................................................... 25
2.5 Energy Saver ....................................................................................................................................... 35
2.6 Security & Privacy ............................................................................................................................. 37
2.7 iCloud ..................................................................................................................................................... 42
3 Logging and Auditing ............................................................................................................................... 49
3.1 Configure asl.conf .............................................................................................................................. 49
4 Network Configurations.......................................................................................................................... 57
5 System Access, Authentication and Authorization ....................................................................... 64
5.1 File System Permissions and Access Controls ....................................................................... 64
5.2 Password Management ................................................................................................................... 68
6 User Accounts and Environment ......................................................................................................... 95
6.1 Accounts Preferences Action Items ........................................................................................... 95
7 Appendix: Additional Considerations .............................................................................................. 103
8 Artifacts ....................................................................................................................................................... 111
2|Page
Appendix: Change History ............................................................................................................................ 122
3|Page
Overview
This document, CIS Apple OSX 10.11 Benchmark, provides prescriptive guidance for
establishing a secure configuration posture for Apple OSX 10.11. This guide was tested
against Apple OSX 10.10. To obtain the latest version of this guide, please
visit http://benchmarks.cisecurity.org. If you have questions, comments, or have identified
ways to improve this guide, please write us at feedback@cisecurity.org.
Intended Audience
This document is intended for system and application administrators, security specialists,
auditors, help desk, and platform deployment personnel who plan to develop, deploy,
assess, or secure solutions that incorporate Apple OSX 10.11.
Consensus Guidance
This benchmark was created using a consensus review process comprised subject matter
experts. Consensus participants provide perspective from a diverse set of backgrounds
including consulting, software development, audit and compliance, security research,
operations, government, and legal.
Each CIS benchmark undergoes two phases of consensus review. The first phase occurs
during initial benchmark development. During this phase, subject matter experts convene
to discuss, create, and test working drafts of the benchmark. This discussion occurs until
consensus has been reached on benchmark recommendations. The second phase begins
after the benchmark has been published. During this phase, all feedback provided by the
Internet community is reviewed by the consensus team for incorporation in the
benchmark. If you are interested in participating in the consensus process, please visit
https://community.cisecurity.org.
4|Page
Typographical Conventions
The following typographical conventions are used throughout this guide:
Convention Meaning
Stylized Monospace font Used for blocks of code, command, and script examples.
Text should be interpreted exactly as presented.
Monospace font Used for inline code, commands, or examples. Text should
be interpreted exactly as presented.
<italic font in brackets> Italic texts set in angle brackets denote a variable
requiring substitution for a real value.
Scoring Information
A scoring status indicates whether compliance with the given recommendation impacts the
assessed target's benchmark score. The following scoring statuses are used in this
benchmark:
Scored
Failure to comply with "Scored" recommendations will decrease the final benchmark score.
Compliance with "Scored" recommendations will increase the final benchmark score.
Not Scored
Failure to comply with "Not Scored" recommendations will not decrease the final
benchmark score. Compliance with "Not Scored" recommendations will not increase the
final benchmark score.
5|Page
Profile Definitions
The following configuration profiles are defined by this Benchmark:
Level 1
Level 2
This profile extends the "Level 1" profile. Items in this profile exhibit one or more of
the following characteristics:
6|Page
Acknowledgements
This benchmark exemplifies the great things a community of users, vendors, and subject matter
experts can accomplish through consensus collaboration. The CIS community thanks the entire
consensus team with special recognition to the following individuals who contributed greatly to
the creation of this guide:
Author
Ron Colvin
Contributor
Charles Heizer
Craig Anteman
Gary Gapinski CCP, CISSP-ISSAP, ISSMP, HE.net IPv6 Sage
Dawn Vincej
Paul Campbell
John Oliver Linux+, Security+, ACTC, ACMT, SAIC
William Harrison
Editor
Rael Daruszka , Center for Internet Security
7|Page
Recommendations
1 Install Updates, Patches and Additional Security Software
Install Updates, Patches and Additional Security Software
Level 1
Description:
Software vendors release security patches and software updates for their products when
security vulnerabilities are discovered. There is no simple way to complete this action
without a network connection to an Apple software repository. Please ensure appropriate
access for this control. This check is only for what Apple provides through software update.
Rationale:
Audit:
1.
2. Select Updates
3. Verify that all available updates and software patches are installed.
Alternatively:
softwareupdate -l
Computers that have installed pre-release software in the past will fail this check if there
are pre-release software updates available when audited. In the App Store setting System
Preferences for 10.11 the computer may be set to no longer receive pre-release software.
8|Page
Remediation:
Alternatively:
softwareupdate -l
2. In Terminal, run the following for any packages that show up in step 1:
Impact:
References:
Level 1
Description:
Auto Update verifies that your system has the newest security patches and software
updates. If "Automatically check for updates" is not selected background updates for new
malware definition files from Apple for XProtect and Gatekeeper will not occur.
http://macops.ca/os-x-admins-your-clients-are-not-getting-background-security-updates/
https://derflounder.wordpress.com/2014/12/17/forcing-xprotect-blacklist-updates-on-
mavericks-and-yosemite/
Rationale:
9|Page
It is important that a system has the newest updates applied so as to prevent unauthorized
persons from exploiting identified vulnerabilities.
Audit:
If automatic updates were selected during system set-up this setting may not have left an
auditable artifact. Please turn off the check and re-enable when the GUI does not reflect the
audited results.
Remediation:
1. Open a terminal session and enter the following command to enable the auto update
feature:
Impact:
WIthout automatic update, updates may not be made in a timely manner and the system
will be exposed to additional risk.
References:
Level 1
Description:
10 | P a g e
Ensure that application updates are installed after they are available from Apple. These
updates do not require reboots or admin privileges for end users.
Rationale:
Patches need to be applied in a timely manner to reduce the risk of vulnerabilities being
exploited
Audit:
Alternatively:
Remediation:
1. Open a terminal session and enter the following command to enable the auto update
feature:
The remediation requires a log out and log in to show in the GUI. Please note that.
Impact:
1.4 Enable system data files and security update installs (Scored)
Profile Applicability:
11 | P a g e
Level 1
Description:
Ensure that system and security updates are installed after they are available from Apple.
This setting enables definition updates for XProtect 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 reboots or end user admin rights.
http://www.thesafemac.com/tag/xprotect/
https://support.apple.com/en-us/HT202491
Rationale:
Patches need to be applied in a timely manner to reduce the risk of vulnerabilities being
exploited
Audit:
Alternatively:
If automatic updates were selected during system set-up this setting may not have left an
auditable artifact. Please turn off the check and re-enable when the GUI does not reflect the
audited results.
Remediation:
12 | P a g e
Perform the following to implement the prescribed state:
1. Open a terminal session and enter the following command to enable install system
data files and security updates:
Impact:
Level 1
Description:
Ensure that OS X updates are installed after they are available from Apple. This setting
enables OS X updates to be automatically installed. Some environments will want to
approve and test updates before they are delivered and where updates can cause
disruption to operations that is best practice. Automatic updates should be turned off
where changes are tightly controlled and there are mature testing and approval processes.
Automatic updates should not be turned off so the admin can call the users first to let them
know it's ok to install. A dependable repeatable process involving a patch agent or remote
management tool should be in place before auto-updates are turned off.
Rationale:
Patches need to be applied in a timely manner to reduce the risk of vulnerabilities being
exploited
Audit:
Alternatively:
13 | P a g e
Perform the following to ensure the system is configured as prescribed:
If automatic updates were selected during system set-up this setting may not have left an
auditable artifact. Please turn off the check and re-enable when the GUI does not reflect the
audited results.
Remediation:
1. Open a terminal session and enter the following command to enable install system
data files and security updates:
Impact:
2 System Preferences
This section contains recommendations related to configurable options in the System
Preferences panel.
2.1 Bluetooth
Bluetooth is a short-range, low-power wireless technology commonly integrated into
portable computing and communication devices and peripherals. Bluetooth is best used in
a secure environment where unauthorized users have no physical access near the Mac. If
Bluetooth is used, it should be secured properly (see below).
14 | P a g e
Level 1
Description:
Bluetooth devices use a wireless communications system that replaces the cables used by
other peripherals to connect to a system. It is by design a peer-to-peer network technology
and typically lacks centralized administration and security enforcement infrastructure.
Rationale:
Audit:
Remediation:
Impact:
There have been many Bluetooth exploits , while Bluetooth can be hardened it does create
a local wireless network that can be attacked to compromise both devices and information.
15 | P a g e
2.1.2 Turn off Bluetooth "Discoverable" mode when not pairing devices
(Scored)
Profile Applicability:
Level 1
Description:
When Bluetooth is set to discoverable mode, the Mac sends a signal indicating that it's
available to pair with another Bluetooth device. When a device is "discoverable" it
broadcasts information about itself and it's location. Starting with OS X 10.9 Discoverable
mode is enabled while the Bluetooth System Preference is open and turned off once closed.
Systems that have the Bluetooth System Preference open at the time of audit will show as
Discoverable.
Rationale:
When in the discoverable state an unauthorized user could gain access to the system by
pairing it with a remote device.
Audit:
Remediation:
Starting with OS X (10.9) Bluetooth is only set to Discoverable when the Bluetooth System
Preference is selected. To ensure that the computer is not Discoverable do not leave that
preference open.
Impact:
The system will need to be made Discoverable in order to easily pair Bluetooth peripherals
16 | P a g e
2.1.3 Show Bluetooth status in menu bar (Scored)
Profile Applicability:
Level 1
Description:
By showing the Bluetooth status in the menu bar, a small Bluetooth icon is placed in the
menu bar. This icon quickly shows the status of Bluetooth, and can allow the user to quickly
turn Bluetooth on or off.
Rationale:
Enabling "Show Bluetooth status in menu bar" is a security awareness method that
helps understand the current state of Bluetooth, including whether it is enabled,
Discoverable, what paired devices exist and are currently active.
Audit:
Remediation:
In System Preferences: Bluetooth, turn Show Bluetooth Status In Menu Bar on.
If the remediation is run multiple times multiple instances of the Bluetooth status will
appear after rebooting the system. Command-click and drag the unwanted icons off the
menu bar
17 | P a g e
How to Remove Icons from the Menu Bar in Mac OS X
Impact:
Bluetooth is a useful wireless tool that has been widely exploited when configured
improperly. The user should have insight into the Bluetooth status.
Level 2
Description:
Correct date and time settings are required for authentication protocols, file creation,
modification dates and log entries. Apple's automatic time update solution will enable an
NTP server that is not controlled by the Application Firewall. Turning on "Set time and date
automatically" allows other computers to connect to set their time and allows
for exploit attempts against ntpd. It also allows for more accurate network detection and
OS fingerprinting.
Rationale:
Kerberos may not operate correctly if the time on the Mac is off by more than 5 minutes.
This in turn can affect Apple's single sign-on feature, Active Directory logons, and other
features.
Audit:
18 | P a g e
1. In Terminal, run the following command:
Remediation:
Impact:
Note: If your organization has internal time servers, enter them here. Enterprise mobile
devices may need to use a mix of internal and external time servers. If multiple servers are
required use the Date & Time System Preference with each server separated by a space.
Level 1
Description:
Correct date and time settings are required for authentication protocols, file creation,
modification dates and log entries. Ensure that time on the computer is within acceptable
limits. Truly accurate time is measured within milliseconds, for this audit a drift under four
and a half minutes passes the control check. Since Kerberos is one of the important features
of OS X integration into Directory systems the guidance here is to warn you before there
could be an impact to operations. From the perspective of accurate time this check is not
strict, it may be too great for your organization, adjust to a smaller offset value as needed.
Rationale:
Kerberos may not operate correctly if the time on the Mac is off by more than 5 minutes.
This in turn can affect Apple's single sign-on feature, Active Directory logons, and other
features. Audit check is for more than 4 minutes and 30 seconds ahead or behind.
19 | P a g e
Audit:
Ensure that the offset result(s) are smaller than 270.x or -270.x seconds
Remediation:
Impact:
2.3.1 Set an inactivity interval of 20 minutes or less for the screen saver
(Scored)
Profile Applicability:
Level 1
Description:
A locking screensaver is one of the standard security controls to limit access to a computer
and the current user's session when the computer is temporarily unused or unattended. In
OS X the screensaver starts after a value selected in a drop down menu, 10 minutes and 20
20 | P a g e
minutes are both options and either is acceptable. Any value can be selected through the
command line or script but a number that is not reflected in the GUI can be problematic. 20
minutes is the default for new accounts.
Rationale:
Setting an inactivity interval for the screensaver prevents unauthorized persons from
viewing a system left unattended for an extensive period of time.
Audit:
The preferred audit procedure for this control will evaluate every user account on the box
and will report on all users where the value has been set. If the default value of 20 minutes
is used and the user has never changed the setting there will not be an audit result on their
compliant setting.
Perform the following to ensure the system is configured as prescribed for the current
logged in user:
Remediation:
21 | P a g e
2. Select Desktop & Screen Saver
3. Select ScreenSaver
4. Set Start after to 20 minutes or less
Alternatively:
Impact:
If the screensaver is not set users may leave the computer available for an unauthorized
person to access information.
Level 2
Description:
Hot Corners can be configured to disable the screen saver by moving the mouse cursor to a
corner of the screen.
Rationale:
Setting a hot corner to disable the screen saver poses a potential security risk since an
unauthorized person could use this to bypass the login screen and gain access to the
system.
Audit:
2. Verify that 6 is not returned for any key value for any user.
22 | P a g e
Remediation:
References:
1. SV-37242r1_rule
2.3.3 Verify Display Sleep is set to a value larger than the Screen Saver
(Not Scored)
Profile Applicability:
Level 1
Description:
If the Screen Saver is used to lock the screen, verify the Display Sleep settings are longer
than the Screen Saver setting. If the display goes to sleep before the screen saver activates,
the computer will appear to be off, but will be unprotected.
Rationale:
Users of the system can easily assume that the computer is protected when the display goes
to sleep. The computer should be configured so that the screen is locked whenever the
display turns off automatically.
Audit:
In System Preferences: Energy Saver, verify the slider for "Put the display(s) to sleep..." to a
reasonable number, but longer than the screen saver setting. The Mac will display a
warning if the number is too short.
23 | P a g e
and verify the value returned is longer than the Screen Saver, if the Screen Saver is used to
lock the screen.
Remediation:
In System Preferences: Energy Saver, drag the slider for "Put the display(s) to sleep..." to a
reasonable number, but longer than the screen saver setting. The Mac will display a
warning if the number is too short.
Impact:
If the display sleeps before the screensaver is active the computer may be unlocked and
available for an unauthorized user.
Level 1
Description:
Rationale:
Ensuring the user has a quick method to lock their screen may reduce opportunity for
individuals in close physical proximity of the device to see screen contents.
Audit:
In System Preferences: Desktop & Screen Saver: Screen Saver: Hot Corners, make sure at
least one Active Screen Corner is set to Start Screen Saver. Make sure the user knows about
this feature.
24 | P a g e
defaults read ~/Library/Preferences/com.apple.dock | grep -i corner
For each user, verify at least one of the *-corner keys has a value of 5.For example, "wvous-
tl-corner" = 5.
Remediation:
In System Preferences: Desktop & Screen Saver: Screen Saver: Hot Corners, make sure at
least one Active Screen Corner is set to Start Screen Saver. Make sure the user knows about
this feature.
The screen corners can be set using the defaults command, but the permutations of
combinations are many. The plist file to check is ~/Library/Preferences/com.apple.dock
and the keys are
wvous-bl-corner
wvous-br-corner
wvous-tl-corner
wvous-tr-corner
There are also modifier keys to check and various values for each of these keys. A value of 5
means the corner will start the screen saver. The corresponding wvous-xx-modifier key
should be set to 0.
2.4 Sharing
This section contains recommendations related to the configurable items under the Sharing
panel.
Level 1
Description:
Apple Events is a technology that allows one program to communicate with other
programs. Remote Apple Events allows a program on one computer to communicate with a
program on a different computer.
Rationale:
Disabling Remote Apple Events mitigates the risk of an unauthorized program gaining
access to the system.
Audit:
25 | P a g e
Perform the following to ensure the system is configured as prescribed:
Remediation:
Impact:
With remote Apple events turned on, an AppleScript program running on another Mac can
interact with the local computer.
Level 1
Description:
Internet Sharing uses the open source natd process to share an internet connection with
other computers and devices on a local network. This allows the Mac to function as a router
and share the connection to other, possibly unauthorized, devices.
Rationale:
Disabling Internet Sharing reduces the remote attack surface of the system.
Audit:
26 | P a g e
Remediation:
Impact:
Internet sharing allows the computer to function as a router and other computers to use it
for access. This can expose both the computer itself and the networks it is accessing to
unacceptable access from unapproved devices.
Level 1
Description:
Rationale:
Disabling screen sharing mitigates the risk of remote connections being made without the
user of the console knowing that they are sharing the computer.
Audit:
Remediation:
27 | P a g e
Perform the following to implement the prescribed state:
References:
1. http://support.apple.com/kb/ph11151
Level 1
Description:
By enabling Printer sharing the computer is set up as a print server to accept print jobs
from other computers. Dedicated print servers or direct IP printing should be used instead.
Rationale:
Disabling Printer Sharing mitigates the risk of attackers attempting to exploit the print
server to gain access to the system.
Audit:
Remediation:
References:
28 | P a g e
1. http://support.apple.com/kb/PH11450
Level 1
Description:
Rationale:
Disabling Remote Login mitigates the risk of an unauthorized person gaining access to the
system via Secure Shell (SSH). While SSH is an industry standard to connect to posix
servers, the scope of the benchmark is for Apple OSX clients, not servers.
OS X does have an IP based firewall available (pf, ipfw has been deprecated) that is not
enabled or configured. There are more details and links in section 7.5. OS X no longer has
TCP Wrappers support built-in and does not have strong Brute-Force password guessing
mitigations, or frequent patching of openssh by Apple. Most OS X computers are mobile
workstations, managing IP based firewall rules on mobile devices can be very resource
intensive. All of these factors can be parts of running a hardened SSH server.
Audit:
Remediation:
Impact:
29 | P a g e
The SSH server built-in to OS X should not be enabled on a standard user computer,
particularly one that changes locations and IP addresses. A standard user that runs local
applications including email, web browser and productivity tools should not use the same
device as a server. There are Enterprise management tool-sets that do utilize SSH, if they
are in use, the computer should be locked down to only respond to known trusted IP
addresses and appropriate admin service accounts.
For OS X computers that are being used for specialized functions there are several options
to harden the SSH server to protect against unauthorized access including brute force
attacks. There are some basic criteria that need to be considered:
Do not open an SSH server to the internet without controls in place to mitigate SSH
brute force attacks, this is particularly important for systems bound to Directory
environments. It is great to have controls in place to protect the system but if they
trigger after the user is already locked out of their account they are not optimal. If
authorization happens after authentication directory accounts for users that don't
even use the system can be locked out.
Do not use SSH key pairs when there is no insight to the security on the client
system that will authenticate into the server with a private key. If an attacker gets
access to the remote system and can find the key they may not need a password or a
key logger to access the SSH server.
Detailed instructions on hardening an SSH server, if needed, are available in the CIS
Linux Benchmarks but it is beyond the scope of this benchmark
Level 1
Description:
DVD or CD Sharing allows users to remotely access the system's optical drive.
Rationale:
Disabling DVD or CD Sharing minimizes the risk of an attacker using the optical drive as a
vector for attack and exposure of sensitive data.
Audit:
30 | P a g e
sudo launchctl list | egrep ODSAgent
Remediation:
Impact:
Many Apple devices are now sold without optical drives and drive sharing may be needed
for legacy optical media.
References:
Level 1
Description:
Rationale:
Disabling Bluetooth Sharing minimizes the risk of an attacker using Bluetooth to remotely
attack the system.
Audit:
31 | P a g e
1. Open System Preferences
2. Bluetooth Sharing should be unchecked
Alternatively:
Remediation:
Level 1
Description:
Apple's File Sharing uses a combination of SMB (Windows sharing) and AFP (Mac sharing)
32 | P a g e
Rationale:
By disabling file sharing, the remote attack surface and risk of unauthorized access to files
stored on the system is reduced.
Audit:
1. Run the following command in Terminal to check the Apple File Server status:
Remediation:
Run the following command in Terminal to turn off AFP from the command line:
Run the following command in Terminal to turn off SMB sharing from the CLI:
Impact:
File Sharing can be used to share documents with other users but hardened servers should
be used rather than user endpoints. Turning on file sharing increases the visibility and
attack surface of a system unnecessarily.
Level 1
Description:
33 | P a g e
Remote Management is the client portion of Apple Remote Desktop (ARD). Remote
Management can be used by remote administrators to view the current Screen, install
software, report on, and generally manage client Macs.
The screen sharing options in Remote Management are identical to those in the Screen
Sharing section. In fact, only one of the two can be configured. If Remote Management is
used, refer to the Screen Sharing section above on issues regard screen sharing.
Remote Management should only be enabled when a Directory is in place to manage the
accounts with access. Computers will be available on port 5900 on an OS X System and
could accept connections from untrusted hosts depending on the configuration, definitely a
concern for mobile systems.
Rationale:
Remote management should only be enabled on trusted networks with strong user
controls present in a Directory system. Mobile devices without strict controls are
vulnerable to exploit and monitoring.
Audit:
2. Ensure /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Conten
ts/MacOS/ARDAgent is not present
Remediation:
Impact:
34 | P a g e
2.5 Energy Saver
This section contains recommendations related to the configurable items under the Energy
Saver panel.
Level 2
Description:
This feature allows other users to be able to access your computer’s shared resources, such
as shared printers or iTunes playlists, even when your computer is in sleep mode
Rationale:
Disabling this feature mitigates the risk of an attacker remotely waking the system and
gaining access.
Audit:
The asterisk represents the current power source. If the power source is "AC Power"
pmset -c -g | grep womp; pmset -b -g | grep womp
Remediation:
35 | P a g e
Impact:
Management programs like Apple Remote Desktop Administrator use this feature to wake
computers. If turned off, such management programs will not be able to wake a computer
over the LAN. If the wake-on-LAN feature is needed, do not turn off this feature.
Level 2
Description:
In some institutions certain software must be run that requires the computer to be awake.
In these situations the computer should not be set to sleep.
Not allowing the computer to sleep will use more power and increase the cost to operate
the computer. This must be weighed against the needs of the organization.
Rationale:
The ability to apply security patches and perform vulnerability assessments on the system
is reduced when the system is sleeping.
Audit:
In System Preferences: Energy Saver, verify the slider for "Put the computer to sleep..." to
never.
The asterisk represents the current power source. If the power source is "AC Power"
pmset -g | grep sleep
Remediation:
In System Preferences: Energy Saver, drag the slider for "Put the computer to sleep..." to
never.
36 | P a g e
Alternatively, use the following command:
sudo pmset -c sleep 0
Impact:
Level 1
Description:
FileVault secures a system's data by automatically encrypting its content and requiring a
password or recovery key to access it.
Rationale:
Encrypting sensitive data minimizes the likelihood of unauthorized users gaining access to
it.
Audit:
2. On a booted system the Logical Volume should show as both Encrypted and
unlocked
Remediation:
37 | P a g e
Perform the following to implement the prescribed state:
Level 1
Description:
Rationale:
Audit:
Remediation:
38 | P a g e
1. Run the following command in Terminal:
Level 1
Description:
http://support.apple.com/en-us/HT201642
Rationale:
A firewall minimizes the threat of unauthorized users from gaining access to your system
while connected to a network or the Internet.
Audit:
Remediation:
Alternatively:
39 | P a g e
2. Where <value> is:
o 1 = on for specific services
o 2 = on for essential services
Impact:
The firewall may block legitimate traffic. Applications that are unsigned will require special
handling.
Level 1
Description:
While in Stealth mode the computer will not respond to unsolicited probes, dropping that
traffic.
http://support.apple.com/en-us/HT201642
Rationale:
Stealth mode on the firewall minimizes the threat of system discovery tools while
connected to a network or the Internet.
Audit:
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
Remediation:
40 | P a g e
Alternatively:
Impact:
Traditional network discovery tools like ping will not succeed. Other network tools that
measure activity and approved applications will work as expected.
Level 1
Description:
http://support.apple.com/en-us/HT201642
Rationale:
A firewall minimizes the threat of unauthorized users from gaining access to your system
while connected to a network or the Internet. Which applications are allowed access to
accept incoming connections through the firewall is important to understand.
Audit:
/usr/libexec/ApplicationFirewall/socketfilterfw --listapps
Remediation:
Alternatively:
1. Edit and run the following command in Terminal to remove specific applications:
/usr/libexec/ApplicationFirewall/socketfilterfw --remove
</Applications/badapp.app>
2.7 iCloud
iCloud is Apple's service for synchronizing, storing and backing up data from Apple
applications in both OS X and iOS
Level 2
Description:
Apple's iCloud is a consumer oriented service that allows a user to store data as well as
find, control and backup devices that are associated with their Apple ID (Apple account.)
The use of iCloud on Enterprise devices should align with the acceptable use policy for
devices that are managed as well as confidentiality requirements for data handled by the
user. If iCloud is allowed the data that is copied to Apple servers will likely be duplicated on
both personal as well as Enterprise devices.
For many users the Enterprise email system may replace many of the available features in
iCloud. If using either an Exchange or Google environment email, calendars, notes and
contacts can sync to the official Enterprise repository and be available through multiple
devices.
42 | P a g e
concern is not just about having sensitive data on Apple's servers but having that same data
on the phone of the teenage son or daughter of an employee.
The remote connectivity of "Back to My Mac" relies on screen sharing that should already
be turned off, if available the users Apple ID (personal?) can be used for remote access to
the Enterprise computer rather than through Enterprise managed accounts.
Apple's iCloud is just one of many cloud based solutions being used for data
synchronization across multiple platforms and it should be controlled consistently with
other cloud services in your environment. Work with your employees and configure the
access to best enable data protection for you mission.
Rationale:
Audit:
Remediation:
Level 2
Description:
The iCloud keychain is Apple's password manager that works with OS X and iOS. The
capability allows users to store passwords in either iOS or OS X for use in Safari on both
platforms and other iOS integrated applications. The most pervasive use is driven by iOS
use rather than OS X. The passwords stored in an OS X keychain on an Enterprise managed
computer could be stored in Apple's cloud and then be available on a personal computer
using the same account. The stored passwords could be for organizational as well as
personal accounts.
Rationale:
Ensure that the iCloud keychain is used consistently with organizational requirements
Audit:
Open System Preferences: iCloud and deselect Keychain if it is not approved in your
organization
Remediation:
43 | P a g e
2.7.3 iCloud Drive (Not Scored)
Profile Applicability:
Level 2
Description:
iCloud Drive is Apple's storage solution for applications on both OS X and iOS to use the
same files that are resident in Apple's cloud storage. The iCloud Drive folder is available
much like Dropbox or the Microsoft or Google solutions.
One of the concerns in public cloud storage is that proprietary data may be inappropriately
stored in an end user's personal repository. Organizations that need specific controls on
information should ensure that this service is turned off or the user knows what
information must be stored on services that are approved for storage
Rationale:
If cloud storage is not allowed in your organization in System Preferences: iCloud uncheck
iCloud Drive
Audit:
Remediation:
Impact:
Users will not be able to use continuity on OS X to resume the use of newly composed but
unsaved files
Level 1
Description:
An infrared receiver is a piece of hardware that sends information from an infrared remote
control to another device by receiving and decoding signals. If a remote is used with a
computer, a specific remote, or "pair", can be set-up to work with the computer. This will
allow only the paired remote to work on that computer. If a remote is needed the receiver
44 | P a g e
should only be accessible by a paired device. Many models do not have infrared hardware.
The audit check looks for the hardware first.
Rationale:
An infrared remote can be used from a distance to circumvent physical security controls. A
remote could also be used to page through a document or presentation, thus revealing
sensitive information.
Audit:
Remediation:
1. Holding the remote close to the computer, point the remote at the front of the
computer.
2. Pair the Apple Remote.
o If you have an Apple Remote with seven buttons, press and hold both the
Right and Menu buttons on the remote until the paired-remote icon appears
on your screen
45 | P a g e
o If you have an Apple Remote with six buttons, press and hold both the Next
and Menu buttons on the remote until the paired-remote icon appears on
your screen
References:
1. http://support.apple.com/kb/PH11060
Level 1
Description:
Secure Keyboard Entry prevents other applications on the system and/or network from
detecting and recording what is typed into Terminal.
Rationale:
Enabling Secure Keyboard Entry minimizes the risk of a key logger from detecting what is
entered in Terminal.
Audit:
Remediation:
1. Open Terminal
2. Select Terminal
3. Select Secure Keyboard Entry
46 | P a g e
Level 2
Description:
Apple had made Java part of the core Operating System for OS X. Apple is no longer
providing Java updates for OS X and updated JREs and JDK are made available by Oracle.
The latest version of Java 6 made available by Apple has many unpatched vulnerabilities
and should not be the default runtime for Java applets that request one from the Operating
System
Rationale:
Java is one of the most exploited environments and is no longer maintained by Apple, old
versions may still be installed and should be removed from the computer or not be in the
default path.
Audit:
Old Java versions may still be installed and should be removed from the computer or not be
in the default path.
java -version
The output of the above command should not return a result with Java 6:
Note: If Java is not installed a dialogue box will offer to go to Oracle to download Java 8
Remediation:
Java 6 can be removed completely or, if necessary Java applications will only work with
Java 6, a custom path can be used.
Impact:
Old applications may rely on either an Apple supplied version of Java 6 or an updated JDK.
Level 2
Description:
47 | P a g e
In previous versions of OS X Apple included a capability to securely empty the trash that
included overwrites of the existing data. With the wider use of FileVault and other
encryption methods and the growing use of Solid State Drives the requirements have
changed and the "Secure Empty Trash" capability has been removed from the GUI. For
systems that are not using encryption and continue to use platter-based hard drives there
is still risk that deleted files can still be recovered from the file system.
For additional protection in the removal of confidential files srm can be used form the
command line.
man srm
Rationale:
Securely removing files mitigates the risk of an admin user on the system recovering
sensitive files that the user has deleted. It is possible for anyone with physical access to the
device to get access if FileVault is not used, or to recover deleted data if the FileVault
volume is already mounted.
Audit:
Remediation:
Impact:
Securely deleting files can take a long time, with FileVault in place the protection is erasing
data within an already encrypted volume. This control does not effect the use of the rm
command in the terminal. Users who rarely have large files to erase can use srm
cd ~/.Trash
srm myproject-cui.pptx
48 | P a g e
3 Logging and Auditing
This section provide guidance on configuring the logging and auditing facilities available in
OSX
Level 1
Description:
The default value has an "all_max" file limitation, no reference to a minimum retention and
a less precise rotation argument.
Rationale:
Archiving and retaining system.log for 90 or more days is beneficial in the event of an
incident as it will allow the user to view the various changes to the system along with the
date and time they occurred.
Audit:
49 | P a g e
grep -i ttl /etc/asl.conf
Remediation:
Impact:
Without log files system maintenance and security forensics cannot be properly
performed.
Level 1
Description:
The default value has an "all_max" file limitation, no reference to a minimum retention and
a less precise rotation argument.
Rationale:
50 | P a g e
Archiving and retaining appfirewall.log for 90 or more days is beneficial in the event of
an incident as it will allow the user to view the various changes to the system along with
the date and time they occurred.
Audit:
Remediation:
Impact:
Without log files system maintenance and security forensics cannot be properly
performed.
Default Value:
7 days
Level 1
Description:
51 | P a g e
OSX writes information pertaining to system-related events to the
file /var/log/authd.log and has a configurable retention policy for this file. The default
logging setting limits the file size of the logs and the maximum size for all logs with it's own
rule in asl.conf. The default allows for an errant application to fill the log files and does not
enforce sufficient log retention. The Benchmark recommends a value based on standard
use cases. The value should align with local requirements within the organization.
The default value has an "all_max" file limitation, no reference to a minimum retention and
a less precise rotation argument.
Rationale:
Archiving and retaining authd.log for 90 or more days is beneficial in the event of an
incident as it will allow the user to view the various changes to the system along with the
date and time they occurred.
Audit:
Remediation:
Impact:
52 | P a g e
Without log files system maintenance and security forensics cannot be properly
performed.
Level 1
Description:
OSX's audit facility, auditd, receives notifications from the kernel when certain system
calls, such as open, fork, and exit, are made. These notifications are captured and written
to an audit log.
Rationale:
Logs generated by auditd may be useful when investigating a security incident as they may
help reveal the vulnerable application and the actions taken by a malicious actor.
Audit:
Remediation:
References:
53 | P a g e
Level 2
Description:
Rationale:
Maintaining an audit trail of system activity logs can help identify configuration errors,
troubleshoot service disruptions, and analyze compromises or attacks that have occurred,
have begun, or are about to begin. Audit logs are necessary to provide a trail of evidence in
case the system or network is compromised.
Audit:
Note: excluding potentially noisy audit events may be ideal, depending on your use-case.
Remediation:
References:
54 | P a g e
3.4 Enable remote logging for Desktops on trusted networks (Not
Scored)
Profile Applicability:
Level 2
Description:
A log is a file that records the events that occur while an operating system and/or software
is running. The built-in syslog capability in OS X runs over UDP without encryption.
Broadcasting log unencrypted over the internet is not a good idea. While syslog may
be acceptable on some internal trusted networks it is not a solution for mobile devices that
hop between networks.
An encrypted tunnel that auto reconnects for each new network the laptop joins
A third party logging daemon that encrypts the log transmission
A local store and forward script that bundles the logs and sends periodically
through an encrypted transmission (ssh) or when the device is connected to a
trusted network
Rationale:
In addition to local logging, remote logging can be enabled for internal computers on
trusted networks. Local logs can be altered if the computer is compromised. Remote
logging mitigates the risk of having the logs altered.
Audit:
Remediation:
2. Add the following line to the top of the file, replacing "your.log.server" with the
name or IP address of the log server, and keeping all other lines intact. *.*
@your.log.server
3. Exit, saving changes.
4. Reboot the system.
55 | P a g e
References:
Level 1
Description:
The default value has an "all_max" file limitation, no reference to a minimum retention and
a less precise rotation argument.
Rationale:
Archiving and retaining install.log for at least a year is beneficial in the event of an
incident as it will allow the user to view the various changes to the system along with the
date and time they occurred.
Audit:
Remediation:
56 | P a g e
Perform the following to implement the prescribed state:
Impact:
Without log files system maintenance and security forensics cannot be properly
performed.
4 Network Configurations
This section contains guidance on configuring the networking related aspects of OSX.
Level 2
Description:
Bonjour is an auto-discovery mechanism for TCP/IP devices which enumerate devices and
services within a local subnet. DNS on Mac OS X is integrated with Bonjour and should not
be turned off, but the Bonjour advertising service can be disabled.
Rationale:
Bonjour can simplify device discovery from an internal rogue or compromised host. An
attacker could use Bonjour's multicast DNS feature to discover a vulnerable or poorly-
configured service or additional information to aid a targeted attack. Implementing this
control disables the continuous broadcasting of "I'm here!" messages. Typical end-user
endpoints should not have to advertise services to other computers. This setting does not
stop the computer from sending out service discovery messages when looking for services
on an internal subnet, if the computer is looking for a printer or server and using service
discovery. To block all Bonjour traffic except to approved devices the pf or other firewall
would be needed.
57 | P a g e
Audit:
Remediation:
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/mDNSResponder</string>
<string>-launchd</string>
</array>
becomes:
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/mDNSResponder</string>
<string>-launchd</string>
<string>-NoMulticastAdvertisements</string>
</array>
Impact:
Some applications, like Final Cut Studio and AirPort Base Station management, may not
operate properly if the mDNSResponder is turned off.
58 | P a g e
Level 1
Description:
The Wi-Fi status in the menu bar indicates if the system's wireless internet capabilities are
enabled. If so, the system will scan for available wireless networks to connect to. At the
time of this revision all computers Apple builds have wireless, that has not always been the
case, This control only pertains to systems that have a wireless NIC. Operating systems
running in a virtual environment may not score as expected either.
Rationale:
Enabling "Show Wi-Fi status in menu bar" is a security awareness method that helps
mitigate public area wireless exploits by making the user aware of their wireless
connectivity status.
Audit:
Remediation:
Impact:
The user of the system should have a quick check on their wireless network status
available
Level 2
59 | P a g e
Description:
The network location feature of the Mac is very powerful tool to manage network security.
By creating different network locations, a user can easily (and without administrative
privileges) change the network settings on the Mac. By only using the network interfaces
needed at any specific time, exposure to attackers is limited.
A little understanding of how the Network System Preferences pane works is required.
Rationale:
Network locations allow the computer to have specific configurations ready for network
access when required. Locations can be used to manage which network interfaces are
available for specialized network access
Audit:
Remediation:
Delete the Automatic location for any device that does not use multiple network services
set for DHCP or dynamic addressing. If network services like FireWire, VPN, AirPort or
Ethernet are not used by a specific device class those services should be deleted:
Impact:
Unneeded network interfaces increases the attack surface and could lead to a successful
exploit.
Level 1
60 | P a g e
Description:
Mac OS X used to have a graphical front-end to the embedded Apache web server in the
Operating System. Personal web sharing could be enabled to allow someone on another
computer to download files or information from the user's computer. Personal web sharing
from a user endpoint has long been considered questionable and Apple has removed that
capability from the GUI. Apache however is still part of the Operating System and can be
easily turned on to share files and provide remote connectivity to an end user computer.
Web sharing should only be done through hardened web servers and appropriate cloud
services.
Rationale:
Web serving should not be done from a user desktop. Dedicated webservers or appropriate
cloud storage should be used. Open ports make it easier to exploit the computer.
Audit:
Remediation:
Ensure that the Web Server is not running and is not set to start at boot
Impact:
The web server is both a point of attack for the system and a means for unauthorized file
transfers.
61 | P a g e
Profile Applicability:
Level 1
Description:
Mac OS X used to have a graphical front-end to the embedded ftp server in the Operating
System. Ftp sharing could be enabled to allow someone on another computer to download
files or information from the user's computer. Running an Ftp server from a user endpoint
has long been considered questionable and Apple has removed that capability from the
GUI. The Ftp server however is still part of the Operating System and can be easily turned
on to share files and provide remote connectivity to an end user computer. Ftp servers
meet a specialized need to distribute files without strong authentication and should only be
done through hardened servers. Cloud services or other distribution methods should be
considered
Rationale:
Ftp servers should not be run on an end user desktop. Dedicated servers or appropriate
cloud storage should be used. Open ports make it easier to exploit the computer.
Audit:
Remediation:
Ensure that the FTP Server is not running and is not set to start at boot
Impact:
The ftp server is both a point of attack for the system and a means for unauthorized file
transfers. The ftp server is another avenue to attempt brute forcing password for existing
valid users.
62 | P a g e
4.6 Ensure nfs server is not running (Scored)
Profile Applicability:
Level 1
Description:
Mac OS X can act an NFS fileserver. NFS sharing could be enabled to allow someone on
another computer to mount shares and gain access to information from the user's
computer. File sharing from a user endpoint has long been considered questionable and
Apple has removed that capability from the GUI. NFSD is still part of the Operating System
and can be easily turned on to export shares and provide remote connectivity to an end
user computer.
Rationale:
File serving should not be done from a user desktop, dedicated servers should be used.
Open ports make it easier to exploit the computer.
Audit:
Remediation:
Ensure that the NFS Server is not running and is not set to start at boot
Impact:
63 | P a g e
The nfs server is both a point of attack for the system and a means for unauthorized file
transfers.
Level 1
Description:
By default OS X allows all valid users into the top level of every other users home folder,
and restricts access to the Apple default folders within. Another user on the same system
can see you have a "Documents" folder but cannot see inside it. This configuration does
work for personal file sharing but can expose user files to standard accounts on the system.
The best parallel for Enterprise environments is that everyone who has a Dropbox account
can see everything that is at the top level but can't see your pictures, in the parallel with OS
X they can see into every new Directory that is created because of the default permissions.
Home folders should be restricted to access only by the user. Sharing should be used on
dedicated servers or cloud instances that are managing access controls. Some
environments may encounter problems if execute rights are removed as well as read and
write. Either no access or execute only for group or others is acceptable
Rationale:
64 | P a g e
Allowing all users to view the top level of all networked user's home folder may not be
desirable since it may lead to the revelation of sensitive information.
Audit:
ls -l /Users/
drwx------
1. drwx--x--x
Remediation:
Impact:
If implemented, users will not be able to use the "Public" folders in other users' home
folders. "Public" folders with appropriate permissions would need to be set up in the
/Shared folder.
65 | P a g e
Level 1
Description:
Rationale:
Audit:
Remediation:
Impact:
Level 1
Description:
Software sometimes insists on being installed in the /System Directory and have
inappropriate world writable permissions.
66 | P a g e
Rationale:
Folders in /System should not be world writable. The audit check excludes the "Drop Box"
folder that is part of Apple's default user template.
Audit:
Remediation:
Level 2
Description:
Software sometimes insists on being installed in the /Library Directory and have
inappropriate world writable permissions.
Rationale:
Folders in /Library should not be world writable. The audit check excludes the
/Library/Caches folder where the sticky bit is set.
Audit:
Remediation:
67 | P a g e
5.2 Password Management
Password security is an important part of general IT security where passwords are is use.
For OS X passwords are still much more widely used than other methods for account
access. While there are verification techniques for access on newly connecting computers
for Apple Services logging on to the OS X computer is probably done using a password. This
section contains password controls.
Level 1
Description:
The account lockout threshold specifies the amount of times a user can enter a wrong
password before a lockout will occur.
Ensure that a lockout threshold is part of the password policy on the computer
Rationale:
The account lockout feature mitigates brute-force password attacks on the system.
Audit:
Remediation:
Perform the following to implement the prescribed state for all pwpolicy controls
pwpolicy -setaccountpolicies
Examples in pwpolicy man page and in the back of this Benchmark
68 | P a g e
Impact:
The number of incorrect log on attempts should be reasonably small to minimize the
possibility of a successful password attack, while allowing for honest errors made during a
normal user log on.
Level 1
Description:
A minimum password length is the lowest amount of characters a password can contain to
meet a system's requirements.
Ensure that a minimum of a 15 character password is part of the password policy on the
computer.
Rationale:
Information systems not protected with strong password schemes including passwords of
minimum length provide the opportunity for anyone to crack the password and gain access
to the system, and cause the device, information, or the local network to be compromised
or a Denial of Service.
Audit:
69 | P a g e
Remediation:
Perform the following to implement the prescribed state for all pwpolicy controls
pwpolicy -setaccountpolicies
Examples in pwpolicy man page and in the back of the Benchmark
Impact:
Level 1
Description:
Complex passwords contain one character from each of the following classes: English
uppercase letters, English lowercase letters, Westernized Arabic numerals, and non-
alphanumeric characters.
Ensure that an Alphabetic character is part of the password policy on the computer
Rationale:
The more complex a password the more resistant it will be against persons seeking
unauthorized access to a system.
Audit:
<string>RequiresAlpha</string>
<key>minimumAlphaCharacters</key>
70 | P a g e
1. Run the following command in Terminal:
Remediation:
Perform the following to implement the prescribed state for all pwpolicy controls
pwpolicy -setaccountpolicies
Examples in pwpolicy man page and in the back of the Benchmark
Impact:
Password policy should be in effect to reduce the risk of exposed services being
compromised easily through dictionary attacks or other social engineering attempts.
Level 1
Description:
71 | P a g e
Complex passwords contain one character from each of the following classes: English
uppercase letters, English lowercase letters, Westernized Arabic numerals, and non-
alphanumeric characters.
Ensure that a number or numeric value is part of the password policy on the computer.
Rationale:
The more complex a password the more resistant it will be against persons seeking
unauthorized access to a system.
Audit:
<string>RequiresNumeric</string>
<key>minimumNumericCharacters</key>
Remediation:
Perform the following to implement the prescribed state for all pwpolicy controls
pwpolicy -setaccountpolicies
72 | P a g e
Examples in pwpolicy man page and in the back of the Benchmark
Impact:
Password policy should be in effect to reduce the risk of exposed services being
compromised easily through dictionary attacks or other social engineering attempts.
Level 1
Description:
Complex passwords contain one character from each of the following classes: English
uppercase letters, English lowercase letters, Westernized Arabic numerals, and non-
alphanumeric characters. Ensure that a special character is part of the password policy on
the computer
Rationale:
The more complex a password the more resistant it will be against persons seeking
unauthorized access to a system.
Audit:
Remediation:
73 | P a g e
Perform the following to implement the prescribed state for all pwpolicy controls
pwpolicy -setaccountpolicies
Examples in pwpolicy man page and in the back of the Benchmark
Impact:
Password policy should be in effect to reduce the risk of exposed services being
compromised easily through dictionary attacks or other social engineering attempts.
References:
Level 1
Description:
Complex passwords contain one character from each of the following classes: English
uppercase letters, English lowercase letters, Westernized Arabic numerals, and non-
alphanumeric characters.
Ensure that both uppercase and lowercase letters are part of the password policy on the
computer
Rationale:
The more complex a password the more resistant it will be against persons seeking
unauthorized access to a system.
Audit:
74 | P a g e
2. Verify the value returned
<string>com.apple.uppercaseAndLowercase</string>
Remediation:
Perform the following to implement the prescribed state for all pwpolicy controls
pwpolicy -setaccountpolicies
Examples in pwpolicy man page and in the back of the Benchmark
Impact:
Password policy should be in effect to reduce the risk of exposed services being
compromised easily through dictionary attacks or other social engineering attempts.
Level 1
Description:
Over time passwords can be captured by third parties through mistakes, phishing attacks,
third party breaches or merely brute force attacks. To reduce the risk of exposure and to
decrease the incentives of password reuse (passwords that are not forced to be changed
periodically generally are not ever changed) users must reset passwords periodically. This
control uses 90 days as the acceptable value, some organizations may be more or less
restrictive. Ensure that password rotation is part of the password policy on the computer.
Rationale:
75 | P a g e
Audit:
<key>policyAttributeExpiresEveryNDays</key>
Remediation:
Perform the following to implement the prescribed state for all pwpolicy controls
pwpolicy -setaccountpolicies
Examples in pwpolicy man page and in the back of the Benchmark
Impact:
Required password changes will lead to some locked computers requiring admin
assistance
Level 1
Description:
Over time passwords can be captured by third parties through mistakes, phishing attacks,
third party breaches or merely brute force attacks. To reduce the risk of exposure and to
decrease the incentives of password reuse (passwords that are not forced to be changed
periodically generally are not ever changed) users must reset passwords periodically. This
76 | P a g e
control ensures that previous passwords are not reused immediately by keeping a history
of previous passwords hashes. Ensure that password history checks are part of the
password policy on the computer. This control checks whether a new password is different
than the previous 15.
Rationale:
Audit:
Remediation:
Perform the following to implement the prescribed state for all pwpolicy controls
pwpolicy -setaccountpolicies
Examples in pwpolicy man page and in the back of the Benchmark
Impact:
Required password changes will lead to some locked computers requiring admin
assistance
Level 1
77 | P a g e
Description:
The sudo command allows the user to run programs as the root user. Working as the root
user allows the user an extremely high level of configurability within the system.
Rationale:
The sudo command stays logged in as the root user for five minutes before timing out and
re-requesting a password. This five minute window should be eliminated since it leaves the
system extremely vulnerable. This is especially true if an exploit were to gain access to the
system, since they would be able to make changes as a root user.
Audit:
Defaults timestamp_timeout=0
Remediation:
sudo visudo
Defaults timestamp_timeout=0
Level 2
Description:
The login keychain is a secure database store for passwords and certificates and is created
for each user account on Mac OS X. The system software itself uses keychains for secure
78 | P a g e
storage. Anyone with physical access to an unlocked keychain where the screen is also
unlocked can copy all passwords in that keychain. Application access to the login keychain
does not keep it unlocked. If you set Apple Mail to check for email every 10 minutes using
the keychain for credentials and the keychain to lock every 15 minutes if inactive it will still
cause the keychain to lock. The approach recommended here is that the login keychain be
set to periodically lock when inactive to reduce the risk of password exposure or
unauthorized use of credentials by a third party. The time period that an organization uses
will depend on how great the use is of keychain aware applications. Organizations that use
Firefox and Thunderbird will have a much different tolerance than those organization
using keychain aware applications extensively.
Rationale:
While logged in, the keychain does not prompt the user for passwords for various systems
and/or programs. This can be exploited by unauthorized users to gain access to password
protected programs and/or systems in the absence of the user. Timing out the keychain can
reduce the exploitation window.
Audit:
security show-keychain-info
Remediation:
1. Open Utilities
2. Select Keychain Access
3. Select a keychain
4. Select Edit
5. Select Change Settings for keychain <keychain_name>
6. Authenticate, if requested.
7. Change the Lock after # minutes of inactivity setting for the Login Keychain to an
approved value that should be longer than 6 hours or 3600 minutes or based on the
access frequency of the security credentials included in the keychain for other
keychains.
79 | P a g e
Impact:
If the timeout is set too low on heavily used items the user will be annoyed and may use
workarounds.
5.5 Ensure login keychain is locked when the computer sleeps (Scored)
Profile Applicability:
Level 2
Description:
The login keychain is a secure database store for passwords and certificates and is created
for each user account on Mac OS X. The system software itself uses keychains for secure
storage. Anyone with physical access to an unlocked keychain where the screen is also
unlocked can copy all passwords in that keychain. The approach recommended here is that
the login keychain be set to lock when when the computer sleeps to reduce the risk of
password exposure.Organizations that use Firefox and Thunderbird will have a much
different tolerance than those organization using keychain aware applications extensively.
Rationale:
While logged in, the keychain does not prompt the user for passwords for various systems
and/or programs. This can be exploited by unauthorized users to gain access to password
protected programs and/or systems in the absence of the user.
Audit:
security show-keychain-info
Remediation:
1. Open Utilities
2. Select Keychain Access
3. Select a keychain
80 | P a g e
4. Select Edit
5. Select Change Settings for keychain <keychain_name>
6. Authenticate, if requested.
7. Select Lock when sleeping setting
Impact:
The user may experience multiple prompts to unlock the keychain when waking from
sleep.
Level 2
Description:
Certificates should only be trusted if they have both a satisfactory trust chain and they have
not been revoked. OS X can check whether the certificate is still valid based on issued
parameters within the certificate.
Rationale:
Audit:
This audit check may fail while running as root, which is recommended. On 10.11 systems
initial testing has shown that the even if the configurations are in place in the GUI the
artifact is not found using root. Run the remediation steps as root to overcome the false
positive.
Remediation:
81 | P a g e
defaults write com.apple.security.revocation CRLStyle -string RequireIfPresent
To set the OCSP settings:
defaults write com.apple.security.revocation OCSPStyle -string RequireIfPresent
Impact:
Network or connectivity issues could interfere with certificate checks for valid certificates
Level 1
Description:
The root account is a superuser account that has access privileges to perform any actions
and read/write to any file on the computer. In the UNIX/Linux world, the system
administrator commonly uses the root account to perform administrative functions.
Rationale:
Enabling and using the root account puts the system at risk since any successful exploit or
mistake while the root account is in use could have unlimited access privileges within the
system. Using the sudo command allows users to perform functions as a root user while
limiting and password protecting the access privileges. By default the root account is not
enabled on a Mac OS X client computer. It is enabled on Mac OS X Server. An administrator
can escalate privileges using the sudo command (use -s or -i to get a root shell).
Audit:
Remediation:
82 | P a g e
Open System Preferences, Uses & Groups. Click the lock icon to unlock it. In the Network
Account Server section, click Join or Edit. Click Open Directory Utility. Click the lock icon to
unlock it. Select the Edit menu > Disable Root User.
Impact:
Level 1
Description:
The automatic login feature saves a user's system access credentials and bypasses the login
screen, instead the system automatically loads to the user's desktop screen.
Rationale:
Audit:
Remediation:
Impact:
83 | P a g e
If Automatic login is not disabled an unauthorized user could login without supplying a
user password or credential.
Level 1
Description:
Sleep and screensaver modes are low power modes that reduces electrical consumption
while the system is not in use.
Rationale:
Prompting for a password when waking from sleep or screensaver mode mitigates the
threat of an unauthorized person gaining access to a system in the user's absence.
Audit:
Remediation:
1. Run the following command in Terminal: The current user will need to log off and
on for changes to take effect.
2. The current user will need to log off and on for changes to take effect.
Impact:
Without a screenlock in place anyone with physical access to the computer would be
logged in and able to use the active users session.
84 | P a g e
5.10 Require an administrator password to access system-wide
preferences (Scored)
Profile Applicability:
Level 1
Description:
Rationale:
Audit:
security authorizationdb read system.preferences 2> /dev/null | grep -A1 shared | grep
-E '(true|false)'
Remediation:
Impact:
85 | P a g e
If Automatic login is not disabled an unauthorized user could login without supplying a
user password or credential.
5.11 Disable ability to login to another user's active and locked session
(Scored)
Profile Applicability:
Level 1
Description:
OSX has a privilege that can be granted to any user that will allow that user to unlock active
user's sessions.
Rationale:
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.
Audit:
Remediation:
1. sudo vi /etc/pam.d/screensaver
2. Locate account required pam_group.so no_warn group=admin,wheel fail_safe
3. Remove "admin,"
4. Save
Impact:
86 | P a g e
While Fast user switching is a workaround for some lab environments especially where
there is even less of an expectation of privacy this setting change may impact some
maintenance workflows
Level 1
Description:
An access warning informs the user that the system is reserved for authorized use only,
and that the use of the system may be monitored.
Rationale:
An access warning may reduce a casual attacker's tendency to target the system. Access
warnings may also aid in the prosecution of an attacker by evincing the attacker's
knowledge of the system's private status, acceptable use policy, and authorization
requirements.
Audit:
Remediation:
Impact:
87 | P a g e
If users are not informed of their responsibilities there may be unapproved activity. Users
that are not approved for access may take the lack of a warning banner as implied consent
to access.
Level 2
Description:
A Login window banner warning informs the user that the system is reserved for
authorized use only. It enforces an acknowledgment by the user that they have been
informed of the use policy in the banner if required
Rationale:
An access warning may reduce a casual attacker's tendency to target the system. Access
warnings may also aid in the prosecution of an attacker by evincing the attacker's
knowledge of the system's private status, acceptable use policy, and authorization
requirements.
Audit:
cat /Library/Security/PolicyBanner.txt
Remediation:
Impact:
Users will have to click on the window with the Login text before logging into the computer
Level 1
88 | P a g e
Description:
Password hints help the user recall their passwords for various systems and/or accounts.
In most cases, password hints are simple and closely related to the user's password.
Rationale:
Password hints that are closely related to the user's password are a security vulnerability,
especially in the social media age. Unauthorized users are more likely to guess a user's
password if there is a password hint. The password hint is very susceptible to social
engineering attacks and information exposure on social media networks
Audit:
Remediation:
Level 2
Description:
Fast user switching allows a person to quickly log in to the computer with a different
account. While only a minimal security risk, when a second user is logged in, that user
might be able to see what processes the first user is using, or possibly gain other
information about the first user. In a large directory environment where it is difficult to
limit login access many valid users can login to other user's assigned computers.
Rationale:
89 | P a g e
Fast user switching allows multiple users to run applications simultaneously at console.
There can be information disclosed about processes running under a different user.
Without a specific configuration to save data and log out users can have unsaved data
running in a background session that is not obvious.
Audit:
In System Preferences: Accounts, Login Options, make sure the "Enable fast user switching"
checkbox is off.
Remediation:
In System Preferences: Accounts, Login Options, make sure the "Enable fast user switching"
checkbox is off.
Impact:
Where support staff visit users computers consoles they will not be able to log in to their
own session if there is an active and locked session.
Level 2
Description:
By default, the keychain for an account, especially a local account, have the same password
as the account's logon password. It is possible to change the passwords on keychains to
something different than the login password, and doing so would keep that keychain locked
until needed after login. This is especially important when a smartcard is being used for
console login. Keychains need to be protected by more than a pin in order to be secured
and the default behavior with a smartcard will result in a pin for the login password.
Individual keychain entries can have special ACLs to increase security as well.
Rationale:
Each keychain entry can have different access controls. It's possible to set the keychain
item to require a keychain password every time an item is accessed, even if the keychain is
unlocked. This level of security could be useful for bank passwords or other passwords that
need extra security.
Audit:
90 | P a g e
1. Open Utilities
2. Select Keychain Access
3. Double-click keychain
4. Select Access Control
5. Verify if the box next to "Ask for Keychain Password" is checked
Remediation:
1. Open Utilities
2. Select Keychain Access
3. Double-click keychain
4. Select Access Control
5. Check box next to "Ask for Keychain Password"
Impact:
Having to enter the keychain password for each access could become inconvenient and/or
tedious for users.
Level 2
Description:
The keychain is a secure database store for passwords and certificates and is created for
each user account on Mac OS X. The system software itself uses keychains for secure
storage. Users can create more than one keychain to protect various passwords separately.
Rationale:
If the user can logically split password and other entries into different keychains with
different passwords, a compromise of one password will have limited effect.
Audit:
1. Open Utilities
2. Select Keychain Access
3. Verify there are multiple keychains listed under Keychains on the upper lefthand
side of the window
Remediation:
91 | P a g e
1. Open Utilities
2. Select Keychain Access
3. Select File
4. Select New Keychain
5. Input name of new keychain next to Save As
6. Select Create
7. Drag and drop desired keychain items into new keychain from login keychain
Impact:
Using multiple keychains can be inconvenient. It is also not necessarily possible for all
kinds of data, such as Safari auto-fill information, to be stored in secondary keychains. Not
all keychain-aware applications may provide an interface to choose secondary keychains.
Level 1
Description:
Rationale:
Running with System Integrity Protection on a production system runs the risk of
modification system binaries or code injection of system processes.
Audit:
92 | P a g e
Remediation:
4. Reboot.
If a change is to the status is attempted from the booted Operating System rather than the
recovery partition an error will be generated.
csrutil: failed to modify system integrity configuration. This tool needs to be
executed from the Recovery OS.
Impact:
Level 2
Description:
US Federal government systems as well as many others are requiring the use of smartcards
for user authentication. In order to enable this functionality for console authentication as
well as authentication through the browser or VPN client a middleware package that
contains a "tokend" is used on OS X.
https://smartcardservices.macosforge.org/
93 | P a g e
If your organization requires the use of a smartcard this control checks whether a tokend is
in place. If your organization is not using smartcards or smartcard middleware that does
not use tokend this control should not be scored.
Rationale:
Audit:
Remediation:
Install the appropriate tokend middleware installer for MacOS Forge or third party vendor.
https://smartcardservices.macosforge.org/
94 | P a g e
6 User Accounts and Environment
Account management is a central part of security for any computer system including OS X.
General practices should be followed to ensure that all accounts on a system are still
needed and that default accounts should be removed. Users with admin roles should have
distinct accounts for Admin functions as well as day to day work where the passwords are
different and known only by the user assigned to the account. Accounts with Elevated
privileges should not be easily discerned from the account name from standard accounts.
When any computer system is added to a Directory System there are additional controls
available including user account management that are not available in a standalone
computer. One of the drawbacks is the local computer is no longer in control of the
accounts that can access or manage it if given permission. For OS X if the computer is in a
Directory any standard user can now login to the computer at console which by default
may be desirable or not depending on the use case. If an admin group is allowed to
administer the local computer the membership of that group is controlled completely in the
Directory.
Level 1
Description:
The login window prompts a user for his/her credentials, verifies their authorization level
and then allows or denies the user access to the system.
Rationale:
95 | P a g e
Prompting the user to enter both their username and password makes it twice as hard for
unauthorized users to gain access to the system since they must discover two attributes.
Audit:
Remediation:
Alternatively:
Level 1
Description:
Password hints are user created text displayed when an incorrect password is used for an
account.
Rationale:
Password hints make it easier for unauthorized persons to gain access to systems by
providing information to anyone that the user provided to assist remembering the
96 | P a g e
password. This info could include the password itself or other information that might be
readily discerned with basic knowledge of the end user.
Audit:
Remediation:
Alternatively:
Impact:
The user can set the hint to any value including the password itself or clues that allow
trivial social engineering attacks.
Level 1
Description:
97 | P a g e
The guest account allows users access to the system without having to create an account or
password. Guest users are unable to make setting changes, cannot remotely login to the
system and all created files, caches, and passwords are deleted upon logging out.
Rationale:
Disabling the guest account mitigates the risk of an untrusted user doing basic
reconnaissance and possibly using privilege escalation attacks to take control of the
system.
Audit:
Remediation:
Alternatively:
Impact:
A guest user can use that access to find out additional information about the system and
might be able to use privilege escalation vulnerabilities to establish greater access.
98 | P a g e
Level 1
Description:
Allowing guests to connect to shared folders enables users to access selected shared folders
and their contents from different computers on a network.
Rationale:
Not allowing guests to connect to shared folders mitigates the risk of an untrusted user
doing basic reconnaissance and possibly use privilege escalation attacks to take control of
the system.
Audit:
Remediation:
Alternatively:
99 | P a g e
For AFP sharing:
Impact:
Level 1
Description:
A filename extension is a suffix added to a base filename that indicates the base filename's
file format.
Rationale:
Visible filename extensions allows the user to identify the file type and the application it is
associated with which leads to quick identification of misrepresented malicious files.
Audit:
100 | P a g e
Be aware that this is a user level configuration item and it should be configured correctly
for every user of the computer. The control check in CIS-CAT will check for the
correct configuration for every active user.
Remediation:
1. Select Finder
2. Select Preferences
3. Check Show all filename extensions
Impact:
The user of the system can open files of unknown or unexpected filetypes if the extension is
not visible.
Level 1
Description:
Safari will automatically run or execute what it considers safe files. This can include
installers and other files that execute on the operating system. Safari bases files safety on
the files type. The files considered safe include word files, PDF documents, and picture
files.
Rationale:
Hackers have taken advantage of this setting via drive-by attacks. These attacks occur
when a user visits a legitimate website that has been corrupted. The user unknowingly
downloads a malicious file either by closing an infected pop-up or hovering over a
malicious banner. The attackers make sure that the malicious file type will fall within
Safari's safe files policy and will download and run without user input.
Audit:
Remediation:
1. Open Safari
2. Select Safari from the menu bar
3. Select Preferences
4. Select General
5. Uncheck Open "safe" files after downloading
Impact:
Apple considers many files that the operating system itself auto-executes as "safe files."
Many of these files could be malicious and could execute locally without the user even
knowing that a file of a specific type had been download.
6.4 Use parental controls for systems that are not centrally managed
(Not Scored)
Profile Applicability:
Level 2
Description:
Many aspects and features of OS X can be restricted on a user-by-user basis via the Parental
Controls feature. This includes computer usage time limits, application accessibility
limitations, and website restrictions. Although this feature is called Parental Controls, these
restrictions may be appropriate for corporate, government, or educational use.
Rationale:
Limiting usage and restricting features for managed users reduces the risk of the user
and/or system being exposed to malicious and/or inappropriate content.
102 | P a g e
Audit:
Remediation:
Impact:
The extensive use of parental controls adds to the configuration management burden and
can limit legitimate user activity.
Level 2
Description:
Some organizations have comprehensive rules that cover the use of wireless technologies
in order to implement operational security. There are specific policies governing the use of
both Bluetooth and Wi-Fi (802.11) that often include disabling the wireless capability in
either software or hardware or both.
Wireless access is part of the feature set required for mobile computers and is considered
essential for most users. The general use case for OS X is to use wireless connectivity,
103 | P a g e
Apple provides a wireless network card and Bluetooth capability in almost every product
they make. Bluetooth keyboards are now the default selection where a keyboard is not
already integrated into the device.
There are instructions on how to remove parts of the operating system in order to
remediate wireless connectivity but they are not recommended within the scope of this
Benchmark.
https://apple.stackexchange.com/questions/99686/how-to-easily-and-completely-
disable-enable-wlan-so-it-cannot-be-turned-on-agai
https://apple.stackexchange.com/questions/123326/disable-bluetooth-permanently
Mac OS X 10.11 computers will not allow this if System Integrity Protection is enabled.
Rationale:
Audit:
Remediation:
Level 2
Description:
If the computer is present in an area where there are privacy concerns or sensitive images
or actions are taking place the camera should be covered at those times. A permanent cover
or alteration may be required when the computer is always located in a confidential area.
Malware is continuously discovered that circumvents the privacy controls of the built-in
camera. No computer has perfect security and it seems likely that even if all the drivers are
disabled or removed that working drivers can be re-introduced by a determined attacker.
At this point video chatting and other uses of the built-in camera are standard uses for a
computer. It is contrary to a standard use case to permanently remove the camera. In cases
where the camera is not allowed to be used at all or when the computer is located in
private areas additional precautions are warranted. The General rule should be that if the
104 | P a g e
camera can capture images that could cause embarrassment or an adverse impact the
camera should be covered until it is appropriate to use.
Rationale:
Audit:
Remediation:
Level 2
Description:
If the computer is used in an organization that assigns host names, it is a good idea to
change the computer name to the host name. This is more of a best practice than a security
measure. If the host name and the computer name are the same, computer support may be
able to track problems down more easily.
With mobile devices using DHCP IP tracking has serious drawbacks, hostname or computer
name tracking makes much more sense for those organizations that can implement it. If the
computer is using different names for the "Computer Name" DNS and Directory
environments it can be difficult to manage Macs in an Enterprise asset inventory.
Rationale:
Audit:
Remediation:
Level 2
Description:
With the introduction of Mac OS X 10.6.6, Apple added a new application, App Store, which
resides in the Applications directory. This application allows a user with admin privileges
and an Apple ID to browse Apple's online App Store, purchase (including no cost
purchases), and install new applications, bypassing corporate software inventory controls.
105 | P a g e
Any admin user can install software in the /Applications directory whether from internet
downloads, thumb drives, optical media, cloud storage or even binaries through email.
Even standard users can run executables if permitted. The source of the software is not
nearly as important as a consistent audit of all installed software for patch compliance and
appropriateness.
A single user desktop where the user, administrator and the person approving software are
all the same person probably does not need to audit software inventory to this extent. It is
helpful in the case of stability problems or malware however.
Scan systems on a monthly basis and determine the number of unauthorized pieces of
software that are installed. Verify that if an unauthorized piece of software is found one
month, it is removed from the system the next.
Export Apple System Profiler information through the built-in or other third party tools on
an organizationally defined timetable.
Rationale:
Audit:
Remediation:
Level 2
Description:
In addition to the Application Layer Firewall (alf) mentioned in the benchmark, OSX also
ships with packet filter, or pf. Leveraging pf is beyond the scope of this Benchmark. For
more information, please see:
https://support.apple.com/kb/ht5519
http://blog.scottlowe.org/2013/05/15/using-pf-on-os-x-mountain-lion/
Rationale:
Audit:
Remediation:
106 | P a g e
7.6 Automatic Actions for Optical Media (Not Scored)
Profile Applicability:
Level 1
Description:
Managing automatic actions, while useful in very few situations, is unlikely to increase
security on the computer and does complicate the users experience and add additional
complexity to the configuration. These settings are user controlled and can be changed
without Administrator privileges unless controlled through MCX settings or Parental
Controls. Unlike Windows Auto-run the optical media is accessed through Operating
System applications, those same applications can open and access the media directly. If
optical media is not allowed in the environment the optical media drive should be disabled
in hardware and software
Rationale:
Audit:
Remediation:
Level 2
Description:
With 10.9 Apple has expanded the capability of the App Store to automatically download
OS X applications that were purchased in the App Store on another Mac. This feature can be
very desirable for personal Macs or in a small business setting so that all purchased
software through Apple's App Store is provisioned on all OS X Computers, just like iOS. This
feature may not be desirable in Corporate environments where the expectations of
handling software licenses, tracking software inventory and personal software are
different.
107 | P a g e
Please evaluate your organizations expectations about the use of personal software and
software license tracking to align with this setting.
For those organizations that are using Enterprise Apple IDs for their employees the reverse
is true. If the user has the username and password for their Apple ID and software is being
purchased on that account the user could download the software on other computers they
have access to.
Rationale:
Audit:
Remediation:
Level 2
Description:
EFI is the software link between the motherboard hardware and the software operating
system. EFI determines which partition or disk to load Mac OS X from, it also determines
whether the user can enter single-user mode. The main reasons to set a firmware password
have been protections against an alternative boot disk, protection against a passwordless
root shell through single user mode and protection against firewire DMA attacks. In the
past it was not difficult to reset the firmware password by removing RAM but it did make
tampering slightly harder and having to remove RAM remediated memory scraping attacks
through DMA. It has always been difficult to Manage the firmware password on OS X
computers, though some tools did make it much easier.
Apple patched OS X in 10.7 to mitigate the DMA attacks and the use of FileVault 2 Full-Disk
Encryption mitigates the risk of damage to the boot volume if an unauthorized user uses a
different boot volume or uses Single User Mode. Apple's reliance on the recovery partition
and the additional features it provides make controls that do not allow the user to boot into
the recovery partition less attractive.
Starting in Late 2010 with the MacBook Air Apple has slowly updated the requirements to
recover from a lost firmware password. Apple only supports taking the computer to an
Apple authorized service provider. This change makes managing the firmware password
well if used more critical.
108 | P a g e
Setting the firmware password may be good practice in some environments. We cannot
recommend it as a standard security practice at this time.
http://support.apple.com/kb/ts3554
https://jamfnation.jamfsoftware.com/article.html?id=58
http://derflounder.wordpress.com/2012/02/05/protecting-yourself-against-firewire-
dma-attacks-on-10-7-x/
http://derflounder.wordpress.com/2013/04/26/booting-into-single-user-mode-on-a-
filevault-2-encrypted-mac/
Rationale:
Audit:
Remediation:
Level 2
Description:
Apple has a service that will allow a user that has turned it on to reset their login password
by signing in to Apple with their Apple ID. This sounds like a service that needs to be
explicitly turned off in an Enterprise environment. There are however many factors here.
The main use case I see for disabling this service is where you are not using FileVault to
encrypt the Mac but are using Firmware controls to limit boot options with local accounts.
Otherwise the user has other options for resetting a password that are more time
consuming but just as effective when they have physical access to the computer.
Rationale:
109 | P a g e
Audit:
Remediation:
Level 1
Description:
With the introduction of System Integrity Protection (SIP) Apple has removed the necessity
of repairing permissions. In earlier versions of the Operating System repair permissions
checked the receipt files of installed software and ensured that the existing permissions in
the file system matched what the receipts said it should. System integrity protection
manages and blocks permission to certain directories continuously.
Rationale:
Audit:
Remediation:
Level 2
Description:
With OS X 10.11 Apple has added settings for password storage for the App Store in OS X.
These settings parallel the settings in iOS. As with iOS the choices are a requirement to
provide a password after every purchase or to have a 15 minute grace period, and whether
to require a password for free purchases. The response to this setting is stored in a cookie
and processed by iCloud.
110 | P a g e
There is plenty of risk information on the wisdom of this setting for parents with children
buying games on iPhones and iPads. the most relevant information here is the likelihood
that users that are not authorized to download software may have physical access to an
unlocked computer where someone who is authorized recently made a purchase. If that is a
concern a password should be required at all times for App Store access in the Password
Settings controls
Rationale:
Audit:
Remediation:
8 Artifacts
Additional materials for a compliant configuration
Level 1
Description:
bash-3.2# pwpolicy -getaccountpolicies
Getting global account policies
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>policyCategoryAuthentication</key>
<array>
<dict>
<key>policyContent</key>
<string>(policyAttributeFailedAuthentications <
policyAttributeMaximumFailedAuthentications) or (policyAttributeCurrentTime >
policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds)</string>
<key>policyIdentifier</key>
<string>com.apple.maximumFailedLoginAttempts</string>
<key>policyParameters</key>
<dict>
<key>autoEnableInSeconds</key>
<integer>60</integer>
<key>policyAttributeMaximumFailedAuthentications</key>
<integer>5</integer>
</dict>
</dict>
</array>
<key>policyCategoryPasswordChange</key>
<array>
111 | P a g e
<dict>
<key>policyContent</key>
<string>policyAttributeCurrentTime > policyAttributeLastPasswordChangeTime +
policyAttributeExpiresEveryNDays * 24 * 60 * 60</string>
<key>policyIdentifier</key>
<string>com.apple.changeEveryNDays</string>
<key>policyParameters</key>
<dict>
<key>policyAttributeExpiresEveryNDays</key>
<integer>60</integer>
</dict>
</dict>
</array>
<key>policyCategoryPasswordContent</key>
<array>
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches '.{15,}+'</string>
<key>policyContentDescription</key>
<dict>
<key>de</key>
<string>Das Passwort muss mindestens 15 Zeichen lang sein</string>
<key>default</key>
<string>Password must be a minimum of 15 characters in length</string>
<key>en</key>
<string>Password must be a minimum of 15 characters in length</string>
<key>es</key>
<string>La contraseña debe tener como mínimo 15 caracteres</string>
<key>fr</key>
<string>Le mot de passe doit contenir au moins 15 caractères</string>
<key>it</key>
<string>La password deve contenere almeno 15 caratteri</string>
<key>ja</key>
<string>パスワードは半角英数字で 15 文字以上でなければなりません</string>
<key>ko</key>
<string>암호는 최소 15 자 이상이어야 합니다.</string>
<key>nl</key>
<string>Het wachtwoord moet minimaal 15 tekens lang zijn</string>
<key>zh-Hans</key>
<string>密码长度必须至少为 15 个字符</string>
<key>zh-Hant</key>
<string>密碼的長度最少必須為 15 個字元</string>
</dict>
<key>policyIdentifier</key>
<string>com.apple.minimumPasswordLength</string>
<key>policyParameters</key>
<dict>
<key>minimumPasswordLength</key>
<integer>15</integer>
</dict>
</dict>
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches '(.*[A-Z].*[a-z].*)|(.*[a-z].*[A-
Z].*)'</string>
<key>policyContentDescription</key>
<dict>
<key>de</key>
<string>Das Passwort muss sowohl Groß- als auch Kleinbuchstaben
enthalten</string>
<key>default</key>
<string>Password must have both uppercase and lowercase letters</string>
112 | P a g e
<key>en</key>
<string>Password must have both uppercase and lowercase letters</string>
<key>es</key>
<string>La contraseña debe tener letras mayúsculas y minúsculas</string>
<key>fr</key>
<string>Le mot de passe doit contenir des majuscules et des
minuscules</string>
<key>it</key>
<string>La password deve contenere lettere maiuscole e minuscole</string>
<key>ja</key>
<string>パスワードには大文字と小文字の両方を含める必要があります</string>
<key>ko</key>
<string>암호는 대문자 및 소문자를 모두 포함해야 합니다.</string>
<key>nl</key>
<string>Het wachtwoord moet hoofdetters en kleine letters bevatten</string>
<key>zh-Hans</key>
<string>密码必须包含大写字母和小写字母</string>
<key>zh-Hant</key>
<string>密碼必須有大寫及小寫字母</string>
</dict>
<key>policyIdentifier</key>
<string>com.apple.uppercaseAndLowercase</string>
</dict>
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches '(.*[A-Za-z].*){1,}'</string>
<key>policyContentDescription</key>
<dict>
<key>de</key>
<string>Das Passwort muss mindestens 1 Buchstaben enthalten</string>
<key>default</key>
<string>Password must have at least 1 letter</string>
<key>en</key>
<string>Password must have at least 1 letter</string>
<key>es</key>
<string>La contraseña debe tener como mínimo 1 letra</string>
<key>fr</key>
<string>Le mot de passe doit contenir au moins 1 lettre</string>
<key>it</key>
<string>La password deve contenere almeno 1 lettera</string>
<key>ja</key>
<string>パスワードには 1 文字以上の英字を含める必要があります</string>
<key>ko</key>
<string>암호는 최소 1 자의 문자를 포함해야 합니다.</string>
<key>nl</key>
<string>Het wachtwoord moet minimaal 1 letter bevatten</string>
<key>zh-Hans</key>
<string>密码必须包含至少 1 个字母</string>
<key>zh-Hant</key>
<string>密碼至少必須有 1 個字母</string>
</dict>
<key>policyIdentifier</key>
<string>com.apple.minimumLetters</string>
<key>policyParameters</key>
<dict>
<key>minimumLetters</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches '(.*[0-9].*){1,}'</string>
113 | P a g e
<key>policyContentDescription</key>
<dict>
<key>de</key>
<string>Das Passwort muss mindestens 1 Ziffer enthalten</string>
<key>default</key>
<string>Password must have at least 1 number</string>
<key>en</key>
<string>Password must have at least 1 number</string>
<key>es</key>
<string>La contraseña debe tener como mínimo 1 número</string>
<key>fr</key>
<string>Le mot de passe doit contenir au moins 1 chiffre</string>
<key>it</key>
<string>La password deve contenere almeno 1 numero</string>
<key>ja</key>
<string>パスワードには 1 個以上の数字を含める必要があります</string>
<key>ko</key>
<string>암호는 최소 1 자의 숫자를 포함해야 합니다.</string>
<key>nl</key>
<string>Het wachtwoord moet minimaal 1 cijfer bevatten</string>
<key>zh-Hans</key>
<string>密码必须包含至少 1 个数字</string>
<key>zh-Hant</key>
<string>密碼至少必須有 1 個數字</string>
</dict>
<key>policyIdentifier</key>
<string>com.apple.minimumNumerics</string>
<key>policyParameters</key>
<dict>
<key>minimumNumerics</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches '(.*[^A-Za-z0-9].*){1,}'</string>
<key>policyContentDescription</key>
<dict>
<key>de</key>
<string>Das Passwort muss mindestens 1 Sonderzeichen enthalten</string>
<key>default</key>
<string>Password must have at least 1 special character</string>
<key>en</key>
<string>Password must have at least 1 special character</string>
<key>es</key>
<string>La contraseña debe tener como mínimo 1 carácter especial</string>
<key>fr</key>
<string>Le mot de passe doit contenir au moins 1 caractère spécial</string>
<key>it</key>
<string>La password deve contenere almeno 1 carattere speciale</string>
<key>ja</key>
<string>パスワードには 1 個以上の特殊文字を含める必要があります</string>
<key>ko</key>
<string>암호는 최소 1 자의 특수 문자를 포함해야 합니다.</string>
<key>nl</key>
<string>Het wachtwoord moet minimaal 1 speciaal teken bevatten</string>
<key>zh-Hans</key>
<string>密码必须包含至少 1 个特殊字符</string>
<key>zh-Hant</key>
<string>密碼至少必須有 1 個特殊字元</string>
</dict>
<key>policyIdentifier</key>
114 | P a g e
<string>com.apple.minimumSpecialCharacters</string>
<key>policyParameters</key>
<dict>
<key>minimumSpecialCharacters</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>policyContent</key>
<string>policyAttributePassword != policyAttributeRecordName</string>
<key>policyContentDescription</key>
<dict>
<key>de</key>
<string>Das Passwort muss sich vom Accountnamen unterscheiden</string>
<key>default</key>
<string>Password must differ from account name</string>
<key>en</key>
<string>Password must differ from account name</string>
<key>es</key>
<string>La contraseña debe ser diferente del nombre de la cuenta</string>
<key>fr</key>
<string>Le mot de passe doit être différent du nom du compte</string>
<key>it</key>
<string>La password deve essere diversa dal nome dell'account</string>
<key>ja</key>
<string>パスワードをアカウント名と同じにはできません</string>
<key>ko</key>
<string>암호는 계정 이름과 달라야 합니다.</string>
<key>nl</key>
<string>Het wachtwoord mag niet hetzelfde zijn als de accountnaam</string>
<key>zh-Hans</key>
<string>密码必须与帐户名称不同</string>
<key>zh-Hant</key>
<string>密碼必須不同於帳號名稱</string>
</dict>
<key>policyIdentifier</key>
<string>com.apple.passwordDiffersFromName</string>
</dict>
<dict>
<key>policyContent</key>
<string>none policyAttributePasswordHashes in
policyAttributePasswordHistory</string>
<key>policyContentDescription</key>
<dict>
<key>de</key>
<string>Das Passwort muss sich von den letzten 15 Passwörtern
unterscheiden</string>
<key>default</key>
<string>Password must differ from past 15 passwords</string>
<key>en</key>
<string>Password must differ from past 15 passwords</string>
<key>es</key>
<string>La contraseña debe ser diferente de las últimas 15
contraseñas</string>
<key>fr</key>
<string>Le mot de passe doit être différent des 15 derniers mots de
passe</string>
<key>it</key>
<string>La password deve essere diversa dalle ultime 15 password</string>
<key>ja</key>
<string>パスワードは過去に使用した 15 個のパスワードと同じにはできません</string>
<key>ko</key>
115 | P a g e
<string>암호는 이전 15 암호와 달라야 합니다.</string>
<key>nl</key>
<string>Het wachtwoord mag niet hetzelfde zijn als de vorige 15
wachtwoorden</string>
<key>zh-Hans</key>
<string>密码必须与之前的 15 个密码不同</string>
<key>zh-Hant</key>
<string>密碼必須不同於前 15 組密碼</string>
</dict>
<key>policyIdentifier</key>
<string>com.apple.passwordDiffersFromPastNPasswords</string>
<key>policyParameters</key>
<dict>
<key>policyAttributePasswordHistoryDepth</key>
<integer>15</integer>
</dict>
</dict>
</array>
</dict>
</plist>
Rationale:
Audit:
Remediation:
Level 1
Description:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>policyCategoryAuthentication</key>
<array>
<dict>
<key>policyContent</key>
<string>policyAttributeFailedAuthentications <
policyAttributeMaximumFailedAuthentications</string>
<key>policyIdentifier</key>
<string>com.apple.policy.legacy.maxFailedLoginAttempts</string>
<key>policyParameters</key>
<dict>
<key>policyAttributeMaximumFailedAuthentications</key>
<integer>5</integer>
</dict>
</dict>
116 | P a g e
<key>policyCategoryPasswordContent</key>
<string>policyAttributePassword matches ‘.{15,}+’</string>
<key>policyIdentifier</key>
<string>com.apple.policy.legacy.minChars</string>
<key>policyParameters</key>
<dict>
<key>minimumLength</key>
<integer>15</integer>
</dict>
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches ‘.{15,}+’</string>
<key>policyIdentifier</key>
<string>com.apple.policy.legacy.minChars</string>
<key>policyParameters</key>
<dict>
<key>minimumLength</key>
<integer>15</integer>
</dict>
</dict>
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches '(.*[a-zA-Z].*){1,}+'</string>
<key>policyIdentifier</key>
<string>com.apple.policy.legacy.requiresAlpha</string>
<key>policyParameters</key>
<dict>
<key>minimumAlphaCharacters</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches '(.*[0-9].*){1,}+'</string>
<key>policyIdentifier</key>
<string>com.apple.policy.legacy.requiresNumeric</string>
<key>policyParameters</key>
<dict>
<key>minimumNumericCharacters</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>policyContent</key>
<string>policyAttributePassword matches '(.*[`~!@#$%^&*()_+-
={}|\[\]\\:";'<>?,./].*){1,}+'</string>
<key>policyIdentifier</key>
<string>com.apple.policy.legacy.requiresSymbol</string>
<key>policyParameters</key>
<dict>
<key>minimumSymbolCharacters</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</plist>
Rationale:
Audit:
117 | P a g e
Remediation:
Control Set
Correctly
Yes No
1 Install Updates, Patches and Additional Security Software
1.1 Verify all Apple provided software is current (Scored)
1.2 Enable Auto Update (Scored)
1.3 Enable app update installs (Scored)
1.4 Enable system data files and security update installs (Scored)
1.5 Enable OS X update installs (Scored)
2 System Preferences
2.1 Bluetooth
2.1.1 Turn off Bluetooth, if no paired devices exist (Scored)
2.1.2 Turn off Bluetooth "Discoverable" mode when not pairing devices
(Scored)
2.1.3 Show Bluetooth status in menu bar (Scored)
2.2 Date & Time
2.2.1 Enable "Set time and date automatically" (Not Scored)
2.2.2 Ensure time set is within appropriate limits (Scored)
2.3 Desktop & Screen Saver
2.3.1 Set an inactivity interval of 20 minutes or less for the screen saver
(Scored)
2.3.2 Secure screen saver corners (Scored)
2.3.3 Verify Display Sleep is set to a value larger than the Screen Saver
(Not Scored)
2.3.4 Set a screen corner to Start Screen Saver (Scored)
2.4 Sharing
2.4.1 Disable Remote Apple Events (Scored)
2.4.2 Disable Internet Sharing (Scored)
2.4.3 Disable Screen Sharing (Scored)
2.4.4 Disable Printer Sharing (Scored)
2.4.5 Disable Remote Login (Scored)
2.4.6 Disable DVD or CD Sharing (Scored)
2.4.7 Disable Bluetooth Sharing (Scored)
2.4.8 Disable File Sharing (Scored)
2.4.9 Disable Remote Management (Scored)
2.5 Energy Saver
2.5.1 Disable "Wake for network access" (Scored)
2.5.2 Disable sleeping the computer when connected to power (Scored)
2.6 Security & Privacy
118 | P a g e
2.6.1 Enable FileVault (Scored)
2.6.2 Enable Gatekeeper (Scored)
2.6.3 Enable Firewall (Scored)
2.6.4 Enable Firewall Stealth Mode (Scored)
2.6.5 Review Application Firewall Rules (Scored)
2.7 iCloud
2.7.1 iCloud configuration (Not Scored)
2.7.2 iCloud keychain (Not Scored)
2.7.3 iCloud Drive (Not Scored)
2.8 Pair the remote control infrared receiver if enabled (Scored)
2.9 Enable Secure Keyboard Entry in terminal.app (Scored)
2.10 Java 6 is not the default Java runtime (Scored)
2.11 Securely delete files as needed (Not Scored)
3 Logging and Auditing
3.1 Configure asl.conf
3.1.1 Retain system.log for 90 or more days (Scored)
3.1.2 Retain appfirewall.log for 90 or more days (Scored)
3.1.3 Retain authd.log for 90 or more days (Scored)
3.2 Enable security auditing (Scored)
3.3 Configure Security Auditing Flags (Scored)
3.4 Enable remote logging for Desktops on trusted networks (Not
Scored)
3.5 Retain install.log for 365 or more days (Scored)
4 Network Configurations
4.1 Disable Bonjour advertising service (Scored)
4.2 Enable "Show Wi-Fi status in menu bar" (Scored)
4.3 Create network specific locations (Not Scored)
4.4 Ensure http server is not running (Scored)
4.5 Ensure ftp server is not running (Scored)
4.6 Ensure nfs server is not running (Scored)
5 System Access, Authentication and Authorization
5.1 File System Permissions and Access Controls
5.1.1 Secure Home Folders (Scored)
5.1.2 Check System Wide Applications for appropriate permissions
(Scored)
5.1.3 Check System folder for world writable files (Scored)
5.1.4 Check Library folder for world writable files (Scored)
5.2 Password Management
5.2.1 Configure account lockout threshold (Scored)
5.2.2 Set a minimum password length (Scored)
5.2.3 Complex passwords must contain an Alphabetic Character
(Scored)
5.2.4 Complex passwords must contain a Numeric Character (Scored)
119 | P a g e
5.2.5 Complex passwords must contain a Special Character (Scored)
5.2.6 Complex passwords must uppercase and lowercase letters
(Scored)
5.2.7 Password Age (Scored)
5.2.8 Password History (Scored)
5.3 Reduce the sudo timeout period (Scored)
5.4 Automatically lock the login keychain for inactivity (Scored)
5.5 Ensure login keychain is locked when the computer sleeps
(Scored)
5.6 Enable OCSP and CRL certificate checking (Scored)
5.7 Do not enable the "root" account (Scored)
5.8 Disable automatic login (Scored)
5.9 Require a password to wake the computer from sleep or screen
saver (Scored)
5.10 Require an administrator password to access system-wide
preferences (Scored)
5.11 Disable ability to login to another user's active and locked session
(Scored)
5.12 Create a custom message for the Login Screen (Scored)
5.13 Create a Login window banner (Scored)
5.14 Do not enter a password-related hint (Not Scored)
5.15 Disable Fast User Switching (Not Scored)
5.16 Secure individual keychains and items (Not Scored)
5.17 Create specialized keychains for different purposes (Not Scored)
5.18 System Integrity Protection status (Scored)
5.19 Install an approved tokend for smartcard authentication (Not
Scored)
6 User Accounts and Environment
6.1 Accounts Preferences Action Items
6.1.1 Display login window as name and password (Scored)
6.1.2 Disable "Show password hints" (Scored)
6.1.3 Disable guest account login (Scored)
6.1.4 Disable "Allow guests to connect to shared folders" (Scored)
6.2 Turn on filename extensions (Scored)
6.3 Disable the automatic run of safe files in Safari (Scored)
6.4 Use parental controls for systems that are not centrally managed
(Not Scored)
7 Appendix: Additional Considerations
7.1 Wireless technology on OS X (Not Scored)
7.2 iSight Camera Privacy and Confidentiality Concerns (Not Scored)
7.3 Computer Name Considerations (Not Scored)
7.4 Software Inventory Considerations (Not Scored)
7.5 Firewall Consideration (Not Scored)
120 | P a g e
7.6 Automatic Actions for Optical Media (Not Scored)
7.7 App Store Automatically download apps purchased on other Macs
Considerations (Not Scored)
7.8 Extensible Firmware Interface (EFI) password (Not Scored)
7.9 Apple ID password reset (Not Scored)
7.10 Repairing permissions is no longer needed with 10.11 (Not
Scored)
7.11 App Store Password Settings (Not Scored)
8 Artifacts
8.1 Password Policy Plist generated through OS X Server (Not Scored)
8.2 Password Policy Plist from man page (Not Scored)
121 | P a g e
Appendix: Change History
Date Version Changes for this version
122 | P a g e