Risk
6/25/2010
03:50 PM
50%
50%

Tech Insight: Three Steps To Better Database Security

Protecting your most sensitive data could involve discovery and auditing, as well as security

If you were a cybercriminal attacking your organization, which data would you target first? In most enterprises, the most voluminous, valuable, and marketable data is found in one common app: the database.

Of course, there are millions of database out there, and most attackers aren't too choosy. They'll go after the ones that are the least secure. How fast do you have to be when a bear is chasing you? Faster than the guy running next to you. Keeping your database secure means taking three basic steps to ensure yours isn't the slow-footed one.

The first hurdle is finding the database servers themselves. The most common place to find them is in the data center, where they're more likely to be documented -- and, hopefully, secured. But database servers can show up in other parts of the enterprise, including research and development labs, test environments, and embedded systems.

Finding those database servers and enumerating the information they store is the first step in developing a strategy for managing risk and securing your most sensitive data. It's not uncommon for test environments to mirror production servers -- to the point of storing the same sensitive information. R&D will often set up servers without any help or knowledge from IT, so it's not uncommon to find servers there that contain sensitive research.

A good example of embedded systems gone bad is Shawn Merdinger's presentation, "We Don't Need No Stinking Badges," (PDF and video) which describes electronic door access control systems (EDAC) and several vulnerabilities he discovered in S2 Security's NetBox. The NetBox includes an extremely old version of MySQL listening on its default port -- and contains "everything from reports to user information, customized features, facility diagrams, and more."

Once you've discovered the sensitive database servers, step two is to lock them down. There are three key elements to this step: firewalls, patching, and Web applications. Database servers do not need to be accessible by every workstation in the company. There could be exceptions, but it's unlikely. Take the time to properly firewall the database server to allow it only to communicate with necessary systems. And remember defense in-depth -- apply rules at the network, host, and application level.

Properly restricting access to the database server will certainly reduce the attack surface, but it does not negate the need to patch. There have been many studies that indicate database administrators do not patch their systems regularly. In security, it's better to be a secure exception to the rule than be vulnerable to a threat that was patched months ago. Set up a test environment, patch it, confirm that it works -- and then patch the production environment.

Web applications bring a whole new dimension to the database security problem. The need to put data online --and support it with a database back end -- has caused the exposure of millions and millions of sensitive records. SQL injection was the top application security risk in the recent OWASP Top 10 for 2010 -- and with good reason. An SQL injection attack can allow an attacker to read, modify, and delete data from a database using nothing more than a Web browser.

If your Web applications are backed by databases, then you need to implement secure coding within your development life cycle and perform vulnerability assessments of your Web apps any time new code is introduced.

New attacks and vulnerabilities are being exposed every day. New tools are being developed regularly, too, such as Poet, which was released recently at Black Hat Europe. Take the time to secure your Web apps before you become a statistic in the next breach report.

Last, but certainly not least, turn on your auditing capabilities. Many enterprises disable these capabilities in an effort to improve database server performance. If performance is a major concern for your organization, then consider a database activity monitoring solution that will provide you with auditing and much more. Turning auditing off will make it harder to investigate possible breaches -- and could impact your compliance efforts.

Ultimately, database security -- like all security -- is about risk mitigation, not elimination. You can't eliminate all of the risks, but you can reduce them to a level that works for you and your organization.

Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Dark Reading December Tech Digest
Experts weigh in on the pros and cons of end-user security training.
Flash Poll
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-5395
Published: 2014-11-21
Multiple cross-site request forgery (CSRF) vulnerabilities in Huawei HiLink E3276 and E3236 TCPU before V200R002B470D13SP00C00 and WebUI before V100R007B100D03SP01C03, E5180s-22 before 21.270.21.00.00, and E586Bs-2 before 21.322.10.00.889 allow remote attackers to hijack the authentication of users ...

CVE-2014-7137
Published: 2014-11-21
Multiple SQL injection vulnerabilities in Dolibarr ERP/CRM before 3.6.1 allow remote authenticated users to execute arbitrary SQL commands via the (1) contactid parameter in an addcontact action, (2) ligne parameter in a swapstatut action, or (3) project_ref parameter to projet/tasks/contact.php; (4...

CVE-2014-7871
Published: 2014-11-21
SQL injection vulnerability in Open-Xchange (OX) AppSuite before 7.4.2-rev36 and 7.6.x before 7.6.0-rev23 allows remote authenticated users to execute arbitrary SQL commands via a crafted jslob API call.

CVE-2014-8090
Published: 2014-11-21
The REXML parser in Ruby 1.9.x before 1.9.3 patchlevel 551, 2.0.x before 2.0.0 patchlevel 598, and 2.1.x before 2.1.5 allows remote attackers to cause a denial of service (CPU and memory consumption) a crafted XML document containing an empty string in an entity that is used in a large number of nes...

CVE-2014-8469
Published: 2014-11-21
Cross-site scripting (XSS) vulnerability in Guests/Boots in AdminCP in Moxi9 PHPFox before 4 Beta allows remote attackers to inject arbitrary web script or HTML via the User-Agent header.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Now that the holiday season is about to begin both online and in stores, will this be yet another season of nonstop gifting to cybercriminals?