I was reading an article today about how 10,000+ Mongo installations that are/were openly accessible on the internet have now been captured by ransomware, with nearly 100,000 other instances potentially vulnerable to the same issue.
Now, since I’m an Oracle blogger, you may be inclined to think the post is going to jump on the “bash MongoDB” bandwagon, but it’s not. I am going to bash something…but it’s not MongoDB
I’m going to steal a quote from … of all things… Jurassic Park
“Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should”
In this age of DevOps, Agility, reactive-this, and responsive-that, there is an understandable desire to have a goal of “deliver fast and often”. But I’m not attacking the various methodologies and processes out there that espouse the new age of fast and furious delivery. Because, to my knowledge, none of them ever had a goal of “fast delivery no matter what“…they had a goal of fast and flexible delivery whilst adhering to the unchanging fundamental principle of delivering high quality, secure and robust software. It may be functionally incomplete, or have compromises in (for example) the user experience, but we never meant to compromise on the core principles.
So when I see stories about MongoDB (or any software technology) being exposed for reasons of poor security, my lament is not for the technology but the part when a developer, or administrator, or manager, or anyone in the chain of processes that skipped an appropriate assessment of security, in effect, playing a game of Russian Roulette with their customer’s personal details. I don’t think there is even a defence of “ignorance” here, because the moment anything is deployed in an organisation, surely the first question that must be asked either before the deployment, or even in that awkward moment afterwards when you discover something was deployed without your knowledge is … Is it secured? And if no-one can answer that question, then surely that’s the immediate death knell on that application right there ?
If “hand on heart” a team can claim that security measures are in place, and then these are circumvented, then that’s defensible – perfection in security is such a moving target nowadays. But it seems a stretch to think that 100,000 Mongo teams out there all did a diligent crack at securing their system before getting all excited about having their application live
So if you’re building applications with the latest Micro-agile-internet-of-things-reactive-responsive-Java-scripted-open-source-media-rich-blahblah approach…that’s super cool. But that’s not a Leave Pass from being responsible when it comes to security.
As I commented on Twitter last night I think this is a result of the mentality that NoSQL (and other open source) databases being ‘simple’ and ‘open source’ mean that you don not need professional DBA’s to manage the technologies, and that the developers/Dev ops can take care of pretty much everything.
I regularly see practices on Mongo, MySQL etc that would have had your DBA manager strangle you for doing on Oracle 7. 🙂