[an error occurred while processing this directive]
Home > Information Security Tips > Risk Management Strategies > Basic Database Security: Step by Step
Information Security Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

RISK MANAGEMENT STRATEGIES

Basic Database Security: Step by Step


Adrian Lane
12.11.2009
Rating: --- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


SQL injection and buffer overflows are database vulnerabilities that have been exploited for more than a decade, yet they remain common attack vectors in compromising database systems, even when patches and workarounds exist. Attackers also burrow their way in using default user account names and passwords; all the while, database administrators and IT professionals complain about the costs of provisioning user accounts. And finally, through public breach disclosures we learn that unencrypted tapes are lost or sensitive data is regularly moved to unsecured systems.

Clearly we're still missing the basic steps for securing database systems.

So forget fancy encryption techniques, event correlation or forensic analysis. Instead, organizations, especially in this troubled economy, need a clear, actionable and pragmatic approach to database security. Unfortunately the essentials are often overlooked in large organizations and appear overwhelming to database professionals who don't know quite where to start.

We want to make it simple. Here we'll offer a quick checklist to cover database configuration, data safeguards, account provisioning, OS/database interaction and considerations for front-end applications that use the database. Without these foundational sanity checks in place, many elaborate database security measures are a waste of time.

Here are the rudimentary security measures that you must take to protect the database from common threats. While they may take time to investigate and effort to perform, they are easy and effective:

ACCESS CONTROLS AND AUTHORIZATION STEPS
You may be tempted to skip ahead because you think you already have access controls in place, and then promptly fail a security review. Just because you have an access control system does not mean your system is secure. Database authentication and domain authentication are different, and great care must be taken so these two systems coordinate access and don't allow users to bypass database authorization entirely.

This is your first line of defense for database and data security, and it warrants close inspection to ensure proper configuration of accounts, as well as proper deployment of the two systems. Keep in mind that the longer a database has been in operation, the more access rights drifts away from a secure baseline.

  • Change default user passwords immediately upon installing the database. Periodically verify they have not reverted because of a reinstall or account reset.
  • Lock user accounts not in use. If you are certain they will never be used, remove them. This is especially important with canned database testing, tutorials or demonstration users. These known accounts are packaged with the database, and are exploitable to gain access to data and database functions.
  • Enforce stronger passwords. If you are using domain-level access to control database authorization, then you can set policies for stronger passwords. Our recommendation is you rotate passwords, and move away from static passwords.
  • Remove public accounts, as well as public access from all accounts. There is no use case where you want the general public to have access to your database.
  • Choose domain authentication or database authentication for your database users, and stick with it. Do not mingle the two. Confusion of responsibility will create security gaps.
  • Examine roles and groups closely. List out user permissions, roles and group participation, and review it to make sure users have just enough authorization to do their job. Unfortunately, depending upon the number of users in your database, this can be time consuming. Even when automation tools collect permissions assigned to each user account, manual review of settings is still required to detect problems. The bad news is this is not fun, and for large databases, you should plan on spending a day to get the permissions mapping right. The good news is once it is set, it is much easier to detect unwanted changes and stop escalated privileges.
  • Protect administrative functions from users. Database vendors list functions, roles, stored procedures and utilities dedicated for administration. Do not delegate these functions to users.
  • Divide database admin duties. For companies with more than one database administrator, divide administrative tasks between different admins, operating under different administrator accounts. The relational database platforms provide advanced access control provisions to accomplish this, allowing both for separation of duties, as well as locking down the master DBA account.

ASSESS DATABASE CONFIGURATION
This is very important for determining security and operational integrity.

  • Find out how your databases are configured, either through database queries and analysis of configuration files, or via a freely available assessment tools. All database vendors recommend configuration and security settings, and it does not take very long to compare your configuration to the standard.
  • Remove modules and services you don't need. Not using replication, for example? Then remove those packages. These services may or may not be secure, but their absence assures you are not leaving an open door for hackers.
  • Document approved configuration baseline for databases. This should be used for reference by all administrators, as well as a guideline to detect misconfigured systems.
  • Use scanning tools to discover the databases you have, and be consistent when applying configuration settings.

