Database Management Security
The safety management system becomes a major problem when critical company data exposed to possible vulnerabilities technologies.
Throughout this article provides an overview of how to properly perform security management systems databases, avoiding as far as possible the specific technical details that might lose value over time is provided. What implies that a database is transactional: From the point of view of safety answers to questions such as seek? What issues must be taken into account in the clustering? What good are the roles and user groups? How they will affect and help the security of existing applications on databases? How is it feasible to manage the combination of all the above without remaining in a state of permanent alert?
Security concepts in databases are the same that arise in any other sector of information technology, but in practical application have many peculiarities. Each item has different considerations. Within the same table, it is not the same knowing the field "name" that "salary" and within this same field is not the same knowing the registry "beadle" the registry "CEO".
What security do we speak?
The ideal situation is one in which the state is achieved manage and ensure an adequate level of the three fundamental aspects of information security: integrity, confidentiality and availability.
The, the 'business to business' cooperation and the confederation require an integrated heterogeneous database independent data access.
It applied to the environment of databases is to ensure that stored data are accurate and are not corrupt, that each data access to only one rightful access to, and that information is available when its use is required. This is critical in applications that do not know schedules, or those where it is essential to have data in certain slots regardless of the number of simultaneous accesses are being carried out.
To achieve these premises and consider safety in all its aspects must be taken into account three distinct areas:
Physical security: hardware systems, supports, dependencies, etc. Security Physical security is always important, but this article will focus on the particularities of the databases.
Logical security: applications, protocols, computer processes, network protection elements, etc.
Political-Corporate Security: applicable law, policy, standards, procedures, internal conventions, etc.
These areas are interrelated, and to ensure the optimal level of protection against possible threats in each area is mainly implemented and consistently, security measures of three types:
Active or preventative. The example would be logical security for the firewall (firewall), the fence in physical security and safety standards in corporate political.
Passive, such as auditing, detection and / or alarm. For example, CCTV cameras, IDS systems and audit plans.
Recovery, such as the Disaster Recovery Plan, backups or Backup, and the UPS and / or generator.
Who has access to what and from where?
Cooperation, business to business and the confederation require an integrated heterogeneous database independent data access, which typically use different systems and technologies. The application requesting the data does not understand or care what's underneath, and the end user, ie the person using the application, typically either.
In this jungle of disparate systems from different manufacturers engines, ubiquitous access and legacy applications, it is to accommodate security. It is not easy. There must be according to engineers in the design phase, developers in the construction phase and administrators in the operation phase, to see who will be in charge of what. Then adjust the interdependencies and a long list of details to achieve the objective. And all with one goal: that access to specific data is produced by whom and from where it should be. And that someone does not have permission or right to access or modify what does not belong.
To do this, it will be necessary to agree to operating systems, databases, network elements and storage systems. Among them they are arranged to operate with one or other of technical, economic or political reasons, but still, the combinations are many.
In a first level of logical access control technology necessary to implement firewall (firewall) as the first filter in which trust which networks are established can access databases. Subsequently, it is important to analyze the security of applications that access the database itself, since normally the user is not entered directly into the database, but uses a client or a Web application that is really who identifies and engine accesses the database. The security code is required to prevent attacks SQL-Injection type, caused by lack of validation of input data in the application that "attacks" (and never better) to the database.
"In a first level of logical access control technology necessary to implement 'firewall' as the first filter."
Then the tools and features of the database itself is analyzed to fine-tune access in the field of tables, records, and even individual fields within the scope of the user.
Is it all so complex? Does not anyone help us?
Right and fortunately is that in the last decade manufacturers have made a genuine effort to make things easier for administrators and managers. Security has always been a key player in this field, and each new version we had important qualitative progress.
Some of the most notable "inventions" in recent years, trying not to particularize on manufacturers listed. On the other hand, they learn from each other and after a while, all apply the discoveries of others.
The views are a great way to give the user the information you need and only that. They are simple queries through which the end user sees only certain columns, rows or fields that meet a criterion. a conceptual scheme is thus created from what the user requests. This will avoid having redundant information. They have quite developed and improved type of views, which involves creating materialized views, multilevel views, fragmentary views, subviews, etc.
User permissions. With user permissions it comes to defining what can a particular user, or what kind of operation you are not permitted. The permits are usually distinguish between authorized and not say anything, or explicitly deny. Unlike real life, where one can give you the keys to your house who wish, users can not own their objects, and not be allowed to delegate anything. Here permissions on tables, views, procedures are defined, and almost everything that we can occur. The complexity can be almost infinite, with endless hierarchies that may contradict, it is not only what is given permission, but also who gives, and what happens if simultaneously a permit is granted by a user and other explicitly denied . With this idea of simplifying the roles were devised.
Roles are simply sets permissions that bind for comfort. The systems usually bring some predefined "administrator" or "user" are two of them, but really the roles are designed to be customized. Within a role it can include, for example, access three views, the execution of six specific procedures, and writing on a table. Thus the scope of a particular user, and therefore the damage it can do is dimensioned. There are specific roles for the function of assigning roles, these being to be controlled more strictly.
One issue that gains weight daily safety is the control resource consumption. Certain users are using intensively or even abuse them, although they are limited. If this is left unchecked, it could happen that a delay in the payroll of a company occurs, because the development department is testing a tool, and it is defective. To this end, consumer groups handle queries, transactions, CPU time, etc., which can consume or consume as agents. This is neither more nor less than to ensure quality of service database.
Manufacturers have emphasized the audit logs, and error traces the various mechanisms that facilitate the control and analysis of what users do. Rather, those elements that can be controlled. They can thus establish events to be monitored. It is not monitored, therefore the whole system, like cameras CCTV, only trouble spots or can be recorded.
On the basis of advanced transactional data it has been achieved the effect of rewind to where the error occurred or data is lost. These systems are expensive in terms of technology and resources, but eliminate the greatest danger with information systems: the human factor. With these mechanisms we can see the contents of a table half an hour ago, he makes two or eight. This can not be maintained for long in bases with high transaction load, as the volumes of data would be unmanageable.
Here databases have grown and improved. The years in which the system stopped at night for your copy have passed into history. Now you need the backup is much more granular, continuous and fast so that has not in any way stop the database. At this point it is to verify that the backup mechanism that is being used is appropriate for the particular technology. The main problem is that you can not make a copy of "as is" files, you must have an agent who "talk" to the database, or in the worst case schedule a dump and backup of this file .
REPLICATION and synchronicity.
A collation of the above, a good way to have a copy of the database is to have a replica on a remote operation. Normally, this solution more expensive and complex, often used for performance reasons, not security, but if necessary, fulfills both roles. Slave data bases are commonly used as a place of consultation, and in them no transactions (insertions, deletions or modifications) are carried out as if it could have consistency problems. Multiple replication solutions have begun to develop with static content as pages or videos (no longer a paradox video call a "static content") and the next point we will see how we overcome the physical limits of local storage. Everything is geared to a relocation of files. In the not too distant future, maybe in the same application, some data are located at a site, and others (within the same page view) to 1,000 kilometers away, with all that this implies.
The war of complexity
As discussed previously, as it grows significantly the complexity between systems, ensure their safety becomes vital. The speed and ease of use is often opposed to safety. In this game, sometimes zero-sum, the latter should prevail over the former. Better go slowly not reach.
Security in access to information can be enhanced considerably if the application you query the database to strong authentication mechanisms are used, such as:
· Digital certificates stored on smart cards.
· Biometric authentication devices.
In this way we get to authorize access is not sufficient knowledge of a user ID and password, but a combination of "what you know" more "you have" more "what you are". Also, to increase the security level in the storage itself can resort to data encryption, either using the utilities and functions that can provide the database itself or using third-party tools to encrypt data using cryptographic material the user before to provide them the engine of the database. On the other hand, databases have evolved in size and capacity as capacity developed different storage technologies.
Data security within the scale out process will depend on how communications, storage and databases are understood. Quite a challenge. The relocation of data, will have implications for access and security that today do not arise at the moment.