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

How to craft a comprehensive data cleanliness policy

3 min read - Practicing good data hygiene is critical for today’s businesses. With everything from operational efficiency to cybersecurity readiness relying on the integrity of stored data, having confidence in your organization’s data cleanliness policy is essential.But what does this involve, and how can you ensure your data cleanliness policy checks the right boxes? Luckily, there are practical steps you can follow to ensure data accuracy while mitigating the security and compliance risks that come with poor data hygiene.Understanding the 6 dimensions of…

Third-party access: The overlooked risk to your data protection plan

3 min read - A recent IBM Cost of a Data Breach report reveals a startling statistic: Only 42% of companies discover breaches through their own security teams. This highlights a significant blind spot, especially when it comes to external partners and vendors. The financial stakes are steep. On average, a data breach affecting multiple environments costs a whopping $4.88 million. A major breach at a telecommunications provider in January 2023 served as a stark reminder of the risks associated with third-party relationships. In…

Communication platforms play a major role in data breach risks

4 min read - Every online activity or task brings at least some level of cybersecurity risk, but some have more risk than others. Kiteworks Sensitive Content Communications Report found that this is especially true when it comes to using communication tools.When it comes to cybersecurity, communicating means more than just talking to another person; it includes any activity where you are transferring data from one point online to another. Companies use a wide range of different types of tools to communicate, including email,…

Topic updates

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