November 18, 2015 By Bryan Reinero 3 min read

Many developers are enamored with how easy it is to build new applications using NoSQL databases. But are you building your dream application or creating a database security nightmare? There are no excuses for not following security best practices.

As a developer advocate, I spend most of my days helping developers turn their giant ideas into dream apps using MongoDB. Unfortunately, database security is a critical topic that is frequently overlooked.

Prioritizing Security in NoSQL Databases

For those new to NoSQL databases, MongoDB is a document-style NoSQL database that enables a variety of application use cases, especially cloud and Web apps in which high performance and developer agility are required. But it’s important to keep your dream application from turning into a nightmare by preventing easily avoidable security mistakes — don’t forget to secure your deployment!

Watch the recent tech talk to see What’s New in IBM Security Guardium Vulnerability Assessment V10

In cases where the application development teams work in isolation from the operations team, security may not be top of mind when in the middle of a project. While developers try to be fastidious in the use of best practices from a coding perspective, it’s equally important to catch configuration issues that could otherwise lead to hugely embarrassing and potentially serious mistakes, such as exposing all the data to the Internet.

Good Security Is No Mystery

Whether using MongoDB, another NoSQL system or even relational databases, ensuring your deployment is properly hardened shouldn’t be a mystery. It only requires a step-by-step adherence to a fundamental set of best practices. Let’s take a look at some of these, working our way from the outside in.

  • Make sure that each node in your cluster is protected by a firewall, allowing connections to the database nodes from trusted clients.
  • Each client should use x.509 certificates to authenticate themselves to the servers.
  • Network traffic between clients and the database, including traffic between database nodes, should be encrypted with SSL/TLS encryption.
  • Enable role-based access control, assigning appropriate roles such that each user has only the minimal set of privileges required.

Make It Easier to Be Successful

Assuring that each node is properly hardened and configured can be difficult for larger deployments, so good automation tools will be an essential component of your operations toolkit. As the size of your cluster grows, your management overhead must not increase as well. Mistakes creep in when a cluster becomes hard to manage. I always advise users to make it easy for themselves to be successful rather than making it too easy to make a mistake.

In addition to our standard monitoring and automation tools, I recommend automated activities for database security and compliance activities such as real-time database activity monitoring and, just recently, the first automated database vulnerability assessment for MongoDB databases. Both of these solutions are MongoDB-certified.

Harden Your Databases

This automated test suite was developed in conjunction with security SMEs to incorporate our security best practices, such as making sure your database is patched with the latest CVE updates and other security patches, role and privilege testing, configuration file permissions and more. Based on the pass/fail of each of the tests, the database will get a score. You will see that with proper configuration and privilege management, the score can improve over time.

What’s really nice is that you get detailed remediation steps with any failing tests, making it much easier for security operations and the database teams to communicate with each other. Nothing needs to be installed on the database server, the tests can run on a schedule and they have no impact on database performance. What could be easier?

There really is no excuse for mistakes like exposing data to the Internet or for giving users elevated privileges they don’t need. Keep your database properly secured and up to date with patches. Automate the testing to ensure it stays that way — and sleep better as a result.

Watch the replay of “Tech Talk: What’s New in IBM Security Guardium Vulnerability Assessment V10,” which includes a demo of Guardium Vulnerability Assessment on MongoDB. You can also download the comprehensive guide titled “MongoDB Security Architecture” to learn more about achieving secure deployments.

More from Data Protection

3 Strategies to overcome data security challenges in 2024

3 min read - There are over 17 billion internet-connected devices in the world — and experts expect that number will surge to almost 30 billion by 2030.This rapidly growing digital ecosystem makes it increasingly challenging to protect people’s privacy. Attackers only need to be right once to seize databases of personally identifiable information (PII), including payment card information, addresses, phone numbers and Social Security numbers.In addition to the ever-present cybersecurity threats, data security teams must consider the growing list of data compliance laws…

How data residency impacts security and compliance

3 min read - Every piece of your organization’s data is stored in a physical location. Even data stored in a cloud environment lives in a physical location on the virtual server. However, the data may not be in the location you expect, especially if your company uses multiple cloud providers. The data you are trying to protect may be stored literally across the world from where you sit right now or even in multiple locations at the same time. And if you don’t…

From federation to fabric: IAM’s evolution

15 min read - In the modern day, we’ve come to expect that our various applications can share our identity information with one another. Most of our core systems federate seamlessly and bi-directionally. This means that you can quite easily register and log in to a given service with the user account from another service or even invert that process (technically possible, not always advisable). But what is the next step in our evolution towards greater interoperability between our applications, services and systems?Identity and…

Topic updates

Get email updates and stay ahead of the latest threats to the security landscape, thought leadership and research.
Subscribe today