Stappenplan voor gehackte WordPress websites

Dit is een vervolg op deel 1 van deze blogpost; wordpress-websites-veilig-houden.

Wat te doen nadat je website gehacked is?

technological-detective-xs
Heb je een digitale Sherlock Holmes nodig?

Onderstaande stappenplan is ingrijpend en vereist redelijk wat technische expertise. Je gaat hierbij je website volledig opnieuw installeren, omdat malware zich vaak diep in WordPress heeft genesteld. Nadeel van deze methode is dat je heel veel zaken weer opnieuw zult moeten instellen (plugins, thema’s).

Zelfs dit is echter geen garantie dat je site weer volledig malware vrij is. Vaak lijkt de site weer schoon, maar is er toch nog een achterdeurtje achtergebleven waardoor aanvallers opnieuw toegang verkrijgen, zelfs nu de website up-to-date was. Hierdoor kan het opschonen van een website een frustrerend en onbegonnen werk lijken. We raden dan ook aan om, als je niet zeker bent van je eigen technische kennis iemand in te schakelen die gespecialiseerd is in website beveiliging.

[notification style=”tip” font_size=”12px” closeable=”true”] Als je niet vaak wijzigingen aan je website maakt, en redelijk zeker weet wanneer de website geinfecteerd is geraakt kun je ook een backup van de website terug laten zetten. Soms blijven infecties echter maandenlang onopgemerkt, en bevat de backup dus ook de malware. [/notification]

Stappenplan na infectie

1. Scan je eigen computer

