Malware verwijderen van je gehackte WordPress website
In dit artikel leggen we uit waarom en hoe WordPress websites gehackt worden. Daarnaast geven we een stappenplan om malware te verwijderen en je gehackte WordPress website op te schonen.
Waarom worden WordPress websites gehackt?
De belangrijkste motivatie voor de meeste hackers is geld. De gehackte websites worden ingezet om commerciële websites te promoten, vooral in de sferen van gokken, seks en geneesmiddelen. Door het hacken van een website kunnen er bijvoorbeeld duizenden spam e-mails gestuurd worden. Of er worden links op je website geplaatst waardoor Google wordt misleid en de commerciële websites hoger in de zoekresultaten komen. Af en toe zijn hacks ook ideologisch/politiek gemotiveerd.
Hoe kom je erachter dat je WordPress website gehackt is?
- Er verschijnen links op de website die er niet horen. Vaak zijn dit links naar websites die te maken hebben met pornografie, gokken, drugs, illegale geneesmiddelen, et cetera . Soms zijn de links opgenomen in de kleur van de achtergrond van de website, zodat ze voor bezoekers niet zichtbaar zijn, maar wel voor zoekmachines.
- Wanneer je zoekt naar je eigen website op Google (bijvoorbeeld ‘sowmedia.nl’ als zoekterm), verschijnt er informatie over de website die niet van jou afkomstig is.
- Bezoekers van je website worden geredirect naar een andere website. Soms zelfs alleen je mobiele bezoekers.
- Je website wordt gebruikt om spam te versturen. In zo’n geval krijg je meestal een melding van je hostingbedrijf dat er onnatuurlijk veel e-mail worden verstuurd vanaf je website.
- Organische zoekverkeer daalt doordat Google jouw WordPress website niet meer in de zoekresultaten toont.
Hoe kan je WordPress website gehackt worden?
Om de controle over je WordPress website over te nemen, is het voor hackers noodzakelijk om op de één of andere manier een bestand op je server te kunnen uploaden of bewerken. Over het algemeen zijn er vier mogelijke ingangen die de hacker toegang geven tot je website:
- Onveilige wachtwoorden; de meeste WordPress hacks die wij tegenkomen hadden voorkomen kunnen worden door veiligere wachtwoorden te kiezen.
- Update-beleid; wanneer je WordPress, je plugins en je thema niet of zelden updated, vergroot je aanzienlijk de kans om gehackt te worden.
- Onveilige thema’s/plugins; soms kan je website up-to-date zijn, maar alsnog een onveilig thema/plugin bevatten. Schaf een plugin/thema daarom altijd aan vanaf een betrouwbare website.
- Slechte hosting; je kunt je website zelf helemaal beveiligd hebben, maar als het bij je hostingpartij bijvoorbeeld mogelijk is om bestanden te verplaatsen tussen je verschillende websites, dan is het slecht geregeld met de beveiliging.
Lees meer over de stappen om te voorkomen dat je WordPress website wordt gehackt.
Liever de video-uitleg om WordPress op te schonen?
We hebben ook een video-handleiding gemaakt waarin we stap voor stap uit leggen hoe je je gehackte WordPress website kunt opschonen. Je kunt deze hieronder bekijken, of dit artikel verder lezen.
Je WordPress website hackvrij maken
Wanneer een hacker toegang heeft gehad tot je website, zijn mogelijk bestanden toegevoegd/gewijzigd, wachtwoorden aangepast en mogelijks zelfs nieuwe gebruikers toegevoegd. Wanneer je één van deze acties niet detecteert en opschoont, hebben alle andere acties geen zin, want de hacker kan zich dan nog steeds toegang verschaffen en opnieuw schade aanrichten. Het opschonen dient dus grondig te gebeuren.
We proberen alle stappen zo eenvoudig mogelijk uit te leggen, maar enige technische kennis is wel een vereiste. Zorg dat je in elk geval een beheerders-account hebt in WordPress, dat je FTP-toegang hebt (en dat je weet hoe FTP werkt), en dat je met een programma zoals phpMyAdmin of Adminer bij de database kunt komen. De stappen die we gaan nemen zijn:
Backup je gehackte WordPress website
Je gaat je WordPress website grondig opschonen. Dat betekent dat je ook wel eens teveel kan opschonen en dat je eigenlijk beter opnieuw kunt beginnen. In zo’n geval is het altijd handig om een backup achter de hand te hebben. Zorg ervoor dat je zowel alle bestanden als alle databases toevoegt aan de backup.
Sluit de deuren
Zorg dat je WordPress website tijdelijk niet toegankelijk is van buitenaf. Theoretisch kunnen hackers je website namelijk opnieuw besmetten terwijl je nog bezig bent met het doorlopen van de stappen. Ook voorkom je zo dat je bezoekers nog besmet met mogelijk geïnstalleerde malware op je website.
Via het controlepaneel van je hosting-partij kun je vaak de website blokkeren door middel van een wachtwoord, of met een IP-filter. Als je toegang hebt tot je .htaccess-bestand kun je de volgende regels toevoegen om één specifiek IP-adres toe te laten (achterhaal jouw IP-adres op WhatIsMyIPAddress.com):
order deny,allow deny from all allow from 123.456.789.123
Zoek naar de oorzaak van je gehackte WordPress website
Het is belangrijk om er zo snel mogelijk achter te komen wat de oorzaak van de hack is en hoeveel impact de hack heeft.
- Zoek je plugins, thema’s en WordPress versie op in de WPScan Vulnerability Database en bekijk of er kwetsbaarheden bekend zijn voor de versies die op jouw website geïnstalleerd staan.
- Gebruik je Google Webmasters? Ga naar je dashboard en kijk of daar ook melding wordt gemaakt van malware.
- Controleer je website bij Google: http://www.google.com/safebrowsing/diagnostic?site=www.example.com
- Veel hosting partijen stellen access logs beschikbaar. Hiermee wordt op serverniveau een regel opgeslagen voor elk opgevraagd bestand. Bestanden die door hackers geplaatst zijn, worden meestal met een ‘POST-request’ opgevraagd. Door te zoeken naar ‘POST’ in je access log, filter je op een lijst waarvan je de php-bestanden nader kunt onderzoeken. Verderop in dit artikel leggen we uit waar je op moet letten als je php-bestanden doorzoekt. Deze bestanden zijn overigens niet per definitie lek; een POST-request wordt bijvoorbeeld ook gebruikt als je een contactformulier invult, of als je inlogt op wp-login.php.
- We maken soms ook mee dat er nog een oude WordPress website op dezelfde server staat, bijvoorbeeld in de map ‘old’. Vaak wordt deze installatie vergeten en niet meer ge-update, wat als gevolg heeft dat de gehele website kwetsbaar is voor allerlei oude veiligheidslekken.
Bestanden opschonen van je gehackte WordPress website
Bij een geslaagde hack kan de hacker een bestand plaatsen of bewerken in mogelijk elke map op je webserver; niet alleen in de map van bijv. de veroorzakende lekke plugin. Dit betekent dat je alle mappen en bestanden zou moeten langslopen, en dat is monnikenwerk. Gelukkig kun je het uitpluis-werk beperken in verschillende stappen. We leggen ze hieronder uit.
Gebruikers opschonen
Nu alle bestanden schoon zijn, is het nog steeds mogelijk dat hackers toegang hebben tot je website. Ze kunnen bijvoorbeeld een extra beheerders-account aangemaakt hebben, of het wachtwoord hebben gewijzigd van één van de andere gebruikers. Bovendien is de kans ook aanwezig dat hackers zijn binnengekomen doordat ze een zwak wachtwoord wisten te raden.
Ga daarom in WordPress naar ‘Gebruikers’ en verwijder alle gebruikers die er niet thuishoren. Stel voor alle overige gebruikers een nieuw (complex!) wachtwoord in. Zo weet je zeker dat een hacker niet kan inloggen met een bestaande account. Leg aan je bestaande gebruikers uit waarom het noodzakelijk is om een complex wachtwoord te gebruiken.
Controleer database
De gevorderden onder ons kunnen nu ook nog eens een kijkje nemen in de database. Met een programma als PhpMyAdmin of Adminer kun je relatief eenvoudig door je database bladeren. Allereerst kun je eens een kijkje nemen in de ‘wp_users’ tabel; zie je nog gebruikers staan die er niet thuishoren? Verwijder deze dan alsnog handmatig. Soms lukt het hackers namelijk om een onzichtbare gebruiker toe te voegen.
Bekijk verder eens de tabelstructuur en vergelijk deze met de standaard WordPress Database structuur; zijn er tabellen toegevoegd die je niet thuis kunt brengen? Bekijk ze dan eens nader. Overigens voegen sommige plugins ook tabellen toe aan je database. Verwijder dan enkel de tabellen van inmiddels verwijderde plugins.
Wijzig alle wachtwoorden
In de vijfde stap heb je de wachtwoorden van je gebruikers al gewijzigd, maar wellicht hebben hackers in de achtergrond nog meer wachtwoorden weten te achterhalen. Wijzig daarom in elk geval het wachtwoord van je database, maar ook je FTP-account, het hosting config panel, etc. Zo hoef je niet te twijfelen of je website wel weer helemaal veilig is. Vul het nieuwe database-wachtwoord ook in bij ‘DB_PASSWORD’ in het bestand wp-config.php.
Live zetten en testen
Je bent nu zover om je WordPress website weer live te zetten. Verwijder de blokkade van stap 1 en controleer of je website weer toegankelijk is zonder dat je ingelogd bent, bijvoorbeeld door je website te bezoeken vanaf een ander netwerk, of met je telefoon zonder wifi aan.
Mogelijk krijg je nu nog wel meldingen van Google dat je WordPress website malware bevat. In dat geval kan je WordPress website op een blacklist zijn gezet, waardoor deze ook niet meer in de zoekresultaten van Google wordt weergegeven. Gebruik de mogelijkheden die Google biedt om je WordPress website weer terug in de zoekresultaten te krijgen.
- Google Diagnostic Center (vervang www.voorbeeld.nl in de url voor je eigen domein). Met deze tool controleer je of de website op de blacklist van Google staat.
- In Google Webmasters wordt aangegeven of en wanneer Google een probleem met je WordPress website heeft geïndexeerd.
- Dien met de Google Reconsideration Tool een verzoek in bij Google om je WordPress website opnieuw te laten indexeren.
Updaten
Achter de schermen van WordPress is een grote community van ontwikkelaars continu bezig met het verbeteren van de code. Dit heeft als voordeel dat bekende lekken in WordPress, plugins en thema’s vaak heel snel worden gedicht door het uitbrengen van een nieuwe versie. Zorg er daarom altijd voor dat je website up-to-date. Zo verklein je de kans behoorlijk om opnieuw gehackt te worden én kun je een nieuwe update heel snel uitvoeren omdat het dan vaak maar een kleine wijziging is.
Handige links
- Richtlijnen van Google voor het verwijderen van Malware
- Hulp voor Webmasters van gehackte websites (Google)
- Stappenplan van Google voor het opschonen van websites
- Sucuri SiteCheck
- Unmask Parasites
- VirusTotal
Plugins
Onderstaande plugins helpen je om je website te beveiligen. En wanneer je website gehackt is kunnen de plugins je ook helpen om de website op te schonen.
Steve ontwikkelt WordPress websites en houdt zich bezig met nieuwe technieken voor WordPress, online communicatie en website-optimalisatie.
Interessant! :)
Goed artikel, helder geschreven !
Handig artikel!
Een vraag: is het oke als dit de eerste twee regels van het .htaccess bestand zijn?
# BEGIN WordPress
Hoi Els,
Dat is geen probleem!