Drupal is a secure system, but you really need to keep your software up to date. Code Enigma director responsible for support services, Greg Harvey, explains why this is so important.
In light of the much talked about #PanamaPapers leak, it seems there has never been a better time to talk about keeping your software up to date. It has been reported by Forbes that a possible (if not the most significant) vector of the leak was a Drupal vulnerability, well publicised a few years ago, called Drupageddon. This story has been picked up by the Drupal.ovh website, which ran a piece last night on Drupal's possible involvement in the scandal.
The author of that piece rightly points out:
Since there is no single entity to blame for Drupal or other Open Source CMSes, as opposed to commercial entities like Oracle or Microsoft - there will likely be no fingerpointing in this issue.
But then goes on to say:
Increased awareness of web services security matters is required from the Open Source [communities] so that we will avoid large information leaks in the future.
We beg to differ! Sure, nobody is saying we can't improve on developer awareness, and that's true absolutely across the board in every developer community. But hindsight is always 20/20 and that kind of comment carries an implied "mea culpa" for open source software that, in my opinion, is totally misplaced and maybe even a little dangerous.
And more importantly, it has nothing whatsoever to do with the issue at hand! It really doesn't matter what software is or is not behind the leak. The principle point is this: it is alleged that the affected company, Mossack Fonseca, was running a version of Drupal more than two years old (7.23*) as its customer portal software. More than two years old!
Many information security specialists around the world (ourselves included) will tell you the first, single, most important thing anybody can do to protect themselves from infiltration and disclosure is keep their software up to date. It's a security 101. It is the first line of defence, the most basic number one priority, because researchers and hackers find security holes in software all the time. At Code Enigma we manage over 150 servers for our customers, we have the intrusion detection system (IDS) logs, we know we get scanned for known vulnerabilities like Drupageddon literally thousands of times a day! A colleague tells me he saw a Drupageddon attack this very week on another website (not managed by Code Enigma, I might add).
If the Forbes article is correct, and Mossack Fonseca were still running Drupal 7.23 in 2016, this is absolutely unforgiveable from a corporate infosec standpoint. There have been literally dozens of security fixes to Drupal since that date, allegedly none of which had been applied to Mossack Fonseca's (presumably) confidential client portal. The only thing I find astounding is that it took two years for this leak to break.
(Side point, but I find it telling Mossack Fonseca's official statement doesn't talk about their information security posture at all.)
So let's assume you're just an ordinary person or organisation using Drupal, and information security is important to you. Regardless of what Mossack Fonseca were alleged to have been up to, there are many good reasons you might not want information held on a website to be disclosed. Numerous Code Enigma clients could not afford a leak like this for far more honourable reasons than a political fire-storm - they carry genuine private data, for example medical researchers' contact information, interactions of members of the public with local government, sometimes we relay payment details, and so on. What do you do? Well, you can never entirely protect yourself from a clever and resourceful attacker, but at a bare minimum:
You keep your software up to date!
All of it.
All of the time!
It's not that difficult, and if you do that one thing then it's much, much harder for a Panama Papers-style leak to happen to you. If you don't have the time or the ability to do so yourself, you can get support for Drupal and support for Linux from literally hundreds of companies around the world. Those packages vary hugely from the relatively inexpensive and totally automated services (like Drop Guard) to hands-on Enterprise support packages (such as our own) where professional experts hand-check your updates. We're at the expensive end, but then we're ISO 27001 certified by the British Standards Institute, and you get what you pay for.
Finally, you may be wondering what Code Enigma did in the face of Drupageddon? Why wasn't this an issue for our customers?
Well firstly, because we have a member of our security and support team actually on the Drupal security committee, we have our finger on the pulse. He actually respected the embargo on disclosure, even internally, but we were primed and ready. As soon as the vulnerability was announced, we patched all customer systems. And here's the thing:
We have customers who pay us for security patching and those that don't. But Drupageddon was so serious that in the interests of good 'net citizenship, we took the view that regardless of whether or not our customers were paying for security updates, we would patch everyone. In fact, we had that patching done inside an hour. We also blocked all customer automated deployment tools until they could demonstrate to us they had upgraded Drupal core in their version control repositories, so we could be sure customer changes to code could not reinstate the vulnerability.
The TL;DR is we patched EVERYONE, regardless of contract, and we took the responsibility to ensure their systems stayed patched upon ourselves, even when we weren't contractually obliged to.
Stay up to date, stay safe.
* This version pre-dated the devastating Drupageddon vulnerability, which made it extremely trivial to gain total control of a Drupal website if left unpatched. The vulnerability was widely reported in the technology press when it broke, in October 2014, and Drupal.org posted strong advice that any website left unpatched for more than seven hours after disclosure should be considered compromised as a matter of course.