Scan voor je begint je eigen pc op malware met een malware scanner, zoals MalwareBytes, in ieder geval 1 die je nog niet op je computer had. Het kan namelijk zijn dat je besmet bent geraakt door het bezoeken van je eigen website, of de oorzaak van de infectie kan malware op je eigen computer zijn geweest (bijvoorbeeld malware je die FTP wachtwoord heeft gestolen: http://www.henselhosting.nl/pas-goed-op-je-ftp-wachtwoorden).

2. Wachtwoorden aanpassen

Stel je FTP wachtwoord opnieuw in via het Control Panel op https://www.managedomain.nl. Klik hier voor hulp bij inloggen.

3. Backup downloaden

Gebruik een FTP programma om via FTP een backup van al je bestanden te downloaden naar je eigen computer. Download de gehele map www/ in je domein door deze naar een lokale folder te slepen. Afhankelijk van de grootte van je website kan dit tot enkele uren duren.

We raden aan voor de zekerheid ook een backup van je database te downloaden (database backups staan in de map .databases). Als je niet weet welke database in gebruik is, kun je dit uitlezen uit het bestand www/wp-config.php  op de regel die begint met:

define(‘DB_NAME’, ‘Fabcd1234_wp0’);

In dit geval is “Fabcd1234_wp0″ de in gebruik zijnde database.

[notification style=”tip” font_size=”12px” closeable=”true”] Tip: Maak een extra backup van de database via het wp-admin/ panel. Je kunt de tekstuele inhoud van je website exporteren via het menu Tools->Export. Mocht het mis gaan met deze stappen, dan heb je in ieder geval al je teksten nog, die je altijd kunt importeren in een schone WordPress installatie. [/notification]

4. Herinstalleer WordPress

In deze stap verwijderen we de bestanden van de huidige website, dus weet je zeker dat het downloaden van de backup via FTP (stap 3) afgerond is? De database, waarin al je teksten staan wordt hierbij overigens niet verwijderd, en kun je weer in gebruiken in de volgende stap.

Installeer WordPress nu opnieuw via het Customer Care Center. Weet je niet hoe? Kijk dan op onze pagina wordPress opnieuw installeren.

[notification style=”warning” font_size=”12px” closeable=”true”] Let op: Gebruikte je een erg verouderde versie van WordPress, dan zul je die specifieke versie terug moeten zetten via FTP, omdat je (verouderde) database anders niet kan samenwerken met de laatste versie van WordPress. [/notification]

5. Neem je oude database weer in gebruik

Surf naar https://api.wordpress.org/secret-key/1.1/salt/ om nieuwe sleutels aan te maken.

In de backup uit stap 3, die op je computer staat, bevindt zich een bestand genaamd wp-config.php. Open dit bestand in je favoriete tekst editor, en vervang de sleutels (meestal redelijk onderaan).

Overschrijf via FTP het bestand www/wp-config.php weer op de nieuwe installatie. Hierdoor wordt de oude database weer in gebruik genomen.

6. Zoek in je backup naar verdachte bestanden in de map uploads

Zoek in de backup op je computer in de volgende map: www/wp-content/uploads/ naar *.php bestanden. Die horen hier bijna nooit thuis. Als je bestanden vindt met deze extensie, open ze dan op je computer met een teksteditor om te zien of het kwaadaardige bestanden zijn, of verwijder ze simpelweg allemaal. Toegevoegde code is vaak verhuld, ingepakt in b.v. BASE64 formaat en/of GZIP’ed.

7. Zet je upgeloade bestanden terug

Zet nu de map www/wp-content/uploads/ terug via FTP door deze in zijn geheel up te loaden.

8. Herinstalleer je plugins en thema

Download alle in gebruik zijnde plugins via het wp-admin/ panel.

Download je thema opnieuw, en installeer deze.

Tip: Je kunt in de backup op je computer in de map “www/wp-content/plugins” kijken om te zien welke je allemaal in gebruik had, en de naam van je thema staat in “www/wp-content/themes”.

Belangrijk! Zet niet de plugins en thema zelf terug uit de backup, want deze bevatten tegenwoordig bijna altijd achterdeurtjes waardoor je website direct weer gehacked wordt.

Vervolg stappen

9. Verdachte gebruikers

Controleer WordPress op verdachte gebruikers (verwijder deze), en wijzig alle administrator wachtwoorden. Gebruik altijd een sterk wachtwoord van minimaal 10 karakters.

10. WordFence Plugin

Installeer de plugin Wordfence en scan je website op problemen. Wordfence controleert onder andere of WordPress bestanden zijn aangepast, maar vindt niet alle malware die verborgen is in bijvoorbeeld plugins of thema’s.

[notification style=”warning” font_size=”12px” closeable=”true”] Niet alle aanpassingen hoeven perse te duiden op een infectie (bijvoorbeeld een taalwijziging). Je kunt de verschillen in bestanden zelf even bekijken via “View details”. [/notification]

11. Bekijk of alle plugins en je thema nog ondersteund worden

Update alle CMS software, plugins en thema’s. Controleer dat alle software nog ondersteund wordt door de ontwikkelaar. Soms worden plugins meegeleverd met thema’s, maar vervolgens niet upgedate (recentelijk bijvoorbeeld revslider). Vraag bij twijfel je thema ontwikkelaar om hulp.

12. Doorloop al je pagina’s en posts

Bekijk de inhoud van elke pagina en post met de Text editor om te zien of er kwaadaardige links of code aan is toegevoegd.

13. Stel een nieuw database wachtwoord in

Reset het database wachtwoord via PhpMyAdmin, en wijzig deze gegevens in wp-config.php. Je kunt de gegegevens om te in te loggen uitlezen uit het bestand “www/wp-config.php”.

14. Scan je website

Gebruik websites zoals http://unmaskparasites.com en http://sitecheck.sucuri.net/ en http://www.google.com/safebrowsing/diagnostic?site=www.jouwwebsite.nl (let op, vervang je domeinnaamin de laatste url) om je website te scannen op verdachte links. Let op dat deze scanners alleen een toevoeging zijn op andere stappen en zeker niet aan kunnen aangeven of je website nog besmet is.

Extra informatie en een algemeen stappenplan kun je ook vinden op http://www.google.com/webmasters/hacked/

Hulp nodig?

Ondanks deze stappen is het goed mogelijk dat je toch achtergebleven malware hebt gemist, waardoor de website elke keer opnieuw besmet raakt.

Als je er zelf niet uit komt, kunnen we je helpen bij het opschonen en updaten van je website*, neem daarvoor contact met ons op. Wij hebben uitgebreide ervaring met malware infecties, waardoor we deze op efficiente wijze kunnen opspeuren en verwijderen. De kosten voor onze Update Service zijn €170,- per jaar of eenmalig voor het opschonen van je website, met 1 jaar kostenloze opschoonservices bij herbesmetting.

* deze dienst is alleen beschikbaar voor klanten van Hensel Hosting. Prijzen zijn onder voorbehoud en exclusief BTW.