Gehackte website of verouderde CMS / plug-in
> Onderdeel van: Uitgaande e-mail opgeschort — wat nu?
Soms wordt spam helemaal niet vanuit je mailbox verstuurd, maar vanuit een script op je website. Een verouderde plug-in, een kwetsbaar thema of een achterdeur (backdoor) in je CMS geeft aanvallers de mogelijkheid om via jouw hostingaccount duizenden mails per uur uit te sturen — en omdat dat van jouw domein af komt, ziet ons systeem dat als een spammende mailbox.
Wanneer past dit op jou?
Eén of meer van deze zaken klopt:
- Je hebt een website op hetzelfde hostingaccount als de mailbox (WordPress, Joomla, Magento, Drupal, PrestaShop, etc.).
- Je hebt al een tijdje geen updates uitgevoerd op je CMS, plug-ins of thema.
- Je hebt plug-ins of thema's geïnstalleerd die je via een onofficiële bron (nulled, gratis variant van betaalde software) hebt verkregen.
- Je website laadt traag, toont vreemde pop-ups, of bezoekers worden doorgestuurd naar onbekende sites.
- Het wachtwoord wijzigen helpt niet — de spam blijft komen.
Stappenplan
Stap 3.1 — Werk je CMS, plug-ins en thema's bij
Log in op het beheerdersdeel van je website en installeer alle beschikbare updates:
- CMS-kern (bijv. WordPress zelf, Joomla zelf, Magento zelf)
- Alle plug-ins / extensies / modules
- Het actieve thema en eventuele kindthema's
Verwijder alles wat je niet (meer) gebruikt — inactieve plug-ins zijn nog steeds bestanden op de server en kunnen alsnog misbruikt worden.
Stap 3.2 — Scan je website op malware en backdoors
Gebruik een malwarescanner specifiek voor websites. Per platform:
WordPress:
- Wordfence (gratis plug-in, sterke scanner)
- Sucuri Security (gratis plug-in)
- MalCare (gratis basis-scan)
Joomla:
- RSFirewall!
- Handmatige scan via Sucuri SiteCheck (werkt voor elke website)
Andere CMS-en of maatwerk:
- Sucuri SiteCheck — externe scan, geen installatie nodig
- Quttera — externe website-scanner
Stap 3.3 — Verwijder onbekende of recent gewijzigde bestanden
Open je hostingaccount via FTP, SFTP of de bestandsbeheerder in het controlepaneel. Sorteer de map van je website op wijzigingsdatum (nieuwste bovenaan).
Let op bestanden die:
- Recent zijn gewijzigd zonder dat jij iets hebt gedaan
- Vreemde namen hebben (
wp-conf.php,xmlrpc-old.php,login2.php, willekeurige tekenreeksen alsa8f3kd.php) - In mappen staan waar normaal geen PHP-bestanden horen (bijv.
/wp-content/uploads/) - Veel onleesbare code bevatten met functies als
eval(,base64_decode(,gzinflate(
Bij twijfel: maak eerst een back-up voordat je iets verwijdert.
Stap 3.4 — Verwijder onnodige gebruikers en API-keys
Aanvallers maken vaak een tweede admin-account aan om later opnieuw binnen te kunnen. Controleer in het beheerdersdeel:
- Gebruikersaccounts: verwijder alle admin-gebruikers die jij niet kent.
- API-sleutels / application passwords: verwijder alles wat je niet zelf hebt aangemaakt.
- Geplande taken (cron jobs): controleer of er geen vreemde scripts periodiek worden uitgevoerd.
Stap 3.5 — Wijzig alle wachtwoorden rondom de website
Zodra je website schoon is:
- Wachtwoord van de admin-gebruiker van het CMS
- Database-wachtwoord (en update
wp-config.php/configuration.php/.env) - FTP- / SFTP-wachtwoord
- Mailboxwachtwoord (zie Artikel 1)
Stap 3.6 — Overweeg professionele hulp bij twijfel
Een geïnfecteerde website volledig schoonmaken is technisch werk. Twijfel je of het echt schoon is? Diensten als Sucuri of Wordfence Site Cleaning bieden tegen betaling een complete opschoning aan.
Hoe weet je of dit de oorzaak was?
Goede signalen:
- ✅ Je website-scanner heeft daadwerkelijk geïnfecteerde bestanden gevonden.
- ✅ Je vond onbekende admin-gebruikers of recent gewijzigde PHP-bestanden.
- ✅ Plug-ins of thema's waren maandenlang niet geüpdatet.
Klaar?
Website opgeschoond, alles bijgewerkt en wachtwoorden gewijzigd? Ga naar Stap 7 — Melden dat het is opgelost.