Welcome to the network security forum, and interact with 3 million technical staff. The database security issue has always been a nightmare around the database administrator, the loss of database data and the intrusion of the database by illegal users make the database administrator physically and mentally exhausted. With the rapid development of computer technology, the database has been widely used in many fields. However
Welcome to the network security forum and interact with 3 million technical staff> accessing database security has always been a nightmare for database administrators, the loss of database data and the intrusion of the database by illegal users make the database administrator physically and mentally exhausted. With the rapid development of computer technology, the database has been widely used in many fields. However
Welcome to the network security forum and interact with 3 million technical staff> enter
Database security has always been a nightmare for database administrators. The loss of database data and the intrusion of illegal database users make the database administrators physically and mentally exhausted. With the rapid development of computer technology, the database has been widely used in various fields, but data security issues have emerged. Security issues of a large amount of data in databases of various application systems, as well as theft and tampering prevention of sensitive data have attracted more and more attention. As a collection of information, a database system is the core component of a computer information system. Its security is critical to the rise and fall of enterprises and national security. Therefore, how to effectively ensure the security of database systems and ensure the confidentiality, integrity, and effectiveness of data has become a topic of attention.
Larry, Oracle chairman. At the Oracle OpenWorld conference, James talked about the key to protecting database security lies in encryption. He also believes that we should not only encrypt the data in the databases sent to the Internet, but also encrypt the data transferred from the hard disk to the back-end system. He also suggested that enterprises prohibit users from performing data backup without encryption. "Because if no encrypted backup CD or DVD is lost, you will lose the information ."
The security of the database system depends largely on the database management system. If the security mechanism of the database management system is very powerful, the security performance of the database system will be better. Currently, relational database management systems are popular in the market, and their security functions are weak, which leads to some threats to the security of database systems. Therefore, the database administrator should consider the following aspects for database security.
I. User role management
This is an important means to protect the security of the database system. It establishes different user groups and user password verification to effectively prevent illegal Oracle users from entering the database system, causing unnecessary trouble and damage. In addition, in the Oracle database, you can use authorization to restrict the operations of Oracle users, that is, allow some users to access the Oracle server, that is, they have the right to read and write the entire database, most users can only read and write in the same group or have the read right to the entire database. Special emphasis is placed on the confidentiality management of the two special accounts SYS and SYSTEM.
To protect the security of the ORACLE database server, the ownership of all contents in the $ ORACLE_HOME/bin directory should be ensured to be owned by Oracle users. To enhance the security of the database in the network, remote users should use encrypted passwords to access the database, and enhance the DBA permission control on the network, such as rejecting remote DBA access.
Ii. Database Encryption
Because the database systems are all managed in the form of files in the operating system, intruders can directly use the vulnerabilities of the operating system to steal database files, alternatively, you can use the OS tool to illegally forge or tamper with the contents of database files. This vulnerability is hard to detect by database users. Analysis and blocking of this vulnerability are considered B2-level security technical measures.
The hierarchical security encryption method of the database management system is mainly used to solve this problem. It can ensure the security of database data even when the current level has been broken, this requires a strong security mechanism for the database management system. One of the effective ways to solve this problem is that the database management system encrypts the database files so that even if the data is unfortunately leaked or lost, it is difficult to be decrypted and read.
We can consider how to encrypt database data at three different layers: the OS layer, the DBMS kernel layer, and the DBMS outer layer.
(1) encryption at the OS layer. On the OS layer, the Data Relationship in database files cannot be identified, and a reasonable key cannot be generated. Therefore, it is difficult to manage and use the key reasonably. Therefore, it is difficult to encrypt database files on the OS layer for large databases.
(2) implement encryption at the DBMS kernel layer. This encryption completes data encryption/Decryption before physical access. The advantage of this encryption method is that the encryption function is powerful, and the encryption function almost does not affect the DBMS function. It can achieve seamless coupling between the encryption function and the database management system. The disadvantage is that encryption is performed on the server, which increases the load on the server, and the interfaces between the DBMS and the encryptor need the support of the DBMS developer.
(3) implement encryption at the outer layer of the DBMS. The actual practice is to make the database encryption system an external tool of the DBMS and automatically encrypt/decrypt the database data according to the encryption requirements. This encryption method is used for encryption. Encryption/Decryption can be performed on the client. It does not increase the load on the database server and can implement encryption for online transmission, the disadvantage is that the encryption function is limited, and the coupling with the database management system is slightly poor.
Next we will further explain the principle of implementing the encryption function at the outer layer of the DBMS:
The database encryption system is divided into two main parts with independent functions: one is the encryption dictionary Management Program, and the other is the database encryption/Decryption engine. The database encryption system stores the user's specific encryption requirements for database information and basic information in the encryption dictionary, you can call the data encryption/Decryption engine to encrypt, decrypt, and convert database tables. Encryption/decryption of database information is completed in the background and transparent to the database server.
The database encryption system implemented in the preceding method has many advantages: first, the system is completely transparent to the end users of the database, and the administrator can convert plaintext and ciphertext as needed. Second, the encryption system is completely independent of the database application system. Data Encryption can be implemented without modifying the database application system. Third, encryption and decryption are performed on the client without affecting the efficiency of the database server.
The database encryption/Decryption engine is the core component of the database encryption system. It is located between an application and a database server and is responsible for encrypting/decrypting database information in the background, it is transparent to application developers and operators. The data encryption/Decryption engine has no operation interface. when needed, the operating system automatically loads the data and stores the data in the memory, and communicates with the encryption dictionary management program and user applications through internal interfaces. The database encryption/Decryption engine consists of three modules: the encryption/Decryption processing module, the user interface module, and the database interface module. The main task of the "database interface module" is to accept user operation requests and pass them to the "encryption/Decryption processing module ", in addition, the "encryption/Decryption processing module" should be replaced to access the database server, and the conversion between the external interface parameters and the internal data structure of the Add/decrypt engine should be completed. The "encryption/Decryption processing module" initializes the database encryption/Decryption engine, processes internal dedicated commands, retrieves encrypted dictionary information, manages encrypted dictionary buffers, and encrypts and transforms SQL commands, query Result de-encryption and Encryption Algorithm Implementation, there are also some common auxiliary functions.
Iii. Data protection
Database data protection mainly refers to database backup. When the computer's hardware and software fails, backup is used to restore the database to recover damaged database files, control files, or other files.
Another kind of data protection is log. The Oracle database provides logs to record various operations in the database, including modifying and adjusting parameters, and establishes a complete record of all jobs in the database.
Another is the backup of the control file, which is generally used to store the state of the physical structure of the database. Some state information in the control file is used to guide the Oracle database during instance recovery and media recovery.
In daily work, database backup is a constant task that the database administrator must perform. Oracle Database Backup mainly includes the following methods:
1. Logical backup
Logical backup is to read the records of a database and write them into a file. This is a commonly used backup method.
● Export (export): This command backs up a data file, a user's data file, or the entire database.
● Import: This command reads the dump file created by export into the database system. It can also be performed by a data file, user, or the entire database.
2. Physical backup
Physical backup is often used by database administrators. It can copy all the content of the Oracle database in a variety of ways, including offline backup and online backup. They have their own advantages and should be selected based on the actual situation and status.
● Offline backup
After the Oracle database is shut down normally, it backs up the Oracle database. The backup includes the database files and tables of all users, all control files, and all log files; database initialization files. Different backup methods can be used, such as dumping all files to the tape using the tape dump command (tar), or copying all files as they are (copy, rcp) to another backup disk or another host disk.
● Online backup
This backup method is also effective. It can migrate online logs and create a detailed and accurate full record of all processes and jobs in the Oracle database.
Another advantage of physical backup is that it can completely dump the Oracle database management system. Once a fault occurs, it can be easily and timely restored to reduce the trouble caused by database administrators re-installing Oracle.
With the preceding backup methods, you do not have to be alarmed even when a computer fails, such as a media damage or software system exception. You can use the backup method to recover the data to different degrees, restore the Oracle database system to normal as soon as possible. The following methods can be used to recover database corruption:
1. Data File Corruption
In this case, you can use the latest database file backup to restore the corresponding file in the backup to the original location and reload the database.
2. Control File Corruption
If the control file in the database system is damaged, the database system will not be able to run normally. You only need to shut down the database system and restore the corresponding control file from the backup to the original location, restart the database system.
3. The entire file system is damaged.
In large operating systems, such as UNIX, the entire Oracle database system crashes due to the unreliable or damaged media on disks or disk arrays, which can only be:
● Reinitialize the disk or disk array to Remove invalid or unreliable Bad blocks.
● Recreate the file system.
● Use backup to completely restore the database system.
● Start the Database System