![]() | ![]() |
Home |
|
|
Security Administration Guide |
|
| Chapter 1: Overview of Security Functions Provided by SQL Server |
SQL Server is a database management system that is targeted for evaluation at the Class C2 criteria. The requirements for the C2 criteria are given by the Department of Defense in DOD 52.00.28-STD, Department of Defense Trusted Computer System Evaluation Criteria (TCSEC), also known as the "Orange Book."
The TCSEC defines a Trusted Computing Base (TCB) to be the collection of computer system protection mechanisms that are responsible for enforcing a security policy. SQL Server's TCB is a composite computing base that includes the operating system platform as a component. The SQL Server's TCB includes the underlying operating system, the server's executable code, internal data such as system databases and catalogs, Backup ServerTM, and isql and bcp (when these utilities are used as administrative interfaces).
Users interact with the TCB via:
SQL Server provides a number of security features that help you to protect sensitive data from inappropriate access and unauthorized disclosure. The major features are summarized in Table 1-1.
Security Feature | What It Is-In Short |
|---|---|
Discretionary access controls (DAC) | Provides access controls that give object owners the ability to restrict access to objects, usually with the grant and revoke commands. This type of control is dependent upon an object owner's discretion. |
Identification and authentication controls | Ensures that only authorized users can log into the system. |
Division of roles | Allows you to grant privileged roles to specified users so that only designated users can perform critical management tasks. |
Auditing | Provides the capability to audit logins, logouts, server boot operations, remote procedure calls, role changes, privileged commands, system errors, access to databases, tables, views, and stored procedures, and all actions for a specific user. |
The following sections provide an overview of each major function and refer you to the chapter where the function is covered in detail.
The SQL commands grant and revoke provide discretionary protection to SQL commands and objects. Owners of objects can, at their discretion, grant access to the objects to other users. The object owners can also grant other users the ability to pass the access permission to other users. With SQL Server's discretionary access controls, you can give various kinds of permissions to users, groups, and roles with the grant command. The revoke command permits you to rescind these permissions. The grant and revoke commands give users permission to execute specified commands and to access specified tables, views, and columns.
Some commands can be used at any time by any user, with no permission required. Others can be used only by users of certain status (for example, only by a System Administrator) and are not transferable.
The ability to assign permissions for the commands that can be granted and revoked is determined by each user's status (as System Administrator, Database Owner, or database object owner), and by whether or not a particular user has been granted a permission with the option to grant that permission to other users.
Discretionary access controls are discussed fully in Chapter 6, "Managing User Permissions."
Every user in SQL Server is given a login account with a unique ID. All of that user's activity on the server can be attributed to his or her server user ID and audited.
SQL Server passwords must be six bytes or longer. They are stored in the master..syslogins table in encrypted form. In addition, when you log into SQL Server from a client, you can choose client-side password encryption to encrypt your password before sending it over the network.
Identification and authentication controls are discussed in Chapter 4, "Managing SQL Server Logins and Database Users" and, for remote servers, in Chapter 7, "Managing Remote Servers."
An important feature in SQL Server is the division of roles. The roles supported by SQL Server enable you to enforce and maintain individual accountability. Various security-related, administrative, and operational tasks are grouped into the following roles:
These roles provide individual accountability for users performing administrative tasks. Their actions can be audited and attributed to them. Division of roles is discussed fully in Chapter 5, "Roles in SQL Server."
A comprehensive audit system is provided with SQL Server. The audit system consists of a system database called sybsecurity and a set of system procedures that allow you to selectively set the audit options you need.
You can choose to audit the following:
Auditing functions are discussed fully in Chapter 8, "Auditing."
|
|