Magento 2 gehackt: dit doe je de eerste 24 uur
Terug naar blog

Magento 2 gehackt: dit doe je de eerste 24 uur

AuthorRuthger Idema
1 maart 202612 min leestijd

Je Magento 2 shop is gehackt. Geen paniek. Volg dit stappenplan en herstel je webshop veilig — inclusief AVG-meldplicht en malware verwijdering.

# Magento 2 gehackt: dit doe je de eerste 24 uur

Je ontdekt dat je Magento shop gehackt is. Misschien zag een klant iets vreemds op de betaalpagina. Misschien staat je shop op een blacklist. Misschien stuurde Google Search Console een waarschuwing.

Haal diep adem. Dit is oplosbaar.

We herstellen bij coding.nl regelmatig gehackte Magento shops. Wat we keer op keer zien: de eerste reactie — alles meteen offline halen en de boel wissen — maakt de situatie vaak erger. Dit artikel geeft je een gestructureerd stappenplan voor de eerste 24 uur.

Stap 1: Maintenance mode aan — niet offline halen

Je eerste instinct is begrijpelijk: alles uitzetten. Maar als je de server volledig afsluit of bestanden begint te verwijderen, vernietig je het bewijsmateriaal dat je nodig hebt.

Voer dit uit via SSH:

``bash

php bin/magento maintenance:enable

`

Doe daarnaast direct:

  • Wijzig alle adminpaneel-wachtwoorden
  • Vernieuw je API-sleutels (Mollie, betaalgateway, ERP-koppeling)
  • Blokkeer tijdelijk toegang tot /admin voor alle IP-adressen behalve die van jezelf

Stap 2: Aanvalsvector identificeren

Voordat je iets repareert, moet je weten hoe de aanvaller is binnengekomen.

Controleer de logbestanden

`bash

tail -200 /var/www/html/var/log/system.log

tail -200 /var/www/html/var/log/exception.log

tail -500 /var/log/nginx/access.log | grep -i "POST"

`

Controleer de database

`sql

-- Onbekende admingebruikers

SELECT user_id, username, email, created_at FROM admin_user ORDER BY created_at DESC;

-- Verdachte configuratie (externe scripts)

SELECT config_id, path, value, updated_at FROM core_config_data

WHERE value LIKE '%

-- Geïnjecteerde CMS-blokken

SELECT block_id, title, update_time FROM cms_block

WHERE content LIKE '% `

Meest voorkomende aanvalsvectoren

| Aanvalsvector | Kenmerken |

|---|---|

| Admin brute force | Veel mislukte loginpogingen, onbekende admin-accounts |

| Ongepatche CVE | Specifieke URL-patronen in logs |

| Gecompromitteerde extensie | Verdachte bestanden in vendor/ of app/code/ |

| FTP/SSH credentials gelekt | Onbekende bestanden, geen spoor in Magento logs |

Stap 3: Malware scannen

Geautomatiseerde scantools

  • Sansec eComscan — meest betrouwbare commerciele Magento malware scanner
  • Magento Security Scan Tool — gratis via account.magento.com
  • MageReport — snel overzicht via magereport.com

Handmatige controle op PHP-backdoors

`bash

grep -r "eval(base64_decode" /var/www/html --include="*.php" -l

grep -r "system(\$_" /var/www/html --include="*.php" -l

grep -r "exec(\$_" /var/www/html --include="*.php" -l

find /var/www/html -name "*.php" -mtime -30 | grep -v "var/cache"

`

Magecart/skimming herkennen

De meest gevreesde aanval: een JavaScript-skimmer die betaalgegevens steelt. De klant merkt niets, jij merkt niets — totdat iemand klaagt over creditcardfraude.

