Setup guide

UNCLASSIFIED
UNCLASSIFIED
3
Chapter 2 -
Intro to Mac OS X Security
Chapter
2
Introduction to Mac OS X Security
Mac OS X v10.3.x (a.k.a. “Panther”) is the latest version of the Mac OS X operating
system as of the printing of this guidance. This system combines the GUI-based,
user-friendly features of the Macintosh operating system with the underlying
foundation of a BSD Unix system. This chapter provides a brief look at the security
features built into the Mac OS X system.
Multi-user, UNIX-based system
As stated above, the Mac OS X operating system was built with BSD Unix as a
major part of its foundation. The core of the operating system is called Darwin,
and is made up of two parts: the Mach kernel, and the BSD subsystem.
The Mach kernel and the BSD subsystem provide security features that were
unavailable on Mac OS 9 and earlier versions. The Mach kernel handles all
interaction with the system hardware, providing control and security over the
applications running on the system. In addition, the kernel also provides a modern
virtual memory system that provides each process with its own memory address
space. Applications can no longer interfere with the system memory space or the
memory space of other processes without special permissions, also controlled by the
system, or Darwin.
The BSD subsystem provides a multi-user environment, where each user has a
unique login ID and can be made a member of various groups. The system can then
use a user’s ID and group memberships to determine what the user is allowed to do
on the system. In this way, the system restricts a user’s ability to run privileged
processes and it controls access to system files. Users are protected from each other
this way as well.
Like most UNIX-based systems, Mac OS X has a super-user, or root account, which
is able to do basically anything on the system. Unlike most UNIX-based systems,
however, Mac OS X disables the root account by default. For any action that must be
performed by root, the administrator must either enter his administrator credential
(e.g. password, smart card) when prompted, or must enable the root account and
enter the root account id and password. This not only prevents users from
inadvertently performing system-level actions, but also provides an extra layer of
authentication needed to perform system level actions.
Another benefit to having the root account disabled is the effect on logging. Since a
user cannot log in as root directly if the root account is disabled, he must act as root