ASSESS DATABASE/PLATFORM INTERACTION
All databases provide means to directly call operating system commands for administrative tasks. These functions are comprised of OS and database code, running under administrative permissions, and offering a bidirectional portal to the database. These recommendations are meant to close security holes along this boundary.

  • Disable extended or external stored procedures.
  • Ensure the database owner account on local platform, under which the database is installed, is not assigned domain administrator functions.
  • Make sure domain administrators are not database administrators.
  • Tie import/export utilities, startup scripts, registry entries or properties files to the local database owner credentials.

SECURE COMMUNICATIONS
You want to make sure that communications to the database are kept private.

  • Encrypt sessions between applications and the database, especially Web application connections.
  • Reset database port numbers to non-default value. For example, moving Oracle's default port of 1521 to a random value defeats automated attacks, and makes it harder for an attacker to probe for information.
  • Block ad-hoc connections. Ad-hoc connections from undesired locations, time of day or through unapproved applications can be detected and rejected by simple login triggers, database firewalls and some access control systems.

PATCH THE DATABASE
Your goal is to leverage the security knowledge and expertise of the database vendor, allowing them to find and address security issues. This requires certifying and installing patches on a regular basis.

  • Create an environment and process to perform a sanity functions check on database patches prior to production deployment.
  • Don't allow patch downloads by individual DBAs; Rather have centralized, approved and verified copies available.
  • Synch internal patch cycles with vendor patch releases.
  • Reconfigure in the cases where patch or alteration of functions is unacceptable. If you employ database/Web application firewalls, determine if you can block the threat until a suitable patch is available.

APPLICATION USAGE OF THE DATABASE
Enterprise and Web applications leverage more than basic data storage, using service accounts that are provisioned with a broad range of capabilities.

  • Segment the authorization between common users and application administration accounts.
  • Restrict connection pooling where a single database account is leveraged by all database users. If possible, divide the application processing into different groupings, and perform these operations under different database user accounts. In addition, access permissions can be minimized in accordance with the role as it provides segregation of duties and makes log file analysis easier.
  • Modify the application-to-database connection to allow for database queries to be associated with an end user. This makes audit analysis and policy enforcement easier.

MEDIA PROTECTION
Protecting backup media is not optional because lost media is the leading cause of data breaches. There are several methods available that do not require alteration of processes or applications, including database transparent encryption, which requires no changes to application code and is often available free from the database vendor.

LOG AND EVENT REVIEW

  • Use logging if you can.
  • Create a log retention policy, determine what events you don't need and filter them out.
  • Review logs periodically, focusing on failures of system functions and logins that indicate system probing.
  • Review log settings periodically.

EMBRACE INSECURITY
No matter what you do, you will never be 100 percent secure. Take this into account, and plan your response to security events.

  • Inventory your databases.
  • Discover and catalog your sensitive data.
  • Have a plan on what to do if data is lost or stolen.
  • Have a disaster recovery plan.
  • Create a cooperative culture, get to know the applications developers and administrators, and make sure they understand that everyone needs to work together. If you have a compliance group, get to know them, and ask for their advice and opinions.

COMPLIANCE FORCES ENCRYPTION, AUDITING
If you have valuable data, odds are you have an industry or governmental obligation to perform the following recommendations. They are good security practices for everyone, but as it costs additional time and money to implement, they were largely ignored prior to regulatory pressure. The two most commonly prescribed regulatory requirements are auditing and encryption. These functions can be accomplished with the tools provided by the database vendor, but given the difficulty of implementation, deployment and management of these systems, you will be purchasing additional tools and platforms to alleviate day-to-day management and performance issues.