Zo werkt het:

  • Aanvaller krijgt toegang tot je omgeving
  • Ze injecteren JavaScript in je checkout (via core_config_data, CMS-blok of themabestand)
  • Dat script luistert naar toetsaanslagen in het betaalformulier
  • Kaartgegevens worden naar een externe server gestuurd
  • Stap 4: Schade inschatten

    Beantwoord deze vragen:

    • Welke data had de aanvaller toegang tot? Klantgegevens, betaalgegevens, wachtwoorden, bestelhistorie
    • Hoe lang was de aanvaller actief? Check timestamps in logs en database
    • Is er een skimmer actief geweest? Zo ja: ga ervan uit dat alle betaalgegevens in die periode zijn buitgemaakt

    Stap 5: AVG/GDPR melding — binnen 72 uur

    Bij een datalek met persoonsgegevens ben je in de meeste gevallen verplicht dit te melden bij de Autoriteit Persoonsgegevens — binnen 72 uur na ontdekking.

    Meld via: autoriteitpersoonsgegevens.nl/nl/melden-datalek

    Bij gelekte betaalgegevens (hoog risico) ben je ook verplicht de betrokken klanten te informeren.

    De 72-uurstermijn begint op het moment dat je kennis neemt van het lek. Twijfel? Meld alvast voorlopig en vul later aan.

    Stap 6: Herstel en opschonen

    De volgorde is belangrijk

  • Sluit het lek (patch de CVE, verwijder gecompromitteerde extensie, wijzig credentials)
  • Verwijder alle malware en backdoors
  • Herstel vanuit een schone backup van voor de aanval
  • Controleer opnieuw na het herstel
  • Wachtwoorden en credentials resetten

    • Alle Magento admin-accounts
    • Database-wachtwoord + env.php bijwerken
    • FTP/SFTP-wachtwoorden
    • Hosting control panel
    • API-sleutels voor alle koppelingen
    • Verwijder onbekende admin-accounts

    Stap 7: Herhaling voorkomen

    • Verander de admin-URL — de standaard /admin` is het eerste wat aanvallers proberen
    • Schakel 2FA in voor alle admin-gebruikers
    • Houd Magento up-to-date — de meeste hacks misbruiken bekende kwetsbaarheden
    • Beperk admin-toegang op IP-niveau
    • Installeer een WAF (Cloudflare, Sucuri)

    | Maatregel | Prioriteit |

    |---|---|

    | Security patches direct installeren | Hoog |

    | Admin 2FA verplicht | Hoog |

    | Regelmatige security scan | Hoog |

    | Minimale extensies, alleen betrouwbare bronnen | Hoog |

    | Offsite backups (30 dagen) | Hoog |

    | File integrity monitoring | Medium |

    | Admin-URL wijzigen | Medium |

    Wanneer bel je een specialist?

    Bel een specialist als:

    • Je geen SSH-toegang hebt
    • Je geen schone backup kunt vinden
    • Je na het schoonmaken opnieuw gehackt wordt
    • Er aanwijzingen zijn voor een skimmer
    • Je de aanvalsvector niet kunt identificeren

    Bij coding.nl helpen we webshop-eigenaren met spoed bij dit soort incidenten.

    Veelgestelde vragen

    Moet ik aangifte doen bij de politie?

    Niet verplicht, maar aan te raden bij financiële schade voor klanten. Meld via 0900-8844 of het digitaal loket.

    Moet ik mijn betaalprovider informeren?

    Ja, absoluut. Neem direct contact op met je PSP (Mollie, Adyen, MultiSafepay). Zij kunnen transacties monitoren op fraude.

    Hoe lang duurt het herstel gemiddeld?

    Voor een specialist: 4 tot 8 uur. Zonder ervaring kan het dagen duren.

    Hoe weet ik of mijn shop nu echt schoon is?

    Voer meerdere scans uit met verschillende tools, controleer handmatig verdachte locaties, en herstel bij voorkeur vanuit een gevalideerde schone backup. Blijf daarna logs monitoren.

    Wat kost een hack gemiddeld?

    Van een paar honderd euro voor technisch herstel tot tienduizenden euro's inclusief reputatieschade, klantvergoedingen en gemiste omzet.

    Ruthger Idema

    Geschreven door Ruthger Idema

    15+ jaar ervaring in e-commerce development. Gespecialiseerd in Magento, Shopify en Laravel maatwerk.

    Meer over ons team →
    Deel dit artikel:

    Wil je jouw e-commerce naar het volgende niveau?

    Plan een vrijblijvend gesprek met onze experts over Magento, Shopify of Laravel maatwerk.

    Plan een Tech Check