Magento 2-module – Beveiligingsscanner en detectie van schadelijke code
- Compatibiliteit
- 2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.7, 2.3.6, 2.3.5, 2.3.4
Beschrijving / Magento 2-module – Beveiligingsscanner en detectie van schadelijke code
MAGENTO 2 · MONITORING · DETECTIE · RAPPORTEN
Detecteer verdachte wijzigingen en beoordeel incidenten sneller.
Kowal Security Scan
Controleer bestanden en geselecteerde inhoud van de Magento-database. Combineer lokale detectieregels met rapportage, optionele AI-analyse en URL-reputatiebeoordeling via Google Safe Browsing.
Bestanden en database · Cron en CLI · Regels en allowlists
HOE HET IN DE PRAKTIJK WERKT
01 · U configureert de scan
U schakelt de module, rapporten en geselecteerde integraties in.
02 · De scanner controleert de webshop
U start scans handmatig of via cron.
03 · Het team beoordeelt het rapport
Het verifieert detecties en onderneemt verdere acties.
Wat levert dit uw webshop op?
Ontdek de functies, toepassingen en instellingen van de module.
Maak kennis met de module
Kowal Security Scan is een uitgebreide beveiligingsmodule voor Magento 2 die helpt om verdachte wijzigingen in bestanden, schadelijke code, gevaarlijke URL's en injecties in database-inhoud sneller te detecteren. De module is ontworpen om licht te werken, zonder extra agents en zonder complexe implementatie.
Belangrijkste functies van de module
- Scan op bestandswijzigingen - detecteert nieuwe, gewijzigde en verwijderde bestanden binnen de Magento-applicatie.
- Heuristische malwarescan - analyseert bestanden
php,phtml,js,html,svg,htaccessen andere dragers van payloads. - Analyse van PHP-tokens - detecteert ketens
decode -> execute, dynamische callbacks, variable function calls en verdachteinclude/require. - Databasescan - controleert geselecteerde Magento-tabellen op schadelijke HTML, JavaScript, SVG,
data:URI's en gevaarlijke links. - Integratie met Google Safe Browsing - beoordeelt de reputatie van URL's die in de inhoud van de webshop voorkomen.
- Optionele OpenAI-analyse - breidt het rapport uit met risicobeoordeling en aanbevelingen voor acties.
- Geavanceerde allowlists - maken het mogelijk false positives te beperken op het niveau van domeinen, bestanden, inhoud en specifieke regels.
- Rapporten met kant-en-klare configuratie - de module stelt kandidaten voor allowlists voor en genereert een genormaliseerde JSON-export die direct kan worden gebruikt.
Wat onderscheidt deze module?
- Stabiele regel-ID's - bestands- en databaseregels hebben hun eigen
rule_id, waardoor de allowlist-configuratie niet afhankelijk is van de volledige tekstuele beschrijving. - Rapporten die incidentafhandeling ondersteunen - het rapport toont niet alleen detecties, maar ook het risiconiveau, aanbevelingen en kant-en-klare configuratie-items.
- Controle over false positives zonder de scanner uit te schakelen - u kunt één regel voor een specifieke pad- of tabelverwijzing dempen in plaats van de hele module uit te schakelen.
- Volledige automatisering - de module werkt via cron, maar elke scan kan ook handmatig via CLI worden gestart.
Welke bedreigingen helpt de module detecteren?
- geobfusceerde PHP-code op basis van
eval,base64_decode,gzinflateen vergelijkbare technieken, - schadelijke JavaScript-insluitingen in CMS-inhoud,
- externe iframes en verdachte redirects,
- SVG-payloads en inhoud verborgen in
data:URI's, - gevaarlijke links naar malware, phishing of ongewenste software,
- ongeautoriseerde wijzigingen in applicatiebestanden.
Waar zoekt de module naar bedreigingen?
De module analyseert kerngebieden van de webshop waar incidenten het vaakst voorkomen:
- bestanden van de Magento-applicatie en modules,
- CMS-blokken,
- CMS-pagina's,
core_config_data,- Magento- en nieuwsbrief-e-mailsjablonen,
- productinhoud en klantbeoordelingen.
Rapporten en operationele reactie
- Resultaten worden opgeslagen in een speciale rapporttabel van de module.
- Het rapport kan per e-mail naar de operator worden verzonden.
- Elke detectie kan een risiconiveau, operationele aanwijzingen en een gekoppelde
rule_idbevatten. - Het rapport kan kant-en-klare suggesties voor allowlists en een genormaliseerde configuratie in JSON voorbereiden.
Voorbeeldtoepassingen
- detectie van schadelijke code die na een inbraak in de webshop is toegevoegd,
- monitoring van ongeautoriseerde wijzigingen in implementatiebestanden,
- detectie van geïnfecteerde CMS-blokken of inhoud in de database,
- beoordeling of een verdachte URL aan de allowlist moet worden toegevoegd of uit het systeem moet worden verwijderd.
Waarom is het de moeite waard?
- Snelle implementatie - werkt als Magento 2-module zonder extra infrastructuur.
- Praktische rapportage - de module stopt niet bij detectie, maar helpt de stap naar een operationele beslissing te zetten.
- Betere controle over de kwaliteit van meldingen - allowlists en
rule_idhelpen een hoge effectiviteit te behouden zonder een stroom aan valse alarmen. - Goede aansluiting op productieomgevingen - automatische scans, e-mailrapportage en handmatige CLI-commando's ondersteunen het dagelijkse werk van het technische team.
Compatibiliteit
- Magento Open Source 2.3.x - 2.4.x
- Adobe Commerce / Magento Commerce
Wat bevat het pakket?
- Magento 2-module met cron-taken en CLI-commando's,
- administratieve configuratie van de module,
- rapportagemechanisme naar database en e-mail,
- uitgebreide detectieregels en allowlist-systeem.
Documentatie en ondersteuning
Voor de module is implementatie- en configuratiedocumentatie beschikbaar, en de architectuur ondersteunt verdere verfijning van regels en beveiligingsprocessen in de Magento 2-webshop.
Zorg voor eerdere detectie van incidenten in Magento 2 met Kowal Security Scan.
Eerste scan en monitoringgebied
De bestaande beschrijving vermeldt Magento Open Source 2.3.x–2.4.x en Adobe Commerce / Magento Commerce. De compatibiliteit van een specifieke Magento- en PHP-versie moet worden gecontroleerd met de geleverde pakketversie. De eerste uitvoering van filecheck maakt een basissnapshot. Pas volgende scans vergelijken de status en rapporteren ADDED, MODIFIED en REMOVED. Gebieden zoals var, generated, vendor, pub/static en node_modules worden overgeslagen in de wijzigingsscan.
Database Scan omvat geselecteerde tabellen: cms_block, cms_page, core_config_data, email_template, newsletter_template, review_detail en catalog_product_entity_text. De module biedt geen garantie dat alle bedreigingen worden gedetecteerd en verwijdert infecties niet automatisch.
Planning en configuratie
In Stores → Configuration → Kowal → Security Scan stelt u activiteit, ontvanger en afzender van rapporten en retentie in. De standaard-cron start de wijzigingsscan om 00:00, malware om 01:00, de database om 02:00 en het opschonen van rapporten om 02:30.
Automatisering vereist een werkende Magento-cron en e-mailbezorging. Handmatige commando's zijn kowal_securityscan:filecheck, kowal_securityscan:malwarecheck en kowal_securityscan:dbcheck.
Optionele API en nauwkeurige uitzonderingen
Zonder OpenAI en Google Safe Browsing werken de basis lokale scans. Geactiveerde API's vereisen eigen sleutels en toegang tot de diensten. AI-analyse verzendt verdachte fragmenten naar OpenAI; u configureert het model en de maximale context. Safe Browsing controleert gedetecteerde URL's en het basisadres van de webshop.
Het dempen van één regel voor een bestand of tabel is specifieker dan het overslaan van het hele bestand of record. Keur allowlist-kandidaten uit het rapport en de JSON-export goed na verificatie — het rapport ondersteunt de beslissing van de operator, maar vervangt deze niet.
Installatie via Composer
Pakket kowal/module-securityscan, module Kowal_SecurityScan. Nadat toegang tot de Kowal-repository is geconfigureerd, installeert u het pakket, schakelt u de module in, werkt u Magento bij en leegt u de cache. Neem in productie compilatie en implementatie van statische content op volgens het proces van de webshop.
Van configuratie naar resultaat
1. U configureert de scan
U schakelt de module, rapporten en geselecteerde integraties in.
2. De scanner controleert de webshop
U start scans handmatig of via cron.
3. Het team beoordeelt het rapport
Het verifieert detecties en onderneemt verdere acties.
Verdacht script in een CMS-blok
De databasescan detecteert een JavaScript-fragment in CMS-inhoud. Het rapport vermeldt het record en de regel, en optionele AI-analyse helpt het risico te beoordelen.
De operator controleert of het om een incident of een correcte integratie gaat. Een geverifieerd vals alarm kan met een nauwkeurige allowlist-regel worden gedempt.
Schakel regelmatige Magento-monitoring in
Wilt u de module afstemmen op uw webshop? Vraag naar de implementatie van Kowal Security Scan en bespreek de configuratie of benodigde uitbreidingen.
Meer informatie
| Overeenstemming met sjabloon | Luma / Blank, Smid |
|---|
Change Log
Versie: 1.0.27
31.03.2026
We hebben de module Kowal_SecurityScan uitgebreid met nieuwe functies voor bedreigingsanalyse en rapportbeheer.
Nieuw
- Integratie met OpenAI toegevoegd voor de analyse van gewijzigde bestanden en verdachte records in de database.
- Rapporten en e-mailberichten bevatten nu een risicobeoordeling en aanbevolen acties op de gebieden:
- Magento
- server
- firewall
- OpenAI-configuratie toegevoegd in het Magento-paneel, waaronder:
- AI-analyse in- en uitschakelen
- API-sleutel
- modelkeuze
- limiet voor context die aan de analyse wordt doorgegeven
Verbeteringen
- De lijst met OpenAI-modellen wordt nu dynamisch opgehaald uit de API en in de configuratie als dropdown weergegeven.
- De inhoud van e-mailberichten is uitgebreid met identificatie van de Magento-webshop:
- het domein van de webshop
- de URL van de webshop
- Het domein van de webshop wordt ook toegevoegd aan het onderwerp van het bericht, wat het beheer van meerdere instanties vergemakkelijkt.
Automatisering en onderhoud
- Een nieuwe cron toegevoegd voor het opschonen van oude items uit de rapporttabel.
- De retentietijd van rapporten is configureerbaar via system.xml als aantal dagen.
Technische fixes
- De logica voor analyse van verdachte bestanden en records is opgeschoond.
- De verwerking van datacontext die aan AI-analyse wordt doorgegeven is verbeterd.
- Een probleem met DI-compilatie in verband met de eerdere implementatie van de OpenAI-client is opgelost.
Installatiehandleiding voor de module
Handleiding voor de module Kowal_SecurityScan
Overzicht
De module breidt Magento 2 uit met een beveiligingsmonitoringlaag voor applicatiebestanden, geselecteerde databasetabellen, verdachte URL's en optionele incidentanalyse via OpenAI.
Rapporten worden opgeslagen in de tabel kowal_securityscan_report en kunnen per e-mail worden verzonden.
Belangrijkste functies
- scan van wijzigingen in Magento-bestanden met vergelijking met een snapshot,
- heuristische scan van bestanden
php,phtml,php5,inc,phar,js,html,htm,svg,htaccess, - analyse van PHP-tokens via
token_get_all(), - scan van geselecteerde databasetabellen op schadelijke HTML, JavaScript, SVG,
data:URI's en verdachte URL's, - integratie met Google Safe Browsing API,
- optionele OpenAI-analyse voor detecties,
- configureerbare allowlists voor domeinen, bestanden, inhoudspatronen en regels,
- rapporten met kant-en-klare suggesties voor allowlists en export van genormaliseerde JSON-configuratie.
Vereisten
- Magento 2,
- beschikbare module
kowal/base, - werkende Magento-cron,
- correct geconfigureerde e-mailverzending,
- optioneel: OpenAI API-sleutel en Google Safe Browsing API-sleutel.
Installatie
1. Pakketrepository toevoegen
Voeg de Kowal Composer-repository toe:
Toegangsgegevens voor de Composer-repository, het e-mailadres van de klant en de licentietoken, ontvangt u per e-mail na aankoop. Ze zijn ook beschikbaar in het klantenpaneel na inloggen op kowal.store. Vervang TWOJ_EMAIL_KLIENTA door het e-mailadres van uw account en TWOJ_TOKEN door de ontvangen token. Voer de commando's uit in de hoofdmap van Magento.
composer config repositories.kowal composer https://repo.kowal.storeAls de repository autorisatie vereist:
composer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'2. Pakket installeren
composer require kowal/module-securityscan3. Module activeren
php bin/magento module:enable Kowal_SecurityScan
php bin/magento setup:upgrade
php bin/magento cache:flushVoer in een productieomgeving de standaard Magento-deploymentstappen uit, conform uw implementatieproces.
Cron en scanschema
De module registreert een eigen cron-groep securityscan.
kowal_securityscan_filecheck- dagelijks om00:00,kowal_securityscan_malwarecheck- dagelijks om01:00,kowal_securityscan_dbcheck- dagelijks om02:00,kowal_securityscan_cleanup_reports- dagelijks om02:30.
Zonder werkende Magento-cron worden automatische scans niet uitgevoerd.
Scans handmatig starten
Gebruik voor het handmatig starten van scans:
php bin/magento kowal_securityscan:filecheck
php bin/magento kowal_securityscan:malwarecheck
php bin/magento kowal_securityscan:dbcheckDit is de aanbevolen testmethode na installatie en na configuratiewijzigingen.
Configuratie
Configuratiepad:
Stores -> Configuration -> kowal -> kowal_security
Algemene instellingen
Włącz modułAdres e-mail do raportówAdres e-mail nadawcyRetencja raportow w dniachGoogle Safe Browsing API KeyAllowlista domenAllowlista plikowAllowlista wzorcow bazyAllowlista reguł plikowAllowlista reguł bazy
Minimale configuratie
- schakel de module in,
- stel het e-mailadres van de rapportontvanger in,
- stel het e-mailadres van de rapportafzender in,
- controleer of Magento-e-mailverzending werkt,
- controleer of Magento-cron werkt.
OpenAI-analyse
De sectie Analiza OpenAI maakt het mogelijk rapporten uit te breiden met risicobeoordeling en aanbevelingen voor acties.
Beschikbare velden:
Włącz analizę AI,OpenAI API Key,Model OpenAI,Maksymalny kontekst dla AI.
Inschakelen
- schakel
Włącz analizę AIin, - vul
OpenAI API Keyin, - sla de configuratie op,
- ververs het configuratieformulier,
- selecteer het model.
Standaardgedrag
- standaardmodel:
gpt-4.1-mini, - standaard contextlimiet:
12000, - waarden lager dan
2000worden verhoogd naar12000, - de maximale contextlimiet is
50000.
Als OpenAI is uitgeschakeld of de sleutel ontbreekt, blijft de module werken en gebruikt deze lokale heuristieken.
Google Safe Browsing
Als u Google Safe Browsing API Key invult, zal de module:
- URL's controleren die in bestanden en database zijn gedetecteerd,
- het basisadres van de webshop controleren.
Het ontbreken van een sleutel blokkeert de basisscans niet, maar schakelt alleen deze stap uit.
Scan van bestandswijzigingen
filecheck werkt op basis van een snapshot dat wordt opgeslagen in:
var/security_scan_hashes.json
Bij de eerste uitvoering:
- wordt een snapshot gemaakt,
- is er nog geen vergelijking van wijzigingen,
- meldt het rapport dat de referentiebasis is aangemaakt.
Volgende uitvoeringen rapporteren wijzigingen van het type ADDED, MODIFIED en REMOVED.
Overgeslagen worden onder andere:
var/,generated/,vendor/,pub/static/,node_modules/.
Malwarescan in bestanden
malwarecheck scant applicatiebestanden op basis van:
- regex-regels met
rule_id, - PHP-tokenheuristieken,
- URL-controles via Safe Browsing.
Voorbeelden van detectietypen:
file.obfuscated_eval_chain,file.command_execution_from_request,file.encoded_payload_blob,file.token.decode_execute_chain,file.token.include_from_request,file.inline_svg_or_event_handler.
In rapporten worden redenen weergegeven in het formaat:
[file.encoded_payload_blob] Encoded payload blob detectedDatabasescan
dbcheck analyseert geselecteerde Magento-tabellen:
cms_block,cms_page,core_config_data,email_template,newsletter_template,review_detail,catalog_product_entity_text.
Voorbeeldregels:
db.inline_script_tag,db.html_event_handler,db.external_iframe,db.javascript_uri,db.data_uri_executable,db.embedded_svg_payload,db.javascript_dom_redirect.
De inhoud wordt vooraf genormaliseerd via:
html_entity_decode,rawurldecode,- normalisatie van whitespace,
- analyse van meerdere varianten van dezelfde content.
Geavanceerde configuratie: allowlists
Allowlists dienen om false positives te beperken zonder de hele module uit te schakelen.
1. Allowlist voor domeinen
Veld: kowal_security/general/allowlisted_domains
Formaat:
- één domein per regel, of
- een door komma's gescheiden lijst.
cdn.example.comstatic.example.orgEffect:
- URL's van deze domeinen worden niet als verdacht behandeld,
- Safe Browsing controleert ze niet.
2. Allowlist voor bestanden
Veld: kowal_security/general/allowlisted_file_patterns
Formaat:
- relatieve paden,
- ondersteuning voor globs.
app/code/Vendor/Module/Test/*pub/media/custom.jsEffect: bestanden die met het patroon overeenkomen, worden volledig overgeslagen door de malwarescan. Deze instelling heeft een brede reikwijdte.
3. Allowlist voor databasepatronen
Veld: kowal_security/general/allowlisted_db_patterns
Formaat:
- zinnen,
- HTML- of JS-fragmenten,
- items gescheiden door een nieuwe regel of komma's.
trusted-inline-widgetdata:image/svg+xml,<svgEffect: een databaserecord dat zo'n fragment bevat, wordt overgeslagen door de DB-scan. Ook deze instelling heeft een brede reikwijdte.
4. Allowlist voor bestandsregels
Veld: kowal_security/general/allowlisted_file_rules
Voorkeursformaat:
sciezka_lub_glob | rule_idVoorbeeld:
app/code/Vendor/Module/* | file.encoded_payload_blobpub/media/custom.js | file.javascript_redirect_or_rewriteAchterwaartse compatibiliteit:
- oude items op basis van het volledige regellabel blijven werken,
- nieuwe items moeten
rule_idgebruiken.
Effect: alleen de aangegeven regel voor het aangegeven pad wordt gedempt, terwijl de rest van de scan voor dit bestand actief blijft.
5. Allowlist voor databaseregels
Veld: kowal_security/general/allowlisted_db_rules
Voorkeursformaat:
tabela_lub_* | rule_idVoorbeeld:
cms_block | db.inline_script_tag* | db.fetch_or_xhr_loaderEffect: alleen de aangegeven regel wordt gedempt, terwijl de overige regels voor dit record of deze tabel actief blijven.
Rapporten
Rapporten kunnen bevatten:
- een lijst met detecties,
- risicobeoordeling,
- indicatoren en aanbevelingen,
- kandidaten voor allowlists na handmatige verificatie,
- genormaliseerde allowlist-configuratie in JSON.
Allowlist-suggesties in rapporten
De rapportsectie kan items bevatten van het type:
- cms_block | db.inline_script_tag | pewnosc=MEDIUM | zasieg=LOW- app/code/Vendor/Module/* | file.encoded_payload_blob | pewnosc=MEDIUM | zasieg=LOW- data:image/svg+xml,<svg... | pewnosc=LOW | zasieg=HIGHInterpretatie:
zasieg=LOW- veiligere kandidaat,zasieg=HIGH- brede demping, alleen na harde verificatie,pewnosc=MEDIUM/HIGH- beter voorspelbare kandidaat voor configuratie,pewnosc=LOW- vereist voorzichtigheid.
JSON-export
Het rapport bevat ook de sectie Znormalizowana konfiguracja allowlist (JSON). Dit is een kant-en-klare, gededupliceerde set waarden om over te nemen in de configuratie.
Aanbevolen gebruik
- start na installatie alle drie scans handmatig,
- behandel de eerste
filecheckals het opbouwen van de snapshot, - analyseer de rapporten en bevestig welke detecties echt zijn,
- gebruik voor false positives eerst
allowlisted_file_rulesenallowlisted_db_rules, - gebruik pas wanneer nodig
allowlisted_domains,allowlisted_file_patternsenallowlisted_db_patterns, - start na een configuratiewijziging opnieuw de juiste CLI-scan en controleer het resultaat.
Operationele opmerkingen
filecheckrapporteert bij de eerste uitvoering nog geen wijzigingen als incident,- de module werkt zonder OpenAI en zonder Safe Browsing, maar met minder analysediepte,
allowlisted_file_patternsenallowlisted_db_patternshebben een brede impact en moeten spaarzaam worden gebruikt,- het voorkeursformaat voor regel-allowlists is
rule_id, niet het volledige tekstlabel.