Deze JUG-meeting ging volledig over het beveiligen van Joomla-site tegen hackers. We startten met een dito hacker,  waarna de slachtoffer(s) van gehackte sites aan bod kwamen. Als vervolg hierop werden ook de interfaces en werking van 2 veiligheids-extensies getoond.

Aanwezig: Manu Ampe, Alex De Winter, Caroline Bultinck, Koen Rottier, Jurgen Gaeremyn, Van Geertsom Guido, Wampers Roland, Ongena Luc, Verhoeve Piet
Freddy Helsen, Karel Merten, Ronny Wullaert, Andre Jansens, Rob Bezouwen

De hacker

Karel demonstreert hoe een hacker in je site kan binnendringen.

In het eerste voorbeeld wordt er verondersteld dat de hacker al op je server geraakt is. Karel toont hoe de hacker dan een admin-gebruiker kan creëren zonder in de Joomla!administrator module in te loggen. De Admin-user kan zelfs gecreëerd worden ook al staat User Creation af. Eenmaal deze reatie gebeurt, kan de hacker uiteraard met de nieuwe user in het CMS.

In een meeer gesofistikeerd voorbeeld toont Karel hoe een hacker zijn malware op jouw site kan zetten (zonder ftp-verbinding).
Een van de sluipwegen zou zijn door het bestand in te pakken, te verstoppen, in een extensie. Dit bewees Karel met de extensie voor GoogleMaps. Alles op de site blijkt te werken maar de hacker is wel geïnfiltreerd in je site en kan overgaan tot een volgende kwaadaardige actie in/op je site.
Met deze demonstratie is het duidelijk dat je exensies niet van eender waar te downloaden.

Stelt zich de vraag hoe veilig een extensie is die in de Joomla Extension Directory, JED, staat?
Jurgen: de JED laat een aantal test runnen op elke aangeboden extensie. Er zijn testen op gebruikersvriendelijkheid, maar ook programmeercode, of de developper wel de Joomla! standaarden gerespecteerd heeft, ... Maar wat als de developer na die controle de code toch nog verandert? Wat als de site van de developer gehackt is? Uit de reacties van de zaal is 1 zaak wel duidelijk: als het de extensie door een bedrijf geleverd wordt, dan zal deze laatste snel actie ondernemen als hun site besmet is.

De gehackte

Caroline vertelde wat zij allemaal gedaan heeft toen zij ontdekte dat haar site gehackt werd in november 2015.

Net als bij Manu, december 2015, gebruikte de hacker de servers om spam-mails te verzenden. Caroline is er in geslaagd om de geïnfecteerde bestanden te verwijderen, maar na een tijd zat de hacker er weer. Ook het veranderen van paswoorden bracht geen soelaas. Caroline had zelfs haar site op een andere server gezet maar na een paar dagen was het weer prijs.

Uiteindelijk heeft zij het opgelost door een oudere backup te restoren. Zij is wel veranderd van provider en zit nu bij Siteground. Deze biedt een extra service aan om voor een extra 2euro/maand, de site dageelijks op malware te scannen. Als beveilingsexensie heeft zij RSFirewall geïnstalleerd.

Deze 2 laatste acties heeft ook Manu uitgevoerd. RSFirewall heeft bij hem duidelijk aangetoond welke bestanden verschillend waren in vergelijking met het origineel (die blijkbaar in Github werden geconsulteerd). Manu is geen php-kenner en voor hem was het niet altijd duidelijke of die aangetoonde verschillen relevant of verdacht waren.
Op het moment van de hacking was Manu's site niet helemaal up to date (Joomla! wel, maar sommige extensies niet). Hij heeft die allemaal geupdated via Componenenten > Extensies > Update all. Achteraf heeft hij ontdekt dat die methodiek niet alle extensies onderhanden neemt. Zo werd de extensie BreezingsForms niet geüpdated via deze weg, terwijl het net die was die geïnfecteerd was. Dus updating via Extensie-beheer had hem een vals veilig gevoel gegeven van "alles is up to date". Daarom heeft Manu nu voor dergelijke extensies een lijst gemaakt van de geïnstalleerde extensies (met hun URL naar de Joomla! Extension Directory) en met het versienummer dat geïnstalleeerd is op zijn site(s). Hij moet dit lijstje dan geregeld aflopen om verschillen in versies tussen JED en zijn site te ontdekken.
Wat Manu ook extra stress leverde was het feit dat hij helemaal niet voorbereid was op dergelijke calamiteiten: zijn PC had niet de nodige tools (zelfs geen malwarescanner) waardoor hij extra tijd verloor (en in paniek stomme zaken deed).

Op zoek naar de infectie

Je gaat de folders / bestanden van de geïnfecteerde site vergelijken met wat jij verwacht dat het zou moeten zijn = een oudere backup gerestoreerd of een gelijkaardige site die dezelfde extensies heeft als de besmette.
De tool die hier getoond werd (op de gehackte demo-site van Karel) was WinMerge. Hierbij moeten wel de 2 te vergelijken sites lokaal op je PC staan. Een andere programma TotalCommander laat wel toe om bestanden lokaal te vergelijken met bestanden op een server (waarvoor je dan de FTP gegevens moet ingeven).
Hoe kan je eenvoudig en snel zo veel folders en bestanden van je site naar je PC downloaden? Als je Akeeba hebt dan maak je een backup waarvan je het gecomprimeerde bestand download naar je PC. Dit bestand kan je dan ontzippen met Akeeba Extract: deze tool installeert geen site, ze decomprimeert enkel de backup.

