Ruihan Wang |
Like other database systems, the Teradata provides solutions for system
security. Security is the protection of data against unauthorized access. The
controls available to maintain Teradata security include:
Resource access control is one of the most important protections, the
Teradata provides software tools to enforce access restrictions, including user
identifiers, client identifiers, logon policies, password security, etc. Besides
the general methods, there are a number of add-on features to enhance Teradata
RDBMS security.
Resource Access
Control
There are two aspects of resource access control, controlling access to the
Teradata RDBMS and controlling data access. That means, we should not only be
able to prevent unauthorized persons from gaining access to stored data, but
also be able to restrict legitimate Teradata RDBMS users access to only those
resources they are authorized to use. There are three major phases of
system access control. First, identifying and verifying each parameter of the
logon request; second, identifying each session in association with the
conducting user, third, controlling user access to stored data during that
session.
Controlling Access to the Teradata RDBMS
Generally, controlling access to the Teradata RDBMS is based on logon process. It identifies the username and password, and acknowledges only users it recognizes as currently authorized to access the system. In addition, the Teradata RDBMS also can verify that the logon request originated from a client system connection such as LAN, WAN, or mainframe channel that has been specifically associated with the user name. The Teradata software tools supporting these controls including:
Besides the general features of these software tools which are also
applied in many other database systems, several password control features
enhance Teradata security as shown in the table.
| Password Feature |
|
|
| Expiration | Defines a time span which the password is valid. | DBC.SysSecDefaults table maintains a password change date, which will be compared to the current date to determine if the password is still valid. |
| Password Format | Restricts the number of characters, digits, or special characters permitted in a password. | Rules are identical to those for naming objects. |
| Maximum logon attempts | Defines the sequential number of erroneous logon attempts permitted before locking the user from further attempts. | If the number of erroneous logon attempts reaches the value specified in DBC. SysSecDefaults, the User ID is locked out from further attempts for the duration of the password lockout time. |
| Lockout time | Sets the time duration of the user lock after the user has exceeded the max. number of erroneous logon attempts. | The LockedUserExpire column of table DBC. SysSecDefaults contains the Lockout time value. |
| Reuse | Defines the time span that must elapse before a previously used password can be reassigned to the same user | The Department of Defense recommends that password not be reused for at least six months after expiration. The reuse denial period should be at least as long as the password lifetime. |
| Password Encryption | Storing Encrypted password characters. | The encrypted password is stored in the password string field of the DBC.DBase table. |
Password default are controlled by a row in the table underlying the system view DBC.SecurityDefaults. One row defines all default parameters. The current default settings by selecting all columns of the DBC.SecurityDefaults view as follows:
Upon successful logon, the user name is associated with a unique session
number and associated with a default storage area. The user activities during a
session will be controlled by the rules of Data Access control which is
associated with access right.
Controlling
Data Access
Controlling data access is mainly deal with access right. Access right are
granted in the following ways:
Automatic rights mean the system automatically grants to the creator of a
database, user, or object, and to a newly created user or database. For example,
a new user or database is automatically granted all rights on itself, like
create tables, views, and macros with in his own user space.
Implicit rights, also called ownership rights, are implicitly granted to the immediate owner and to all indirect owners. Ownership rights can not be revoked, but they are subject to logon control when access logging is specified for the particular right.
The GRANT and REVOKE statements are used for explicit rights, for example,
user A can create user B and grant explicit rights by the GRANT statement:
Examples
of GRANT and REVOKE statements and output
The user submitting the GRANT or REVOKE statement must be an owner of the
object, or must have the GRANT privilege, plus all of the privileges that are to
be conferred or revoked, on the object. DBC is the initial user in the Teradata
system, it has all privileges. When creating other users, DBC has the right to
grant any or all these privileges to any or all users.
Auditing and
Monitoring Access
Auditing and monitoring access to the Teradata RDBMS can provide security administrator system safety information on the following:
These information are important reference for establishing the security
policy.
The Teradata RDBMS supplies software tools for monitoring access information. Views in the Data Dictionary provide information about users and access rights and grant, logon and access activities. It can be used to automatically audit all logon and logoff activity, or access the specified attempts. For example, security administrator can monitor all access requests, or only those denied request, depending on the situations. During normal operations, data is selected from the auditing log using statements composed in the Teradata Structure Query Language (SQL). Queries regarding the use of system monitoring or production control features can be made much like other SELECT queries. All parameters of the SELECT statement may be used to query system views.
Sample
queries regarding system auditing and monitoring and outputs
BEGIN LOGGING and END LOGGING is the DDL statement, which start and stop the
auditing of data access requests, can be used to monitor the access rights
checks performed by the Teradata RDBMS. When a user named in a BEGIN LOGGING
statement attempts to execute a specified action against a specified object,
Teradata checks the access rights necessary to execute the statement according
to the rules in AccLogRulesTb1. The privilege checks made and/or the access
results are logged in the system table DBC.AccLogTb1. The BEGIN LONGGING
statement can request checks on type of access, text of the request, frequency
of access, action requested, name of the requesting user, and objects
referenced. Logging can be terminated by submitting an END LOGGING statement.
Following are BEGIN LOGGING and END LOGGING sample statements:
This way, a log entry will be generated for the first and last ALTER
against tables in DatabaseA, both the first and last granted and denied entry
will be recorded. The contents of DBC.AccLogRuleTb1 can be monitored via the
DBC.AccessLogRules system view, while the content of DBC.AccLogTb1 can be
monitored via the DBC.AccessLog system view. When an unauthorized or undesirable
activity has been identified, the security administrator can implement remedial
action to correct the problem, such as any of the following:
Physical access control involves controlling access to the physical
components of the computer system. Generally, controls need to be applied in the
following area:
The primary consideration for physical access control is establishing a
security policy, which can be used to ensure physical access to the Teradata
RDBMS and the hardware on which it runs.
Establishing
security policy
The security policy consists of those procedures and regulations intended to maintain the desired level of system security. The security policy for the Teradata RDBMS should include two essential implementation elements:
Identifying Security needs and
security levels
The first step to establish a security policy is to
identify security needs, which will involve the following:
The security requirements should be based on the
business value of the data processed on the system. A system that stores and
processes highly sensitive data probably has a greater need for security than
one that does not.
There are three levels of data security, including
minimal, moderate, and high. Each level will have its advantages and
disadvantages:
Formulating Security
Policy
Once the security needs of the system have been defined, a security policy
can be formulated. The security documents should cover:
A system security policy does not remain static. Periodic reviews should
be conducted to constantly reevaluate how the current policy meets current needs
of the system. The factors including changes in the profiles of users, changes
in business needs, new releases of Teradata software, discovery of security
violations need to be considered for reviewing the security policy.