Is je WordPress gehackt, dan telt elk uur. Vreemde redirects, onverwachte admin-users, spam-popups of een waarschuwing van Google: het zijn signalen dat een aanvaller binnen is. Snel handelen beperkt de schade voor bezoekers, je reputatie en je posities in Google. Met dit stappenplan maak je je site weer schoon en dicht je het lek waardoor de aanvaller binnenkwam.
Stap 1: site offline halen
Een gehackte WordPress-site die online blijft, kan bezoekers schade doen en door Google worden gemarkeerd als “Deze site kan jouw computer schaden”. Haal de site daarom direct uit de lucht. Twee opties die je zelf kunt uitvoeren:
- Installeer een maintenance-mode-plugin (bijvoorbeeld WP Maintenance Mode) en activeer deze. Lukt dat niet meer omdat de WP-admin onbruikbaar is, kies dan de tweede route.
- Bewerk
.htaccessin de root vanjouw-website.nlen voeg bovenaan een HTTP 503-respons toe, bijvoorbeeld met een eenvoudige rewrite naar een statischemaintenance.html. Apache verwerkt.htaccessook op Chessweb, want we draaien nginx voor apache.
Kom je er niet uit? Neem contact op, dan kijken we kosteloos met je mee en zetten we zo nodig een back-up terug. Een gehackte site opschonen kan ook, tegen betaling.
Hoe je een site via Plesk offline haalt, lees je in website tijdelijk offline halen.
Stap 2: schone backup terugzetten
Een schone back-up terugzetten gaat sneller dan zelf malware opsporen, en je weet zeker dat die versie werkte. Bij onze WordPress hosting maken we back-ups met Acronis en bewaren we ze tot 6 maanden op het Advancedpakket en tot 1 jaar op het Businesspakket. Kies een datum die zeker vóór de hack ligt, anders zet je de malware terug. Twijfel je over het tijdstip, kies dan iets verder terug.
Hoe terugzetten met Acronis werkt, lees je in backup terugzetten. Zet bestanden en database terug naar hetzelfde moment, anders passen WordPress en de database niet meer bij elkaar.
Let op: vink bij het terugzetten van je bestanden Delete any files in the original location that were created after the backup aan. Acronis verwijdert dan ook de bestanden die de aanvaller na de back-up heeft geplaatst. Zonder dat vinkje blijven die staan. Kom je er niet uit, dan kijken we met je mee.
Stap 3: wachtwoorden resetten
Ga ervan uit dat de aanvaller inloggegevens heeft buitgemaakt. Reset álle wachtwoorden die met de site te maken hebben, niet alleen die van de WP-admin:
- Alle WordPress-administratoren en redacteuren. Verwijder admin-accounts die je niet herkent.
- Hosting-account (Mijn Chessweb) en het Plesk-controlepaneel.
- FTP- en SFTP-gebruikers in Plesk.
- Database-gebruikers. Werk daarna
wp-config.phpbij met het nieuwe database-wachtwoord. - De WordPress-secret-keys in
wp-config.php. Vervang ze met de officiëlesecret-key-generatorvan WordPress, zodat actieve sessies van de aanvaller direct ongeldig zijn.
Schakel daarna twee-factor authenticatie (2FA) in op de WP-admin. Wordfence Login Security of Google Authenticator zijn beproefde plugins.
Beveilig ook Mijn Chessweb met tweestapsverificatie. Ga naar Mijn account en kies links 2-staps authenticatie instellen. Klik op Klik hier om uw code te genereren, scan de QR-code met een authenticator-app zoals Google Authenticator, vul de code uit de app in en klik op Activeren.
Stap 4: kwetsbaarheid sluiten
Een hack lukt vrijwel altijd via een verouderde plugin, een verouderd thema of een verouderde WordPress-core. Sluit dat gat voor je weer online gaat:
- Update WordPress-core naar de nieuwste minor- en major-versie. Zie WordPress updaten.
- Update élke plugin en élk thema, ook de inactieve. Inactieve code kan nog steeds via een directe URL aangeroepen worden.
- Verwijder plugins en thema’s die je niet herkent, of die uit een onbekende bron komen. Nulled plugins van torrent-sites zijn een veelvoorkomende infectie-bron.
- Controleer je PHP-versie. Verouderde PHP krijgt geen security-updates. Zie PHP-versie wisselen.
Stap 5: malware-scan en opschonen
Ook na het terugzetten van een schone back-up is een scan verstandig, om zeker te weten dat er geen achterdeurtje is achtergebleven (bijvoorbeeld in een backup van vóór de detectie, of in de uploads-map). Combineer een externe scan met een scan op de server:
- Sucuri SiteCheck: gratis online scan op
jouw-website.nl, kijkt naar zichtbare malware en blacklist-status bij Google, McAfee en Norton. - Wordfence: plugin met een ingebouwde scanner die WordPress-bestanden vergelijkt met de officiële repository en afwijkingen meldt.
- MalCare: online scanner die na het terugzetten een tweede controle doet.
Verdachte bestanden in /wp-content/uploads/ met een PHP-extensie zijn vrijwel altijd kwaadaardig: de uploads-map hoort geen PHP te bevatten. Verwijder ze. Controleer ook .htaccess op vreemde rewrite-regels naar onbekende domeinen.
Stap 6: monitoring opzetten
Een gehackte site die hersteld is, blijft een doelwit. Zet daarom een firewall en monitoring op, zodat je een nieuwe aanval vroeg ziet en tegenhoudt:
- Wordfence Firewall: een Web Application Firewall op plugin-niveau die bekende aanvallen blokkeert en het aantal inlogpogingen beperkt.
- Sucuri Firewall: een cloud-WAF die het verkeer al voor je server filtert. Past goed bij sites met veel verkeer.
- File-integrity-monitoring: Wordfence en MalCare melden je per e-mail als WordPress-bestanden onverwacht zijn veranderd.
Plan daarnaast vaste onderhoudsmomenten: maandelijks updates draaien, jaarlijks ongebruikte plugins opruimen, en periodiek je admin-users controleren. Dat voorkomt dat de site geleidelijk weer kwetsbaar wordt.
Hulp nodig? Onze support kijkt met je mee, neem contact op.