Onlangs in het nieuws:
http://www.nu.nl/internet/2053045/hacker-tegen-wilders-verandert-tientallen-sites.html
en het lijstje met de gehackte sites: http://www.zone-h.org/archive/defacer=aLpTurkTegin

Het ging hier om een 'defacement' oftewel het bekladden van de gehackte site door een Turkse hacker, die op de sites een fotosjop van Wilders als aap had gezet. En toen ging er bij mij een klein belletje rinkelen.
Ik kon me namelijk nog herinneren dat ik Vorig jaar al eens gewaarschuwd werd door een collega: 'Jij gebruikt toch ook Joomla?'

Er bleek een ernstig veiligheidslek in Joomla te zijn ontdekt waar Turkse hackers misbruik van maakten; ik moest meteen de nieuwste update installeren volgens hem. Ik ben direct gaan kijken waar het lek zat, en het was er een waar je direct mee naar de kelder gaat: in het 'wachtwoord-vergeten' scherm kon een willekeurige bezoeker de achterliggende database code aanpassen, de beruchte 'SQL injectie', waardoor hij het administrator password kon wijzigen, om vervolgens dus alle rechten op de site te krijgen. (voor de liefhebbers: hier staat hoe dat ging: http://www.milw0rm.com/exploits/6234)

Dit werkte trouwens alleen bij sites waar de gebruikersaccount van de administrator nog op de standaardnaam 'admin' stond. Bij sites voor anderen die ik beheer, pas ik dit altijd aan. Maar bij mijn eigen site had ik dit, uit luiheid, nog niet gedaan. Maar mijn collega is een beter mens dan ik: hij had de hack niet eens uitgeprobeerd.

Toen ik dit keer het lijstje met gehackte sites eens naliep, bleek al snel dat ook nu het allemaal sites waren die als CMS Joomla gebruiken. Hieruit trok ik de conclusie dat in dit geval alleen toegang is verkregen tot het content management gedeelte. Blijkbaar is het dus makkelijk om toegang te krijgen tot met Joomla beheerde sites.

Hoe zou dat kunnen komen?


Eén van de redenen die ik kan bedenken, is dat een CMS steeds meer moet kunnen, waardoor de software steeds complexer wordt, en er ook steeds meer fouten kunnen ontstaan. Daardoor moeten er vaker patches worden uitgebracht. Als Joomla gebruiker moet je dus alert zijn op nieuwe patches.  De sites in het lijstje zijn ongetwijfeld niet up-to-date geweest. En dan is het gewoon eigen schuld, dikke bult, zou je zeggen.

Maar de afgelopen drie weken heeft Joomla drie patches uitgebracht, je blijft aan de gang. En een pikant detail van het lek vorig jaar was, dat, al had Joomla binnen een dag een noodpatch uitgebracht, ze vergeten waren om die op het Joomla Portal te installeren, zodat dat de volgende dag alsnog werd gedefaced.

Ook brengt het uitbrengen van een patch -met een beschrijving van de werking van het lek, zoals het Open Source betaamt- wel het risico met zich mee dat script kiddies zoals onze Turkse hacker niks anders hoeven te doen dan te kijken welke lekken er gevonden en gedicht zijn, om vervolgens de Joomla sites te gaan vinden die nog niet gepatched zijn. Als ik zoek op de standaard metadata die Joomla in de header meegeeft, kan ik honderden Joomla sites vinden, die vast niet allemaal de laatste update hebben. Erg aantrekkelijk om die te bekladden als je 14 bent en geen vriendinnetje hebt.

En tot slot zullen de voorstanders van closed software graag aanvoeren dat de opzet van open source foutgevoeliger is omdat er minder centraal wordt beheerd, gecontroleerd en getest. 'Spaghetti code', zo omschreef aan andere collega Joomla eens.

Is Joomla daarmee als onveilig te bestempelen? Ik vind van wel, maar dat ligt vooral aan de doelgroep, het richt zich (ook) op de n00b. Als je weet wat FTP is (ongeveer) en weleens in de verte van PHPMyAdmin hebt gehoord kan je een Joomla site maken. En als je dan wat moois voor de tennisvereniging hebt gebouwd, en je houdt ook de ledenadministratie bij met een leuke plug-in, is het toch knap vervelend als je verrast wordt door de apekop van Wilders, omdat dan misschien ook de privé gegevens van je leden op straat liggen.

Hoe professioneler de gebruiker, hoe veiliger het systeem. Maar daarmee bijt de hond zich in zijn eigen staart, want een CMS is nou juist bedoeld ter vervanging van de professional. Hier ligt dus een verantwoordelijkheid voor de Joomla ontwikkelaars.

Ik heb wel een paar suggesties:een automatische updatefunctie zou mooi zijn, waarbij ook meteen een backup gemaakt wordt. Of in ieder geval een check op een nieuwe versie, met een melding daarvan in het administratieve hoofdscherm, zoals Wordpress doet.

Dat gezegd hebbende, vind ik wel dat er verzachtende omstandigheden zijn. Voor de kleine gebruiker zal het defacen van zijn site een relatief klein ongemak zijn. En backups maken en terugzetten is een fluitje van een cent met Joomla. En als je geen backup hebt gemaakt, moet je op de blaren zitten, nog eens goed naar Wilders zijn apekop kijken en wijzer worden.

-update 14-8-2009-
ik kreeg een reactie van Sander Potjer van joomlacommunity.eu, waarin hij vermeldt dat het inderdaad gaat om hetzelfde lek als vorig jaar zomer. Bijgewerkte versies van Joomla zijn dus niet kwetsbaar.