Download File - Information Systems Department
Transcript
174 Chapter 6 ■ Oracle Solaris Containers 6.1.2.1 Containers Security Boundary The basis for a Container’s security boundary is Solaris 10 privileges. Thus understanding the robust security boundary around Containers starts with an understanding of Solaris privileges. Oracle Solaris implements two sorts of rights management. User rights management determines which privileged commands a nonprivileged user might execute. Consider the popular sudo program as an example of this kind of rights management. Process rights management determines which low-level, fine-grained, system-call-level actions a process can carry out. Oracle Solaris privileges implement process rights management. Privileges are associated with specific actions—usually actions that are not typically permitted for non-root users. For example, there is a Solaris privilege associated with modification of the system’s time clock. Normally, only the root user is permitted to change the clock. Solaris privileges reduce security risks: Instead of giving a person the root password just so that the person can modify the system time clock, that person’s user account is given the appropriate privilege. The user is not permitted to perform any other actions typically reserved for the root user. Instead, the Solaris privileges allow the system administrator to grant a process just enough privilege to carry out its function but no more, thereby reducing the system’s exposure to security breach or accident. Thus, in contrast to the situation noted with earlier versions of Solaris and with many other UNIX-like operating systems, the root user in Oracle Solaris is able to perform any operation not because its UID number is zero, but rather because it has the required privileges. However, the root user can grant privileges to another user, enabling specific users to perform specific tasks or sets of tasks. When a process attempts to perform a privileged operation, the kernel determines whether the owner of the process has the privilege(s) required to perform the operation. If the user, and therefore the user’s process, has that privilege, the kernel permits that user to perform the associated operation. A Container has a specific configurable subset of all privileges. The default subset provides normal operations for the Container, and prevents the Container’s processes from learning about or interacting with other Containers’ users, processes, and devices. The root user in the Container inherits all of the privileges that the Container has. Non-root users in a Container have, by default, the same set of privileges that non-root users of the global zone have. The platform administrator—normally the root user of the global zone—can configure Containers as necessary, including increasing or decreasing the maximum set of privileges that a Container has. No user in that Container can exceed that maximum set—not even the Container’s root user. The root user of a Container can modify the set of privileges of users in that Container, but cannot modify the set of privileges that the Container can have. In other words, the maximum set of Download from www.wowebook.com