Een Joomla website die is gehackt komt regelmatig voor. Herstel van een gehackte Joomla website is vaak tijdrovend en dus kostbaar. Uit onze jarenlange ervaring met het herstellen van een gehackte Joomla website, blijkt dat in 99% van de gevallen de hack te voorkomen was geweest met een of meerdere veiligheidsmaatregelen. In bijna alle gevallen was er dus iets niet in orde op het gebied van veiligheid of beveiliging van de website.
Voorkomen is nog altijd beter dan genezen. In dit artikel leggen we uit wat je kunt doen om een gehackte Joomla website te voorkomen.
1. Houd Joomla en de extensies van je website up-to-date
Misschien is dit wel onze belangrijkste tip: zorg ervoor dat je de updates die uitkomen voor Joomla en extensies zo snel mogelijk installeert. Het merendeel van de gehackte Joomla websites blijkt op verouderde software te draaien.
Verouderde versies van Joomla of extensies bevatten veiligheidslekken die misbruikt kunnen worden door hackers om toegang te krijgen tot je website. Als er een update beschikbaar is voor Joomla, wordt dit gemeld in het control panel van Joomla. Updaten doe je door op de button te klikken en de aanwijzingen te volgen.
Ook updates voor Joomla extensies worden gemeld en deze kun je ook updaten via het beheer van je website.
2. Gebruik een sterk wachtwoord
Hoewel veel mensen er wel van op de hoogte zijn, gebruikt nog lang niet iedereen een sterk wachtwoord.
Het is heel gemakkelijk om de gebruikersnaam en het wachtwoord te kraken van zwakke inloggegevens. Dit staat bekend als ‘Brute Forcing’.
Gebruik voor je website geen makkelijk te raden wachtwoorden of korte wachtwoorden. Gebruik jij een van deze zwakke en gevaarlijke wachtwoorden?
- 12345
- Je eigen naam
- wachtwoord
- Hetzelfde wachtwoord dat je altijd gebruikt
- Je geboorteplaats
- Je favoriete kleur
- Een wachtwoord van minder dan 8 tekens
Hoe veilig is jouw wachtwoord? Je kunt het testen op testjewachtwoord.nl. Een sterk wachtwoord kun je aanmaken op Norton Wachtwoordgenerator.
Het is ook onverstandig om hetzelfde wachtwoord voor meerdere websties te gebruiken, ook als je een sterk wachtwoord gebruikt.
Op PixelPrivacy is een interessant artikel verschenen over het gevaar van het gebruik van hetzelfde wachtwoord voor meerdere doeleinden. Ook lees je er tips om een veilig wachtwoord te maken en het op een veilige manier te gebruiken, het gebruik van password managers, etc.
3. Maak regelmatig back-ups van je website
Wat een geluk, als je een schone back-up hebt als je website is gehackt! Dat scheelt zoveel tijd en frustratie. Maak daarom regelmatig een back-up van je website. Je kunt daarvoor een back-up extensie gebruiken zoals Akeeba Backup of Easy Joomla backup.
4. Bescherm de Joomla administrator url
Veel van de aanvallen op Joomla websites zijn geautomatiseerde pogingen om in te loggen op het beheerdersdeel. Deze zogenoemde brute force attacks zijn vaak erg intensief en zorgen daardoor voor een grote serverbelasting en kunnen ervoor zorgen dat je website traag wordt of zelfs offline gaat. Door de toegang tot de inlogpagina te beperken vergroot je de veiligheid van je Joomla website. De twee populairste manieren om dit te bereiken, zijn het vervangen van de URL van de inlogpagina of het beveiligen van de inlogpagina met een wachtwoord.
URL wijzigen
Het is heel gemakkelijk om de inlogpagina-URL te wijzigen met extensies als Admin Tools of RSFirewall.
Inlogpagina beveiligen met een wachtwoord
Je kunt de inlogpagina beveiligen met een wachtwoord door in DirectAdmin (het controlepanel van je hostingpakket) te klikken op Password Protected Directories > Find a Directory to Password Protect > bij de map administrator: Protect. Vul de velden van het volgende venster in, plaats een vinkje bij Protection Enabled en klik op Save. Het wachtwoord is ingesteld en vanaf nu moet je elke keer het wachtwoord invoeren om de beheerderspagina te openen. Omdat de URL van de inlogpagina niet is gewijzigd, zullen de aanvallen op de inlogpagina gewoon doorgaan. Alleen belast dit je website niet meer omdat er een extra deur vóór de normale deur is geplaatst. Als er wordt geklopt aan die extra deur, wordt voor de controle van de ingevoerde inloggegevens niet de database van je website geraadpleegd, maar een simpel tekstbestandje op de server.
Toegang beperken tot jouw IP-adres
Heb je ervaring met FTP, dan kun je ook in plaats van bovenstaande maatregelen de toegang tot de inlogpagina beperken tot jouw IP-adres. Dit werkt alleen als je internetprovider je een statisch IP-adres heeft verstrekt. Veel internetproviders werken met dynamische IP-aressen. Je IP-adres kan dan wijzigen, al gebeurt dat vaak alleen in bepaalde situaties. Bijvoorbeeld als je modem enige tijd zonder stroom heeft gezeten en dan weer wordt opgestart. Gebruik je deze methode en wijzigt je IP-adres, dan heb je geen toegang meer tot de beheerpagina. Natuurlijk kun je wel met behulp van je FTP-programma het IP-adres wijzigen zodat je weer toegang hebt.
Wil je deze methode gebruiken, maak dan een .htaccess bestand met deze inhoud:
Order Deny,Allow
Deny from all
Allow from 100.100.100.100
In plaats van 100.100.100.100 vul je je eigen IP-adres in. Upload het bestand naar de administrator map van je Joomla website. Vanaf dat moment heb je enkel nog vanaf jouw IP-adres toegang tot de inlogpagina.
5. Kies voor een hostingprovider die veilige hosting biedt
De veiligheid van jouw website kan in gevaar komen door de serverconfiguratie van je hostingprovider. Kies daarom niet voor de eerste en de beste hostingprovider.
Het is lastig voor een leek om een goede hostingprovider te herkennen. Stip Hosting staat in de top van de beste en veiligste hostingproviders van Nederland. Je kunt dus met een gerust hart je Joomla website en e-mail bij ons onderbrengen.
6. Gebruik beveiligingsextensies
Met beveiligingsextensies kun je aanvallen van hackers blokkeren. Beveiligingslekken van Joomla en/of extensies kunnen minder gemakkelijk misbruikt worden. Er zijn veel beveiligingsextensies voor Joomla. De betaalde extensies bieden meestal meer bescherming dan de gratis versies.
Het kan voor een beginner lastig zijn om de beveiligingsextensie goed in te stellen. Ik raad aan om de documentatie vooraf zorgvuldig door te nemen, om te voorkomen dat je verkeerde instellingen doet waardoor je website niet meer te bezoeken is (mogelijk ook niet door jou).
7. Stel authenticatie in twee stappen in
Met authenticatie in twee stappen bescherm je je inlogpagina met zowel je wachtwoord als je telefoon Je vult je inloggegevens in samen met een extra code die je ontvangt op je telefoon. Zonder die extra code is inloggen niet mogelijk.
Instellen van authenticatie in twee stappen is niet moeilijk en wordt in het Nederlands beschreven op de officiele documentatiepagina’s van Joomla.
8. Installeer geen templates of extensies van warez websites
Hoewel het aantrekkelijk lijkt om een premium template of extensie gratis te downloaden en te installeren, is het geen goed idee. In 99% van de gevallen is het gedownloade bestand geïnfecteerd met malware. Als je gedownloade en geïnstalleerde bestand is geïnfecteerd, heeft een hacker rechtstreeks toegang tot de back-end van je website. In plaats van geld te besparen, geef je geld uit voor het herstellen van je website.
Als je premium templates of extensies wilt gebruiken, schaf deze dan aan via de officiele kanalen, dat wil zeggen via de website van de ontwikkelaar. Wil je er niet voor betalen, zoek dan naar een soortgelijke template of extensie, maar dan een die gratis is.
9. Zet FTP uit
Bij een goede hostingpartij is het niet nodig om de FTP-optie aan te zetten. Het aan zetten van FTP is een veiligheidsrisico. Standaard staat het uit als je Joomla installeert. Mocht het bij jouw hostingprovider nodig zijn om FTP aan te zetten, zet het dan meteen weer uit nadat je klaar bent.
FTP vind je hier: Systeem > Algemene instellingen > tabblad Server.
10. Juiste bestands- en maprechten
Zet de map- en bestandsrechten nooit op 777. Onjuiste instellingen geeft hackers de mogelijkheid om bijvoorbeeld bestanden te wijzigen of te besmetten met malware.
Gebruik voor mappen 755, voor bestanden 644 en zet het bestand configuration.php op 444.
11. Installeer een SSL-certificaat
Na installatie van een SSL-certificaat kan je website draaien op HTTPS. De inloggegevens die je invoert worden dan versleuteld verzonden. Als inloggegevens worden onderschept, bijvoorbeeld doordat je computer is besmet met malware, dan kan een hacker er niets mee vanwege de versleuteling.
12. Hernoem het bestand htaccess.txt naar .htaccess
Joomla heeft standaard een bestand dat je site bescherming geeft tegen veelvoorkomende aanvallen. Dit bestand is standaard niet ingeschakeld omdat het op sommige servers problemen geeft. Als je via FTP inlogt, dan vind je het bestand in de root van je website. Wijzig de bestandsnaam in .htaccess om van de basisbescherming gebruik te maken.
Log daarna in op het beheer van je Joomla website en klik op Systeem > Algemene Instellingen > tabblad Website. Klik bij Gebruik URL herschrijven op Ja en daarna op Opslaan & Sluiten.
13. Verwijder ongebruikte templates en extensies
Ook als een template of extensie niet is geactiveerd, kan deze gevaarlijk zijn voor je website als er een beveiligingslek in zit. Vaak worden ongebruikte templates en extensies niet up-to-date gehouden door de sitebeheerder. En dat maakt het nog gevaarlijker. Verwijder ze daarom van je website.
14. Beveilig formulieren met ReCaptcha
Formulieren worden veel misbruikt door spambots. Soms ontvangen mensen honderden mailtjes per dag via door spambots ingevulde formulieren. Een ‘gewone’ code is tegenwoordig niet genoeg om spam tegen te houden. Spambots worden steeds slimmer en kunnen die code lezen. Gebruik daarom ReCaptcha. In een eerder artikel heb ik uitgelegd hoe ReCaptcha werkt en op de officiële Joomla website lees je hoe je ReCaptcha instelt voor je Joomla 3 website.
15. Gebruik geen oude PHP versie
Een verouderde PHP versie kan je Joomla website kwetsbaar maken. Het is belangrijk om te controleren of je de laatste PHP versie gebruikt. Je kunt de versie van PHP bekijken via Systeem > Systeeminformatie. Staat daar een lagere versie dan PHP 8.1? Probeer dan of je website kan draaien op PHP 8.1. Bij een Joomla 3 website die up-to-date is, dat niet altijd mogelijk. Je kunt dan PHP 8.0 proberen. Joomla 4 draait zonder problemen op PHP 8.1.
De PHP versie wijzig je in het hosting controle panel. Host je bij Stip Hosting, dan kun je kiezen uit vier PHP versies. Natuurlijk is de nieuwste PHP versie altijd een van die vier. Op onze helppagina’s lees je hoe je de PHP versie wijzigt. Kom je er niet uit, vraag ons dan gerust om het voor je in te stellen.
Dit artikel is eerder verschenen op 8 oktober 2019 en voor het laatst geactualiseerd op 8 september 2022.