Database security policy
Database security issues have always been the nightmare of database administrators, the loss of database data and the intrusion of database data, which makes the database administrator are exhausted. This article puts a number of security strategies around the security issues of the database, I hope to help the database administrator, no longer night and night.
Database security issues should include two parts:
First, the security it should ensure that the database data information is not lost when the database data storage media is destroyed when the database data storage medium is destroyed and when the database user is wrong.
Second, the database system is not invaded by illegal users to block the potential various vulnerabilities as much as possible to prevent illegal users from using them to invade the database system. For security issues for database data, the database administrator can refer to the data on the system dual-standing hot backup function and database backup and recovery. The following is further elaborated on the database system from invading this issue by illegal users. Group and security build user groups under operating systems is an effective way to ensure database security. Oracle program is generally divided into two categories for security purposes: all users can execute, and another class only DBA can be executed. The configuration files set in the UNIX environment are / etc / group, about how this file is configured, see the relevant manuals for UNIX, the following is a few ways to ensure security: (1) Creating Database Management before installing Oracle Server Corporate group (DBA) and assign the user ID of the root and Oracle software owner to this group. The program that DBA can perform is only 710 permissions. SQL * DBA system permission commands are automatically assigned to the DBA group during installation. (2) Allow a portion of the UNIX users to restrict access to the Oracle server system, add an Oracle group consisting of authorized users to ensure that the Oracle server utility routine Oracle group ID, the public executable, such as SQL * Plus, SQL * Forms et al, should be executed by this group, then the permissions of this utility routine are 710, which will allow the same group of users to execute, while other users cannot. (3) Change the permissions of programs that do not affect database security are 711. Note: In our system, the default password for two users in the Oracle database in the Oracle database is Manager. For your database system security, we strongly recommend that you will drop the password of these two users, Type the following: ALTER USER SYS INDENTIFIED by password; alter user system indentified by password; where Password is for you The password set by the user.
The security of the Oracle server utility routine The following is a few suggestions that protect the Oracle server from illegal users: (1) Make sure that the ownership of all programs in the $ ORACLE_HOME / BIN directory is owned by Oracle software owners; (2) give All users are useless (SQIPLUS, SQIFORMS, EXP, IMP, etc.) 711 permissions, enabling all users on the server to access the Oracle server; (3) Give all DBA utility routines (such as SQL * DBA) 700 permissions.
When accessing a local server, you can use the security of the UNIX management server by mapping the role of the Oracle server to UNIX under the operating system, this method is adapted to local access. The format of the Oracle server role in UNIX is as follows: ORA_SID_ROLE [_DLA] where the SID is the Oracle_SID of your Oracle database; Role is the name of the role in the Oracle server; D (optional) means that this role is default; A (optional) ) Indicates that this role comes with a with admin option, you can only grant this role to other roles, and cannot be other users. The following is an example set in the / etc / group file: ORA_TEST_OSOPER_D: None: 1: Jim, Narry, Scott ORA_TEST_OSDBA_A: NONE: 3: Pat Ora_test_Role1: None: 4: Bob, Jane, Tom, Mary, Jim bin: None: 5: root, oracle, dba root: None: 7: Root phrase "ORA_TEST_OSOPER_D" indicates the name of the group; the phrase "none" represents the password of this group; the number 1 represents the ID of this group; next is the member of this group. The front two lines are an example of an Oracle server role that uses TEST as the name of the Oracle server role as SID, OSOPER, and OSDBA. Osoper is the default role assigned to the user, and OSDBA has a with admin option. In order to make these database roles, you must shutdown your database system, set the Oracle database parameter file inToRacle_sid.ora, the os_roles parameter is true, and then restart your database. If you want these characters to have Connect InterNal permissions, run ORAPWD to set a password for these roles. When you try Connect INTERNAL, the password you typed indicates the permissions corresponding to the role. SQL * DBA commands Security If you don't have a SQL * Plus application, you can also use SQL * DBA as SQL check permission-related commands that can only be distributed to users of Oracle software owners and DBA groups because these commands are granted. Special system permissions. (1) STARTUP (2) Shutdown (3) Connect INTERNAL
Database file security Oracle software owner should be these database files ($ ORACLE_HOME / DBS / *. DBF) Setting these files 0600: The owner of the file is readable, the same group, and other group users No authority written. Oracle software owners should have a directory containing database files, in order to increase security, it is recommended to recover readable permissions to these files to the same group and other group users.
Network Security When processing network security, the following is a few questions to consider. (1) Use the password on the network to type the password through the encrypted or not encrypted mode. When you type your password with a non-encrypted mode, your password is likely to be intercepted by illegal users, resulting in destroying the system. safety. (2) DBA permission control on the network You can control DBA permissions on the network in the following two ways: a set to reject remote DBA access; b Set special passwords to DBA through ORAPWD.
Establish security strategy
System Security Policy (1) Managing Database User Database Users is a way to access Oracle database information, so you should maintain security of database users well. According to the size of the database system and the workload required to manage database users, database security managers may just have a special user of CREATE, ALTER, or DROP database users, or have a group of users who have these privileges. Yes, only those worthy of trustworthy should have permission to manage database users. (2) User identity confirmation database users can confirm with the operating system, network service, or database, the advantages of user identity authentication through the host operating system are: A users can join in the database faster, more convenient to enter the database; Operating system confirms to control user identity: If the operating system is consistent with database user information, Oracle does not need to store and manage usernames and passwords; C users enter the database and operating system audit information. (3) Operating system security A database administrator must have operating system permissions for Create and Delete files; B General database users should have operating system permissions for CREATE or DELETE and database related files; C If the operating system can assign database users Role, then security managers must have operating system permissions to modify the operating system account security zone. Data's safety policy data should be based on the importance of data. If the data is not very important, the security policy of the data can be relaxed. However, if the data is important, there should be a cautious security policy that uses it to maintain the effective control of data object access.
User Security Policy (1) General User's security A password security If the user is confirmed by the user's identity through the database, it is recommended to use the password encryption to connect to the database. The setting method of this way is as follows: Set the ORA_ENCRYPT_LOGIN number True in the client's Oracle.ini file; set the dbling_encypt_login parameter True in the server-side inToRACLE_SID.ORA file. B Permission Management For many databases, applications and data objects are rich in databases, you should make full use of the convenience of the "role" mechanism to effectively manage the permissions. For complex system environments, "role" can greatly simplify the management of permissions. (2) Security of end users You must develop security policies for end users. For example, for a large-scale database with many users, security managers can determine the user group classification, create user roles for these user groups, grant the required permissions and application roles to each user role, and assign users The corresponding user role. When dealing with special applications, security managers must also clearly grant some particular permissions to users. You can use the "role" to perform permission management of end users.
Database Manager Security Policy (1) Protection As the Sys and System users Connections When the database is created, change the SYS and System users with administrative privileges to prevent illegal users from accessing the database. When serving as SYS and SYSTEM users into the database, users have powerful permissions to modify the database in a variety of ways. Change the password of the SYS and SYSTEM users, see the relevant part of the previous. (2) Contributors and database connections should only be brought into databases with administrators, without any restrictions on SYSDBA or Startup, Shutdown, and Recover or database objects (such as CREATE, DROP, and DELETE, etc.) Operation. (3) Use roles to manage managers privileges