Wat dekt een Magento security audit? Scope, tools zoals Adobe Security Scan en Sansec eComscan, het rapport, kostenfactoren en het verschil met een pentest.
Een Magento security audit beantwoordt één vraag: waar kan iemand binnenkomen, en wat staat er al binnen? Je krijgt geen certificaat. Je krijgt een lijst met bevindingen, een prioriteit per bevinding en een plan om ze op te lossen.
Veel eigenaren vragen een audit aan zonder te weten wat erin zit. Ze krijgen dan een PDF van 60 pagina's met scanneroutput. Of juist drie pagina's met "ziet er goed uit". Beide zijn nutteloos.
Dit artikel laat zien wat een goede audit dekt, welke tools meedraaien, wat je als rapport hoort te krijgen en hoe je dat rapport leest.
Wil je weten wat je zelf moet inrichten? Dat staat in de Magento 2 security checklist. Dit artikel gaat over wat een auditor beoordeelt. Het overzicht van al onze security-content staat op de security-pagina.
Audit, scan en pentest zijn drie verschillende dingen
De termen worden door elkaar gebruikt. Dat leidt tot verkeerde verwachtingen.
| Automatische scan | Security audit | Pentest | |
|---|---|---|---|
| Vraag | Welke bekende problemen zie ik? | Wat is de staat van de hele shop? | Kan een aanvaller echt binnenkomen? |
| Werkwijze | Tool, vaak van buitenaf | Tools plus handmatige review met toegang tot code en server | Gesimuleerde aanval, meestal zonder toegang |
| Resultaat | Lijst met bevindingen | Rapport met prioriteit en fixplan | Bewezen aanvalspaden |
| Beperking | Mist maatwerk en configuratie | Bewijst geen exploiteerbaarheid | Kijkt niet naar de hele configuratie |
De eerlijke versie: een audit is geen pentest. Een audit kijkt van binnenuit naar je code, configuratie en server. Een pentest probeert van buitenaf echt in te breken. Ze vullen elkaar aan. Heb je een eis van een betaalprovider, verzekeraar of grote klant, vraag dan eerst wat zij precies bedoelen.
Wat een audit dekt: acht onderdelen
1. Core versie en patchniveau
De auditor kijkt welke Magento- of Adobe Commerce-versie draait en welke security patches ontbreken. Een shop op een ondersteunde minor-versie mist soms toch een losse patch.
Concreet controleren ze:
- versie en patchniveau van de core
- of de gebruikte versie nog security-updates ontvangt
- of eerdere patches volledig zijn toegepast, ook in
composer.lock
Hoe je patches uitrolt zonder dat de shop stilstaat, lees je in security patches zonder downtime. Het updatebeleid eromheen staat in de updatestrategie.
2. Extensies en Composer-dependencies
Hier zit meestal het grootste risico. De core wordt door Adobe onderhouden. Een extensie van een kleine leverancier niet altijd.
De auditor beoordeelt:
- welke extensies actief zijn en welke ongebruikt in
app/codeofvendorstaan - of een extensie nog wordt onderhouden
- bekende kwetsbaarheden in extensies en libraries (via advisories en
composer audit) - maatwerkcode: SQL-queries, input-validatie, bestandsuploads,
ObjectManager-gebruik - of er extensies van onbekende bron of uit gekopieerde zips zijn geïnstalleerd
Maatwerk en kleine extensies krijgen de meeste handmatige aandacht. Een scanner kent die code niet.
3. Admin en configuratie
Een beheeromgeving die open op het internet staat, is een veelgenoemd risico.
- admin-URL en toegangsbeperking (IP-filter, VPN)
- twee-factor-authenticatie voor beheerders
- sterkte van wachtwoordbeleid en sessie-instellingen
- aantal beheerders en of oud-medewerkers nog een account hebben
- API-integraties en hun tokens
4. Rollen en toegangsbeheer
Wie mag wat? Een marketingmedewerker die rechten heeft om extensies te beheren of configuratie te wijzigen is een bevinding.
De auditor loopt alle admin-rollen na, controleert gebruikers per rol en kijkt naar integratietokens met te brede rechten. Ook SSH-, database- en deploy-toegang horen hierbij.
5. Server en hosting
Een veilige Magento op een slecht ingerichte server blijft kwetsbaar.
- bestandsrechten en eigenaarschap
- welke mappen publiek bereikbaar zijn (
app/etc,var, backups) - PHP-versie en ondersteunde software (OpenSearch/Elasticsearch, database, Redis)
- TLS-instelling en security headers
- firewall, WAF en rate limiting
- bereikbaarheid van databases en cache-services van buiten
- backups: bestaan ze, staan ze buiten de webroot, werkt een restore
Bij managed hosting is een deel hiervan al door de host geregeld. Een goede audit legt vast wat bij de host ligt en wat bij jou.
6. Betaalpagina's en scripts van derden
Digital skimming gebeurt vaak in de browser van de klant, niet op je server. Een kwaadaardig script op de checkout leest kaartgegevens mee.
De auditor inventariseert:
- welke scripts op checkout en betaalpagina's laden (tag manager, chat, tracking, A/B-tests)
- van welke domeinen die komen en of ze nog nodig zijn
- of er een Content Security Policy staat
- of er integriteitscontrole of wijzigingsdetectie is
Voor shops die kaartgegevens verwerken is dit ook een compliance-onderwerp. PCI DSS v4.0.1 bevat de requirements 6.4.3 en 11.6.1 over scripts op betaalpagina's. Die zijn sinds 1 april 2025 verplicht. Welke eisen voor jouw situatie gelden, hangt af van hoe je betalingen afhandelt (bijvoorbeeld een volledig gehoste betaalpagina of embedded velden). Controleer dat bij je betaalprovider of acquirer. Dit is geen juridisch advies.
7. Logs en monitoring
Een audit kijkt ook naar wat er al gebeurd is.
- webserver- en applicatielogs op verdachte requests
- recent gewijzigde bestanden in core,
pub/en templates - onbekende admin-gebruikers en cronjobs
- onverwachte database-wijzigingen, zoals scripts in CMS-blokken of configuratie
- of logs lang genoeg worden bewaard om iets te reconstrueren
Vind je tekenen van een inbraak, dan stopt de audit en begint een incident. Wat dan te doen staat in Magento 2 gehackt, wat nu.
8. Proces en herstelbaarheid
Dit onderdeel vergeten veel rapporten. Beveiliging is ook een werkwijze.
- wie krijgt security-meldingen en reageert erop
- hoe snel gaat een kritieke patch live
- is er een staging-omgeving en een rollback
- is er een draaiboek voor een incident
Handmatig of tools: je hebt beide nodig
Tools vinden snel brede, bekende problemen. Handmatige review vindt wat tools niet kennen: maatwerk, rolrechten en logica.
| Onderdeel | Tool | Handmatig |
|---|---|---|
| Ontbrekende patches | Goed | Controle op volledigheid |
| Bekende kwetsbare extensies | Goed | Beoordeling van impact |
| Malware in bestanden en database | Goed | Context bij verdachte vondsten |
| Maatwerkcode | Beperkt | Nodig |
| Rollen en rechten | Slecht | Nodig |
| Serverconfiguratie | Deels | Nodig |
| Scripts op checkout | Deels | Nodig |
Twee tools die je tegenkomt:
- Adobe Commerce Security Scan Tool. Adobe biedt deze gratis aan voor Adobe Commerce en Magento Open Source. De tool scant van buitenaf op ontbrekende patches, mogelijk kwetsbare extensies, digital skimming en misconfiguraties. Je verifieert je domein en kunt een scan plannen. Adobe noemt het aantal tests en signatures in de eigen documentatie, controleer daar de actuele stand.
- Sansec eComscan. Een scanner voor malware en kwetsbaarheden die je op de server draait. Volgens Sansec kijkt hij naar bestanden, database, processen en cronjobs. Hypernode heeft documentatie over het gebruik op hun platform. Zonder licentie draait hij volgens die documentatie in een beperkte modus, met minder detail per detectie. Check de actuele voorwaarden en prijzen bij Sansec zelf.
Een tool is een invoerbron voor de audit. Het is geen vervanger. Een schone scan betekent: geen bekende patronen gevonden. Het betekent niet: veilig.
Wat je als deliverable hoort te krijgen
Vraag vooraf wat je krijgt. Een bruikbaar rapport bevat:
- Samenvatting voor de eigenaar. Een pagina. Wat is de algehele staat, wat zijn de drie dingen die nu moeten.
- Scope en methode. Wat is wel en niet bekeken, met welke tools, met welke toegang.
- Bevindingen met prioriteit. Per bevinding: wat, waar, risico, bewijs en advies.
- Fixplan. Volgorde, inschatting van de inspanning en wat zonder downtime kan.
- Heronderzoek. Afspraak om na de fixes te controleren of ze werken.
Mis je het fixplan, dan heb je een probleemlijst. Mis je de scope, dan weet je niet wat er níet is bekeken.
Zo lees je het rapport
Sla de scanneroutput over en begin bij de prioriteiten.
- Kritiek/hoog: een aanvaller kan zonder inloggen binnenkomen of er is al iets aangetroffen. Dit pak je direct op.
- Middel: exploiteerbaar onder voorwaarden, zoals een admin-account of een specifieke configuratie. Plan het binnen een paar weken.
- Laag/informatief: hardening en verbeterpunten. Bundel ze in regulier onderhoud.
Let op drie dingen:
- Vraag per bevinding: is het bewezen of vermoed? Een versienummer dat "mogelijk kwetsbaar" is, is geen bewezen lek.
- Let op dubbele meldingen. Eén kwetsbare extensie kan vijf regels in een scanrapport geven.
- Vraag naar het effect. "Wat kan een aanvaller hiermee in mijn shop?" is de vraag die prioriteit bepaalt.
Wat bepaalt de kosten?
Wij noemen hier geen vaste bedragen. Prijzen verschillen sterk per aanbieder en per shop. Wat de prijs wel bepaalt:
- aantal extensies en hoeveel maatwerkcode er is
- aantal storeviews, integraties en omgevingen
- of de auditor toegang krijgt tot code en server, of alleen van buiten kijkt
- of compliance-eisen zoals PCI DSS meespelen
- of je het fixplan ook laat uitvoeren
- of je een heronderzoek inplant
Vraag altijd om een offerte met scope. Een audit voor een kleine shop met weinig maatwerk is iets anders dan een shop met tientallen integraties.
Hoe vaak laat je een audit doen?
Een vaste regel bestaat niet. Wel een paar logische momenten:
- vóór of kort na livegang van een nieuwe shop
- na een grote upgrade of migratie
- na een incident
- bij een nieuwe eis van een betaalprovider, verzekeraar of klant
- daarnaast periodiek, bijvoorbeeld jaarlijks, afhankelijk van hoe vaak je shop verandert
Tussen audits door werk je met continue controles: geplande scans, patchbeleid en monitoring. Hoe dat in onderhoud past, staat op onze pagina over Magento support.
Veelgestelde vragen
Wat is een Magento security audit?
Een Magento security audit is een gestructureerd onderzoek naar de beveiliging van je hele shop. Het dekt core, extensies, configuratie, server, betaalpagina's en logs. Het resultaat is een rapport met bevindingen, prioriteiten en een fixplan.
Is een security audit hetzelfde als een pentest?
Nee. Een audit beoordeelt code, configuratie en server met toegang van binnenuit. Een pentest simuleert een echte aanval, meestal van buitenaf. Een audit bewijst niet dat iets exploiteerbaar is. Een pentest geeft geen volledig beeld van je configuratie.
Is een gratis scan genoeg?
Een gratis scan is een goede eerste stap, zoals de Adobe Commerce Security Scan Tool. Hij kijkt vooral van buitenaf naar bekende problemen. Maatwerkcode, rollen en serverinstellingen blijven buiten beeld. Gebruik de scan als aanvulling, niet als audit.
Hoe lang duurt een audit?
Dat hangt af van de omvang van de shop en de toegang die de auditor krijgt. Een kleine shop met weinig maatwerk vraagt minder tijd dan een shop met veel integraties. Vraag bij de offerte om een indicatie van de doorlooptijd.
Wat doe ik met een rapport vol bevindingen?
Begin bij kritieke en hoge bevindingen en vraag per bevinding wat het effect is. Laat een fixplan opstellen met volgorde en inspanning. Plan na de fixes een heronderzoek, zodat je weet dat de oplossingen werken.
Wil je weten waar jouw shop staat? Neem contact op. We bespreken kort de scope en vertellen eerlijk of een audit, een scan of eerst een patchronde de juiste stap is.

Geschreven door Ruthger Idema
15+ jaar ervaring in e-commerce development. Gespecialiseerd in Magento, Shopify en Laravel maatwerk.
Meer over ons team →


