security: All content tagged as security in NoSQL databases and polyglot persistence
As you can see the SSL overhead is clearly visible being about 0.05ms slower than a plain connection. The median for the inserts with SSL is 0.28ms. Plain connections have a median at around 0.23ms. So there is a performance loss of about 25%. These are all just rough numbers. Your mileage may vary.
Some of you may recall my security webinar from back in mid-August; one of the follow-up questions that I was asked was about the performance impact of enabling SSL connections. My answer was 25%, based on some 2011 data that I had seen over on yaSSL’s website, but I included the caveat that it is workload-dependent, because the most expensive part of using SSL is establishing the connection.
These 2 articles are diving much deeper and more scientifically into the impact of using SSL with MySQL. The results are interesting and the recommendations are well worth spending the time reading them.
Original title and link: The SSL performance overhead in MongoDB and MySQL ( ©myNoSQL)
The proposal for Riak’s security, discussed there in the open:
Thus, I propose we add authentication/authorization/TLS and auditing to Riak, to make Riak more resilient to unauthorized access. In general, I took the design cues from PostgreSQL. Another goal was to make this applicable to riak_core, so any reliance on KV primitives or features are intentionally avoided.
Andrew Thomson, the author of the proposal, mentions PostgreSQL as a source of inspiration. Besides the normal topics, authentication, authorization, and auditing, the document has an Open questions section. If you care about Riak’s future security go and help out.
Original title and link: The future of of Riak’s Security ( ©myNoSQL)
Security is an enterprise feature
At Hadoop Summit, Merv Adrian (VP Gartner) has shown data about Hadoop’s adoption in the enterprise space over the last 2 years and the numbers were great (actually they weren’t even good).
Hadoop vendors are becoming more aggressive in adding features that would make Hadoop enterprise ready. In some sectors (e.g. government, financial and health services) data security is regulated and this makes security features a top priority for adopting Hadoop in these spaces.
The state of Hadoop Security
There’s a mix of activity on the open source and vendor proprietary sides for addressing the void. There are some projects at incubation stage within Apache, or awaiting Apache approval, for providing LDAP/Active Directory linked gateways (Knox), data lifecycle policies (Falcon), and APIs for processor-based encryption (Rhino). There’s also an NSA-related project for adding fine-grained data security (Accumulo) based on Google BigTable constructs. And Hive Server 2 will add the LDAP/AD integration that’s current missing.
What’s interesting to note is that many big vendors have been focusing on adding proprietary security and auditing features to Hadoop.
Cloudera’s post introducing Sentry also provides a short overview of security in Hadoop, by looking at 4 areas:
- Perimeter security: network security, firewall, and Kerberos authentication
- Data security: encryption and masking currently available through a combination of recent work in the Hadoop community and vendor solutions.
- Access security: fine grained ACL
- Visibility: monitoring access and auditing
Sentry: Role-based Access Control for Hadoop
Cloudera has announced Sentry a fine grained role-based access control solution for Hadoop meant to simplify and augment the current course-grained HDFS-level authorization available in Hadoop.
Sentry comprises a core authorization provider and a binding layer. The core authorization provider contains a policy engine, which evaluates and validates security policies, and a policy provider, which is responsible for parsing the policy. The binding layer provides a pluggable interface that can be leveraged by a binding implementation to talk to the policy engine. (Note that the policy provider and the binding layer both provide pluggable interfaces.)
At this time, we have implemented a file-based provider that can understand a specific policy file format.
According to the post, right now only Impala and Hive have bindings for Sentry. This makes me wonder how Sentry is deployed in a Hadoop cluster so other layers could take advantage of the Sentry ACL. I see such a security feature implemented very close to HDFS so it would basically work with all types of access to data stored.
For more details about Sentry, read the official post With Sentry, Cloudera Fills Hadoop’s Enterprise Security Gap.
There are also numerous rewrites of the announcement:
- Rachel King for ZDNet: Cloudera intros new authorization module for Hadoop | ZDNet
- Virginia Backaitis for CMSWire: Cloudera Delivers Sentry Security For Hadoop: Regulated Enterprises Can Now Ask Big Data Questions
- Justin Lee for TheWhir: Cloudera Introduces New Authorization Module for Hadoop
- Isaac Lopez for Dataname: Cloudera Adds a Sentry to Their Stack - Datanami
- Jordan Novet for GigaOm: Cloudera keeps sensitive data hidden from prying eyes with new authorization settings — Tech News and Analysis
- Doug Henshen for InformationWeek: Cloudera Brings Role-Based Security To Hadoop - Software -
- Nick Kolakowski for Slashdot: Cloudera’s Sentry Offers Access Security for Big Data
Tony Baer is a principal analyst covering Big Data at Ovum. ↩
Original title and link: Hadoop Security and Cloudera’s new Role Based Access Control Sentry project ( ©myNoSQL)
Jordan Novet in a GigaOm post about the initial lack of security features in Hadoop:
Hadoop, the much-hyped software for processing large amounts of data on commodity hardware, has its roots in indexing tons of webpages for a search engine, not handling credit card numbers. And it wasn’t developed from the start with security in mind.
- I really don’t know how many popular and widely used storage solutions have their roots in handling credit card numbers.
- I really don’t know how many popular and widely used storage solutions have been developed from the start with security in mind
- I don’t know of any NoSQL databases that failed to be adopted because it was/is lacking security features1.
Bottom line, security features are critical for some users. Plus security features should never be taken light. And while it’s true that every lacking feature is limiting adoption, projects need to weight very well where the focus goes. Basically, if you don’t have a long list of customers handling credit card numbers, don’t focus your new database on this feature.
In the early days most of the NoSQL databases completely lacked any security features. But if they didn’t get the adoption they dreamed about that wasn’t caused by this. ↩
Original title and link: Built for handling credit card numbers ( ©myNoSQL)
Speaking about the buzz around Dataguise’s field-level encryption for Apache Hadoop and their 10 best practices for securing sensitive data in Hadoop, after the break1, you can find the “Hadoop Security Design” paper written by a team at Yahoo.