Technically Speaking

The Official Bigstep Blog

 

3 Pain Points in NoSQL Security

When open source NoSQL databases were first being developed, there was mostly a strong desire to know if they would succeed with this model of developing and distributing software. Would open source be accepted in the enterprise, where proprietary software had reigned supreme for decades? Would database administrators, IT managers, and company executives embrace or even allow databases that were so radically different than the traditional relational databases that they have used so successfully for so long?

When open source NoSQL databases were first being developed, there was mostly a strong desire to know if they would succeed with this model of developing and distributing software. Would open source be accepted in the enterprise, where proprietary software had reigned supreme for decades? Would database administrators, IT managers, and company executives embrace or even allow databases that were so radically different than the traditional relational databases that they have used so successfully for so long?

Trying to secure a NoSQL database on your own is difficult. Partnering with a trusted cloud service provider can help you add a layer of security to your database that wouldn’t be there on your own servers in your own data center.

The answers to those questions are now clear, but that doesn’t change the fact that as these products were in development, there wasn’t much thought put into native security. Now that NoSQL is such a strong force in database development and administration, the security features are having to be tacked on as an afterthought. While NoSQL databases have a ways to go in terms of providing native security features and settings, there are some things you can do to secure your NoSQL database(s) in the meantime.

Recently, about 40,000 MongoDB databases were found to almost totally lack any security whatsoever. Clearly, if you’re using these systems as-is, with no extra consideration for securing the database, it won’t be a safe place for regulated data, consumer or healthcare related data, or any intellectual property or proprietary secrets you’ve got stashed away in there. NoSQL DBs need more. Though most of these tips are relevant to the massively popular Hadoop, HBase, and MongoDB, there are similar solutions in the other top NoSQL DB options, including CouchDB, Cassandra, MarkLogic, MapR, and the rest.

1. NoSQL DBs Need Solid Governance

Hadoop was created with no governance. Hortonworks, the parent company of Hadoop, has since formed a consortium established to develop a governance model for Hadoop and achieve widespread adoption (both of which are no menial challenges). The consortium is called the Data Governance Initiative, or DGI. Though not a particularly creative name, it is what it is.

If you’re using Hadoop or other NoSQL databases, you’ll need to find some governance elsewhere and stick it on there as best you can. With Hadoop, this is being at least partially addressed by products like Apache Ranger and Apache Falcon. There is also work underway to make Hadoop governable via other enterprise data-governance solutions, but these aren’t yet to fruition. MongoDB versions 2.6 and later do feature auditing capabilities that allow you to track changes, but that’s about it.

2. NoSQL DBs Need At-Rest Encryption

Data needs to be secured at rest as well as in transit. If you don’t have security measures in place, don’t store regulated or highly sensitive data in an insecure NoSQL database. None come with adequate native security.

At-rest encryption is also essential for storing any regulated data or other sensitive data, but there is no native ad-risk encryption with MongoDB or most of the other NoSQL DBs. However, you can use Ruby gems to provide field encryption for MongoDB, and Hadoop versions 2.6 and later do feature at-rest encryption via encryption zones.

3. NoSQL DBs Need Authentication

When it comes to authentication, some NoSQL databases can leverage systems like Active Directory to secure access to the system from the outside. If you’re a MongoDB user, you can instead utilize LDAP. Hadoop users typically configure the system to use Kerberos server and then establish a one-way trust relationship between the Kerberos server and the AD repository.

Always remember when working in Hadoop, this system comes with almost all security settings turned off. You have to go in and change the settings one by one to enable the security features that are available, and realize that even with the maximum Hadoop security in place, it still will not be the same as most proprietary systems.

For these reasons (as well as performance), businesses can turn to the trusted cloud service providers at Bigstep to help them secure and safeguard their NoSQL databases. Learn more about us today.

Got a question? Need advice? We're just one click away.
Sharing is caring:TwitterFacebookLinkedinPinterestEmail

Readers also enjoyed:

How To Benchmark NoSQL Databases

People make wrong design decisions all the time. Typical developers are under immense pressure to meet a deadline and they very often just take gut decisions…

Learn how to get sub-millisecond response times with Couchbase

Next week we will be presenting in a very interesting meetup, where we will talk about Couchbase and Hadoop: how to quickly move data from one to the…

Leave a Reply

Your email address will not be published.

* Required fields to post your comments.
Please review our Privacy Notice in order to understand how we process your personal data and what are your rights in this respect.