Je kan ook kiezen om je site te laten scannen door al of niet betalende services zoals bijvoorbeeld Siteguarding.com, MyJoomla.com. Manu en Caroline hebben dit niet concreet geprobeerd. Het zou kunnen dat dergelijke scans vertellen wat je moet updaten en dat er een besmetting is, maar niemand van de deelnemers in de zaal wist tot hoever in detail die scanners je inlichten over de infectie. Idem dito voor de hacking-tool van Siteground.

Er wordt betwijfeld of het wel nuttig is om de infectiehaard te detecteren door er zelf naar op zoek te gaan. Men is ervan overtuigd dat het efficiënter is om een backup te restoren en de componenten te udpaten (zoals Caroline en Manu uiteindelijk met succes gedaan hebben).

Bijkomende weetjes

Volgende feedback kwam er uit het publiek:
Aangeraden om Joomla FTP-layer afzetten in Global Settings. Je kan dan nog steeds met FTP op je site.
Referenties in je extensie naar Joomla verwijderen.
Beveiligingssoftware installeren is geen overbodige luxe.

Begin April 2016 zal JUG-Vlaanderen op hun site een uitvoerig artikel over beveiligen en onthacken van een joomla!-site publiceren. Hoe het in het oog!

Demonstratiebeveilings-exenties

Caroline toont enige functionaliteiten van RSFirewall alsook diens veiligheidscheck van het systeem (server en Joomla!).
De veiligheidsscan gaat mappen en bestandspermissies na, PHP-settings, en kijkt of de extensiebestanden nog gelijk zijn aan het origineel.

De getoonde screenshots en commentaren kan je in een apart artikel lezen over RSFirewall.

Uit het publiek kwam feedback over gelijkaardige of extra functionaliteiten in andere veiligheidstools

Zo laat AkeebaAdmin toe om IP-adressen per regio af te blokken.
Securitycheck is een goede tool zelfs in de gratis versie. PRO 36Euro

Luc toonde ons de Akeeba Admin interface.
Zonder de pretentie volledig te zijn noteerden we volgende verschillen met RSFirewall:
Er is een hele interface om een optimaal htccess-betnad naar je eigen smaak te maken. Het bevat veel settings, dat kan overdonderend overkomen maar je kan de standaard-settings zo overnemen.
Administrator IP Whitelist beperkt de toegang tot zelf gedefiniëerde IP-adressen. Luc past dit toe en wanneer hij in het buitenand is, dan gebruikt hij een VPN met zijn thuisnetwerk om dan met dat IP-adres zijn websites te onderhouden. Mocht je jezelf hebben afgeblokt, dan kan je deze restrictie via een specifiek bestand wijzigen.
Je kan in Akeeba Admin ook IP-blokkeren op basis van Contintenten en Landen. Dus als je een publiek hebt dat beperkt is tot een bepaalde regio, zou je dit kunnen instellen. Deze beperking wordt niet teogepast op zoekmotoren zoals Google en Bing ( te zien onder "Exception from blocking").
De IP-adressen die als spammers gekend zijn worden via "Project Honeypot integratie" mee inrekening gebracht.
Statistieken over hoe vaak een aanvalpoging zich voordeed dit jaar, vorige maand, deze maand, vandaag; en dit per type (SQL-injection, inlog-pogingen, ...).  Bij RSJFirewall heb je die keuze niet.
Het rapport dat toont via welke weg je site benaderd werd is iets duidelijker dan bij RSJFirewall.
In Akeeba Admin kan je ervoor kiezen dat de extensie je site automatisch Off-line zet bij noodgevallen.
AdminTools pro verhindert toegang tot site/admininstrator door via een alternatieve url toegang te krijgen.

Vergeleken met RSFirewall lijkt Akeeba Admin complexer, het beidt meer mogelijkheden maar lijkt dan ook meer technisch georiënteerd te zijn.
SecurityCheck Pro lijkt net als RSFirewall meer gebruiksvriendelijk.
Wat betreft effectiviteit van deze tools kunnen we geen onderlinge vergelijking doen (daar niemand ze beiden uitgeprobeerd heeft op een gehackte site).

Dr. Joomla

Case van Luc: Bij een upgrade van Joomla blijkt de Administrator module niet meer te openen. Enkel een foutmelding werd gemaakt over het niet kunnen openen van Mootools. Mocht Luc weten waar juist, in welk bestand, de oorsprong van de fout ligt, dan kon hij er aan werken. Maar nu heeft hij geen enkel idee.
Het voorstel van de zaal was om de debug-modus van Joomla aan te zetten. Maar hoe doe je dit als je niet aan de Admininstrator-console kan? Wel, dit blijkt eenvoudiger dan gedacht: in het bestand configuration.php hoeft hij aan public $debug de waarde '1' toe te kennen. Dan zal Joomla! in debug-modus opstarten en hopelijk voor Luc de plek tonen waar het vastloopt.