Wanneer je merkt dat je website is gehackt, schieten er waarschijnlijk honderd dingen te binnen die je zou kunnen en willen doen. Helaas kun je geen 100 dingen tegelijk, dus beperk je jezelf tot de meest essentiële eerste stappen.
Ik ga er in dit artikel vanuit dat je weinig kaas gegeten hebt van allerlei scripts die je kunt gebruiken op je server en dat je alleen toegang hebt tot je hosting account en je Joomla website.
Met onderstaand stappenplan kun je ervoor zorgen dat de schade voor anderen beperkt blijft en je op je gemak je website kunt repareren.
[su_service title=”Let op” icon=”icon: info-circle” icon_color=”#000000″ size=”16″]Dit artikel richt zich op situatie waarin de database niet is aangetast door de hack en er geen SQL-injection heeft plaatsgevonden. Is dat waarschijnlijk wel het geval, dan doe je er verstandig aan een specialist je website te laten herstellen.[/su_service]
Stappenplan voor het repareren van een gehackte Joomla website als er geen back-up beschikbaar is
1. Haal je website direct offline
Er bestaan scripts die via websites computers infecteren met virussen. Zolang je niet weet wat de hacker precies heeft uitgespookt met je website, is het offline halen van je website de meest verantwoordelijke eerste stap. Doe dit bij voorkeur via een .htaccess script en niet alleen door je website via de Joomla backend (als je daar nog bij kunt) offline te zetten. Hoe je dit kunt doen, lees je in dit artikel en werkt voor elke server waar je mappen en bestanden kunt beveiligen met een wachtwoord.
2. Scan je computer
Mocht je Joomla website zijn gehackt via een virus op je computer, dan heeft het wijzigen van wachtwoorden voor server, hosting of Joomla, weinig zin. Stap 2 is dus jezelf ervan overtuigen dat er geen virussen op je computer staan die (opnieuw) wachtwoorden kunnen stelen.
3. Wachtwoorden vervangen
Als je zeker weet dat zich geen virussen op je computer bevinden, wijzig dan de wachtwoorden voor je hosting, FTP, de database en Joomla administrator (als je nog toegang hebt tot de backend).
4. Plaats besmette bestanden in quarantaine
Log in op je server via FTP en ga naar de map waarin zich je Joomla bestanden en mappen bevinden. Maak een nieuwe map. Noem deze bijvoorbeeld ‘OUD’ en plaats ALLE Joomla mappen en bestanden, behalve het configuration.php bestand, in die map. Plaats deze map, indien mogelijk, buiten de root-directory van je server en beveilig de map met een wachtwoord.
5. Controleer het configuration.php bestand
Open het bestand configuration.php en controleer of zich daar geen code in bevindt die er niet thuishoort. Wijzig dan in het configuratiebestand het wachtwoord voor de database.
6. Upload een schoon Joomla installatiepakket
Download een nieuw Joomla installatiepakket en upload deze mappen en bestanden (die schoon zijn) naar de root van je server (de map waarin Joomla hoort te staan). Als je dit gedaan hebt, zul je in de meeste gevallen weer toegang hebben tot de backend van je website.
7. Installeer third-party extensies opnieuw
Maar maak eerst een back-up met Akeeba, voordat je daarmee begint!
Als het goed is, heb nu toegang tot de backend van Joomla. De volgende stap is het opnieuw installeren van alle extensies die niet standaard bij Joomla horen. Bedenk hierbij dat bij vrijwel de meeste extensies de benodigde data in de database is opgeslagen en dus niet verloren is gegaan. Het enige dat je dus (theoretisch) hoeft te doen, is het opnieuw installeren van de extensies die je op je website had.
Let op: vrijwel de meeste extensies overschrijven geen gegevens in de database. Een enkele extensie doet dit wel. Als dit het geval is, dien je op de website van de ontwikkelaar na te gaan op welke wijze je het best de extensie opnieuw kunt installeren.
8. Plaats de afbeeldingen terug op je server
Je hebt eerder alle oude bestanden in de map OUD geplaatst. Gebruik je FTP programma om in die map alle afbeeldingen uit de map /images te (en onderliggende mappen) downloaden naar je computer en, nadat je deze hebt gecontroleerd, weer te uploaden naar de nieuwe map images. Let op: upload alleen afbeeldingen en geen bestanden die zich eventueel in die mappen bevinden.
Tip: in de regel geldt dat in de folder /images nooit PHP bestanden staan. Zorg er dus voor dat er alleen bestanden staan die eindigen op de extensie .jpg, jpeg, .gif of .png (dit zijn de vier meest voorkomende afbeelding extensies)
9. Controleer de template bestanden
Joomla hacks vinden veelal plaats via zwakke template codering. Het is dus zeer goed mogelijk dat de template de oorzaak is van de hack en daarom dien je extra voorzichtig te zijn bij het terugplaatsen van de template. Dit terugplaatsen doe je op dezelfde manier als het terugplaatsen van de afbeeldingen: download de template folder naar je computer, controleer de bestanden en upload de map terug naar de map /templates op je server.
Geen template aanpassingen gedaan
Veel mensen passen de template aan hun wensen aan, bijvoorbeeld door de css bestanden te wijzigen of andere bestanden die invloed hebben op de lay-out van je website. Heb je dat niet gedaan, dan kun je et beste een nieuw exemplaar van de template downloaden op de website van de ontwikkelaar en die installeren.
Wel template aanpassingen gedaan
Heb je wijzigingen aangebracht aan de template bestanden, dan zul je de template bestanden handmatig moeten controleren op kwalijke codes. Je kunt hiervoor een nieuw exemplaar van de website van de template ontwikkelaar downloaden en bestanden vergelijken.