Conversation started Feb 20, 2012 at 13:37.
Feb 20, 2012 13:37
and while we're on the topic of non-sequiturs - any you blokes have experience with any NoSQL?
@AviD Yes
Feb 20, 2012 14:04
@JeffFerland oo, really?
specifically looking at cassandra, though possible to switch to others
actually after some google strolling, I'm starting to turn up a little bit of info
i guess a q for the rest wouldnt be wrong.
@AviD Speak your mind, sir.
but do you happen to have some kind of hardening doc / guidelines / etc?
@JeffFerland not yet sure what my mind is. trying to figure out what we need for it
not really much security stuff for nosqls out there...
even we only have a single q so far
@AviD I have to say, usually one switches the order :)
Restrict to systems that need it, use auth, layer with SSL if performance allows (and connections persist... renegotiating the asymetric part is bad!), and watch your input if building queries.
@JeffFerland heh. of course.
Feb 20, 2012 14:09
what I meant was, my client is going to be using it as part of his system, and I don't yet know enough about it to have the specific recommendations.
learning, though....
@JeffFerland so as it turns out, not all of them support auth - N or Z
@AviD Yeah, there's a lot of performance focus with NoSQL systems, which gives up a lot of control. Not that Memcache is a database, but some play like that... no auth, no logging. If you can send a packet and know a key, you can get an answer.
SSL - is internal (i.e. gossip intra-node) important to have over SSL (if that part of the network is restricted)?
any specific input (heh) on input validation for nosql?
@JeffFerland right. So, what is done? what CAN be done?
@AviD Depends on architecture and goals. Not necessary, but defense in depth and such.
Feb 20, 2012 14:12
Cassandra had a minimal plugin for authN/Z, but it turns out its a low-security sample only.
it is pluggable, though - so I may just have to tell them to tailor a plugin for it.
@JeffFerland any other specific, non-generic advice?
so far you havent said anything I dont know :)
@AviD Well, you could do mutual machine auth through stunnel or write a proxy app (or plugin) to handle auth and pass queries on
though validating my perspective surely helps too
@JeffFerland urggh, thats even worse. and probably would kill the performance
@AviD Maybe, maybe not. Symmetric crypto is fast, so as long as you're not renegotiating your connections, you should get plenty of throughput.
I meant a proxy app
but as I mentioned, Cassandra at least supports a plugin architecture for AuthN/Z
If it's financially worth it, the best thing would be to write that plugin.
I think that's an unlikely case.
Just from instinct, anyway.
Feb 20, 2012 14:17
@JeffFerland really? thinking authz should be handled by the app / perimeter?
@AviD Edit for clarity / expand? Interpreted your question in a few ways.
@JeffFerland you said you think its unlikely that its worth writing an auth plugin. what would be a better solution for auth (N/Z) ?
@AviD I just mean in terms of financial cost / hours to develop. It's the best method, but I don't think it's the cheapest. Everybody's cost-sensitive and all that.
@JeffFerland okay, but what other option would you suggest?
I dont think the proxy app would be less expensive, especially if you want to tune for performance.
@AviD If it does fit into the system architecture, app / perimiter auth and restricting access to db to server instances would be an easy pattern.
Feb 20, 2012 14:23
ah, right - basically going back to restricting the network.
@AviD Yup. That's the cheap one.
but, what if (and this is my scenario) we need internal segregation?
e.g. 2 users can access the db, but with different access?
Generally, there is no RBAC / object level security. So if you're talking different keyspaces (tables in SQL land), then yes. Otherwise, creek + paddle.
@JeffFerland right, thats pretty much the impression I got. And, the only way to implement that, would be some form of plugin.
Right back where I started :)
@AviD Thanks for taking the ride with me? :)
Feb 20, 2012 14:30
@JeffFerland heh. In any event, having my impressions validated by your experience is definitely helpful :)
@RoryAlsop Same here. And when it has been the police bringing evidence to us for examination, they've never brought the monitor, though I don't know if it was seized.
@Iszi To be fair, I allowed for the possibility that you hired an actor.
probably will need to pop up a q for some of the details later, but good to know there is someone that could answer
besides, you should at least get the rep for that :)
@ScottPack ah, the equivalent of a CAPTCHA proxy :D
@JeffFerland what about storage encryption?
all I could find is comms encryption
for info:
4
Q: Can I encrypt data in a way that it can't be copied or edited?

JilosI want to share my 500 GB hard drive with a friend but I want to encrypt it in a way that all data can be read normally but cannot be copied or edited in any way. Is that possible?

have flagged for migration here - if we get it, was planning on merging with our existing one:
13
Q: Are there DRM techniques to effectively prevent pirating?

MrHenNote: I was forwarded here from Skeptics.SE by AviD. I simply copied the entire body of the question but acknowledge that it may need some tweaking to fit properly with this site. Any edits or comments to that effect are welcome. Neal's Note: I've edited it to distinguish it from that question. ...

@RoryAlsop Sounds pretty reasonable
@AviD Repat the same circle from above. Plugins, layering (encrypt partition with OS), app... trust the machine.
Feb 20, 2012 14:37
@JeffFerland so, nothing built in.
@RoryAlsop I always find it weird when I see my name on posts of which I have zero recollection.
funny when I'm reading a post and want to upvote it, and realize that I wrote it.
5
even funnier when I want to downvote.
@AviD hahahaha - I get that occasionally. I blame old age, and a full brain
@RoryAlsop funny, I blame old age and an empty brain
@AviD You've got it.
have you seen this q, @Jeff?
9
Q: How to secure a MongoDB instance?

AaronSDoes anybody have experience with securing/hardening MongoDB server? Check lists or guides would be welcome.

which nosql have you experienced?
@AviD Yeah, I think I remember that one. Don't see anything I can really add to it.
Feb 20, 2012 14:43
@JeffFerland well, the accepted answer seems very generic, and not really applying to the specific technology
e.g. the two main bullets re authn/z
@AviD Mongo and Cassandra.
@JeffFerland excellent. In general, you have any comparison notes?
subjectively, of course.
A few quick metrics:
Setup: both are pretty easy, though Mongo is more brain-dead simple.
Arch: Cassandra is pretty much key->value, or "flat hash" storage that does really well at eventually propagating to many machines. Mongo allow hierarchies and has more play with indexing.
@JeffFerland interesting
General feeling: coin flip unless your architecture in your head already fits one or the other. I like the nested structure of mongo, but I'm also partial to just about every Apache data project (Hadoop and such).
Feb 20, 2012 14:50
@JeffFerland and security feeling?
@AviD Equally minimalist. Either one would take modification to establish the usual practices we'd recommend for app design. They weighted performance more than anything else.
@JeffFerland thanks
Maybe a nudge to Cassandra for the API exposure.
question is, should we be changing our "usual practices for app design", for nosql products/philosophy?
@AviD I call it a back-to-basics thing. Risk, exposure, cost, etc. If you're aware and you accept the risk in trade for performance, then OK. Otherwise, find the more expensive solution whether it be in programming time or slower traditional SQL systems.
Feb 20, 2012 14:54
@JeffFerland heh. fair enough.
I personally think the proxy thing can give very fast performance... can be deployed on every server node with low overhead... auth + log + pass onward while being non-blocking.
so you're saying, ignore the technical details we've learned, relearned, and can spout in our sleep, regarding securing DB's - go back to principles, and build up the technical details all over.
2
@AviD Yes! Good rephrase.
great, so we're in agreement.
 
Conversation ended Feb 20, 2012 at 14:55.