Auditing. Database auditing is used to capture a record of database transactions, which is then used to detect suspect activity and perform forensic audits. All of the relational database platforms have auditing features that capture transactions on the data and administrative operations against the database system. Depending upon the vendor and how the feature is deployed, you can gather detailed transactional information, filter unwanted transactions to capture a succinct view of database activity, and do so with only modest performance impact.

Using the standard software provided by database vendors will be ample to collect needed data, but you will need to develop a review process and reports to demonstrate compliance. Database auditing monitoring and log management tools are also available to automate these efforts. While the latter requires additional investment, these tools provide better performance, are easier to use, and have prebuilt policies and reports specifically designed for regulations.

Encryption. There are many forms of database encryption available, but they typically break into two families: transparent encryption that covers the entire database and requires no modifications to business processes, and user encryption applied only to select objects within the database that requires alteration of the application code. Transparent encryption is really designed to protect data on media, such as disk drives and backup tapes, from being accessed outside of the database. User encryption can be used for both media protection and protecting data from misuse.

When we discuss encryption to meet regulatory mandates, transparent encryption options are not suitable measures to meet requirements such as the Payment Card Industry Data Security Standard (PCI DSS), but they do satisfy most state data breach notification law requirements. As the cost and complexity is radically different between these two options, you will need to discuss which is appropriate to satisfy your auditors before deciding upon a course of action. Make sure you are addressing the right threat before deciding how you are going to implement database encryption.

You can begin any of these actions today, and they are proven effective at preventing the most common database attacks. Better still, the basic steps are free, and with a little of your time and energy, they can be completed without having to purchase specialized products or services. You can buy aftermarket products to perform these tasks, and they will do the job better, faster and with less effort on your part.

You need not let cost stop you from performing these security steps, and in this economic climate where we are all expected to do more with less, that is a good thing.

Adrian Lane is a senior security strategist with Securosis LLC, an independent security consulting practice. Send comments on this article to feedback@infosecuritymag.com.


Rate this Tip
To rate tips, you must be a member of SearchSecurity.IN.
Register now to start rating these tips. Log in if you are already a member.




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Application and Web threat defenses
Demystifying WAF solutions: A Web application firewall evaluation guide
How to foil ATM card skimming
Man in the middle attack prevention strategies
SaaS evaluation: Considerations for a SaaS service-level agreement
Software security requirements : A secure SDLC's critical component
Social media governance needs appropriate security strategy: ISACA
Web 2.0 widgets: Enterprise protection for Web add-ons
Gartner: Enterprises must learn to detect botnet threats
Frustration growing over limited ability to shut down botnets
Zeus botnet analysis: Past, present and future threats

Hacking countermeasures
What can the Khobe technique do to Windows antivirus software?
Buying an IPS: Determine your performance requirements
WNS' SIEM tool boosts inhouse incident management capabilities
Demystifying WAF solutions: A Web application firewall evaluation guide
How to foil ATM card skimming
How to remove rootkits from your organization
Man in the middle attack prevention strategies
Microsoft to patch serious zero-day flaw, fix display driver bug
Looking to better manage insider security risks? Try compliance
Web 2.0 widgets: Enterprise protection for Web add-ons

Business compliance management
First DSCI security framework pilot underway at TCS BPO
Using the Microsoft Sysinternals suite for a computer systems audit
Tools aim to help banks and others tackle insider fraud
WNS' SIEM tool boosts inhouse incident management capabilities
PCI-DSS compliance best practices
SAS 70 not a certification for security in cloud: Gartner
Seven considerations when evaluating automated GRC tools
IT Amendment Act 2008 compliance guidelines for India.org
10 internal security audit guidelines
Looking to better manage insider security risks? Try compliance

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
man-in-the-middle (MitM) attack  (SearchSecurityIN.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.

HomeNewsTopicsITKnowledge ExchangeTipsMultimediaWhite Papers
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2009 - 2010, TechTarget | Read our Privacy Policy
  TechTarget