Free cookie consent management tool by TermsFeedAktualizacja preferencji plików cookie

Magento 2-module – scanner voor beveiliging en detectie van kwaadaardige code

€ 30,75 € 25,00
Instalacja COMPOSER
M2-SECURITY-SCAN
Hiervoor zijn wijzigingen in het sjabloon nodig
Nee
Kleine wijzigingen
Belangrijke wijzigingen
Kennis van programmeren is vereist
Nee
Basis
Geavanceerd
Moeilijkheden bij de configuratie
Gevolgen voor de prestaties
Compatibilidad con los estándares de Magento
  • Pools Pools
  • Engels Engels
  • 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

Kowal Security Scan is een uitgebreide beveiligingsmodule voor Magento 2 die helpt om verdachte wijzigingen in bestanden, kwaadaardige code, onveilige URL's en injecties in databasecontent sneller te detecteren. De module is ontworpen om licht te werken, zonder extra agents en zonder complexe implementatie.

Belangrijkste functies van de module

  • Scan van bestandswijzigingen - detecteert nieuwe, gewijzigde en verwijderde bestanden binnen de Magento-applicatie.
  • Heuristische malwarescan - analyseert php-, phtml-, js-, html-, svg-, htaccess-bestanden en andere payload-dragers.
  • Analyse van PHP-tokens - detecteert decode -> execute-ketens, dynamische callbacks, variable function calls en verdachte include/require.
  • Databasescan - controleert geselecteerde Magento-tabellen op kwaadaardige HTML, JavaScript, SVG, data:-URI's en onveilige links.
  • Integratie met Google Safe Browsing - beoordeelt de reputatie van URL's die voorkomen in de content van de shop.
  • Optionele OpenAI-analyse - breidt het rapport uit met een risicobeoordeling en aanbevelingen voor acties.
  • Geavanceerde allowlists - maken het mogelijk false positives te beperken op domein-, bestands-, content- en specifieke regelniveaus.
  • Rapporten met kant-en-klare configuratie - de module stelt kandidaten voor de allowlist 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 tekstbeschrijving.
  • Rapporten ter ondersteuning van incidentafhandeling - het rapport toont niet alleen detecties, maar ook risiconiveau, aanbevelingen en kant-en-klare configuratie-items.
  • Controle over false positives zonder de scanner uit te schakelen - u kunt één specifieke regel voor een opgegeven pad of tabel stilzetten in plaats van de volledige 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 gebaseerd op e-val, base-64_decode, gzin-flate en vergelijkbare technieken,
  • kwaadaardige JavaScript-insluitingen in CMS-content,
  • externe iframes en verdachte redirects,
  • SVG-payloads en content verborgen in data:-URI's,
  • onveilige links die leiden naar malware, phishing of ongewenste software,
  • ongeautoriseerde wijzigingen in applicatiebestanden.

Waar zoekt de module naar bedreigingen?

De module analyseert belangrijke delen van de shop waar incidenten het vaakst voorkomen:

  • Magento-applicatiebestanden en modulebestanden,
  • CMS-blokken,
  • CMS-pagina's,
  • core_config_data,
  • Magento-e-mailsjablonen en nieuwsbriefsjablonen,
  • productcontent en klantbeoordelingen.

Rapporten en operationele reactie

  • Resultaten worden opgeslagen in een speciale rapporttabel van de module.
  • Het rapport kan per e-mail naar de beheerder worden verzonden.
  • Elke detectie kan een risiconiveau, operationele aanwijzingen en gekoppelde rule_id bevatten.
  • Het rapport kan kant-en-klare allowlist-suggesties en een genormaliseerde JSON-configuratie voorbereiden.

Voorbeelden van gebruik

  • detectie van kwaadaardige code die na een inbraak in de shop is toegevoegd,
  • monitoring van ongeautoriseerde wijzigingen in implementatiebestanden,
  • detectie van geïnfecteerde CMS-blokken of content in de database,
  • beoordeling of een verdachte URL moet worden toegestaan in de allowlist of uit het systeem moet worden verwijderd.

Waarom kiezen voor deze module?

  • Snelle implementatie - werkt als Magento 2-module zonder extra infrastructuur.
  • Praktische rapportage - de module stopt niet bij detectie, maar helpt bij de overgang naar een operationele beslissing.
  • Betere controle over de kwaliteit van meldingen - allowlists en rule_id maken het eenvoudiger om een hoge effectiviteit te behouden zonder een overvloed aan valse meldingen.
  • 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 een allowlist-systeem.

Documentatie en ondersteuning

Voor de module is implementatie- en configuratiedocumentatie beschikbaar en de architectuur ondersteunt verdere afstemming van regels en beveiligingsprocessen in de Magento 2-shop.

Zorg voor vroegtijdigere detectie van incidenten in Magento 2 met Kowal Security Scan.

Versie: 1.0.27

31.03.2026

We hebben de module Kowal_SecurityScan uitgebreid met nieuwe functies voor dreigingsanalyse en beheer van rapporten.

Nieuw

  • OpenAI-integratie toegevoegd voor de analyse van gewijzigde bestanden en verdachte records in de database.
  • Rapporten en e-mailberichten bevatten nu een risicobeoordeling en aanbevolen acties binnen de gebieden:
    • Magento
    • server
    • firewall
  • OpenAI-configuratie toegevoegd in het Magento-paneel, waaronder:
    • AI-analyse in- en uitschakelen
    • API-sleutel
    • modelselectie
    • contextlimiet die aan de analyse wordt doorgegeven

Verbeteringen

  • De lijst met OpenAI-modellen wordt nu dynamisch opgehaald via de API en in de configuratie weergegeven als dropdown.
  • De inhoud van e-mailberichten is uitgebreid met identificatie van de Magento-shop:
    • shopdomein
    • shop-URL
  • Het shopdomein wordt ook toegevoegd aan het onderwerp van het bericht, wat het beheer van meerdere instanties vergemakkelijkt.

Automatisering en onderhoud

  • Er is een nieuwe cron toegevoegd die oude vermeldingen uit de rapporttabel opruimt.
  • De bewaartijd van rapporten is configureerbaar via system.xml als aantal dagen.

Technische verbeteringen

  • De logica voor analyse van verdachte bestanden en records is opgeschoond.
  • De verwerking van de gegevenscontext die aan de AI-analyse wordt doorgegeven is verbeterd.
  • Een probleem met DI-compilatie dat samenhing met een eerdere implementatie van de OpenAI-client is opgelost.

Vragen en antwoorden

Vraag
Maakt de module het mogelijk om een Magento 2-winkel te scannen op kwaadaardige code en beveiligingsdreigingen?
Antwoord
Ja — de module wordt omschreven als een „Beveiligingsscanner en detectie van kwaadaardige code”, wat suggereert dat deze automatisch de bestanden van de winkel analyseert op ongeautoriseerde wijzigingen of schadelijke code.
Vraag
Informeert de module de beheerder na het detecteren van een probleem of maakt deze het mogelijk een herstelactie uit te voeren?
Antwoord
Hoewel niet alle details in de beschrijving worden vermeld, is het doel van de scanner om bedreigingen te detecteren — wat doorgaans meldingen of toegang tot een rapport omvat — het is de moeite waard om te bevestigen of e-mailmeldingen of een waarschuwingspaneel beschikbaar zijn.
Vraag
Vereist de installatie van de module het overschrijven van Magento-kernbestanden of themabestanden?
Antwoord
Nee — de modules die door Kowal worden aangeboden, zijn doorgaans extensies die compatibel zijn met de architectuur van Magento 2 en vereisen geen aanpassing van core-bestanden. (Geen informatie over de noodzaak van aanpassingen)
Vraag
Ondersteunt de module Magento 2-winkels in multi-store- en multi-view-installaties?
Antwoord
Ja — omdat de module werkt op het niveau van het scannen van systeembestanden en de beveiliging van de winkel, is het logisch dat deze ook in een multi-store-omgeving werkt. Bij twijfel wordt aangeraden de documentatie te raadplegen.
Vraag
Helpt de module om te voldoen aan de beveiligingsaanbevelingen van het Magento-platform of de Magento Security Scan Tool?
Antwoord
Ja — een externe scanner (zoals Adobe/Magento Security Scan) biedt monitoring en beveiligingsscans.
Vraag
Heeft de module een aanzienlijke invloed op de prestaties van de winkel, bijvoorbeeld tijdens het scannen van grote bestandsmappen?
Antwoord
Het is mogelijk dat er tijdens het scannen belasting optreedt – meestal werken beveiligingsscanners echter op de achtergrond of tijdens uren met minder verkeer. Het wordt aanbevolen de werking in een testomgeving te testen.
Vraag
Maakt de module een scanschema mogelijk (automatische scans) of is het alleen handmatig?
Antwoord
In de beschrijving van de module staat niet duidelijk vermeld of een schema beschikbaar is — als automatisering belangrijk voor je is, is het de moeite waard om te vragen naar de mogelijkheid om een CRON of scanschema in te stellen.
Vraag
Maakt de module rapportage van scanresultaten mogelijk – bijvoorbeeld welke bestanden zijn gewijzigd en of er ongeautoriseerde wijzigingen zijn gedetecteerd?
Antwoord
Hoewel de beschrijving geen details bevat, omvat de functionaliteit voor “detectie van schadelijke code” doorgaans rapporten of logboeken – het is raadzaam om het detailniveau van de rapportage bij de producent te verifiëren.
Vraag
Ondersteunt de module de nieuwste versies van Magento 2 (bijv. 2.4.x)?
Antwoord
Op de winkelpagina staat de module vermeld in de sectie met modules voor Magento 2 – wat compatibiliteit met actuele versies suggereert, maar de lijst met ondersteunde versies moet altijd worden gecontroleerd.
Vraag
Krijg ik na aankoop van de module technische ondersteuning en updates?
Antwoord
Ja — de producent geeft aan gratis updates en technische ondersteuning voor zijn extensies te bieden.
Write Your Own Review
You're reviewing:Magento 2-module – scanner voor beveiliging en detectie van kwaadaardige code
Your Rating

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 php-, phtml-, php5-, inc-, phar-, js-, html-, htm-, svg-, htaccess-bestanden,
  • analyse van PHP-tokens via token_get_all(),
  • scan van geselecteerde databasetabellen op kwaadaardige 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, contentpatronen en regels,
  • rapporten met kant-en-klare allowlist-suggesties 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

Als het pakket niet beschikbaar is in de standaard Composer-repository, voeg dan de bron toe:

composer config repositories.securityscan vcs https://github.com/kowalco/module-securityscan

Als de repository autorisatie vereist:

composer config --global --auth github-oauth.github.com 

2. Pakket installeren

composer require kowal/module-securityscan

3. Module activeren

php bin/magento module:enable Kowal_SecurityScanphp bin/magento setup:upgradephp bin/magento cache:flush

Voer in de productieomgeving de standaard Magento-deploymentstappen uit, conform uw implementatieproces.

Cron en scanschema

De module registreert een eigen cron-groep securityscan.

  • kowal_securityscan_filecheck - dagelijks om 00:00,
  • kowal_securityscan_malwarecheck - dagelijks om 01:00,
  • kowal_securityscan_dbcheck - dagelijks om 02:00,
  • kowal_securityscan_cleanup_reports - dagelijks om 02:30.

Zonder een werkende Magento-cron worden automatische scans niet uitgevoerd.

Scans handmatig uitvoeren

Gebruik voor het handmatig uitvoeren van scans:

php bin/magento kowal_securityscan:filecheckphp bin/magento kowal_securityscan:malwarecheckphp bin/magento kowal_securityscan:dbcheck

Dit is de aanbevolen testmethode na installatie en na configuratiewijzigingen.

Configuratie

Configuratiepad:

Stores -> Configuration -> kowal -> kowal_security

Algemene instellingen

  • Module inschakelen
  • E-mailadres voor rapporten
  • E-mailadres afzender
  • Bewaartermijn van rapporten in dagen
  • Google Safe Browsing API Key
  • Allowlist van domeinen
  • Allowlist van bestanden
  • Allowlist van databasepatronen
  • Allowlist van bestandsregels
  • Allowlist van databaseregels

Minimale configuratie

  1. schakel de module in,
  2. stel het e-mailadres van de rapportontvanger in,
  3. stel het e-mailadres van de rapportafzender in,
  4. controleer of Magento-e-mailverzending werkt,
  5. controleer of Magento-cron werkt.

OpenAI-analyse

De sectie OpenAI-analyse maakt het mogelijk rapporten uit te breiden met een risicobeoordeling en aanbevelingen voor acties.

Beschikbare velden:

  • AI-analyse inschakelen,
  • OpenAI API Key,
  • OpenAI-model,
  • Maximale context voor AI.

Inschakelen

  1. schakel AI-analyse inschakelen in,
  2. vul OpenAI API Key in,
  3. sla de configuratie op,
  4. vernieuw het configuratieformulier,
  5. selecteer het model.

Standaardgedrag

  • standaardmodel: gpt-4.1-mini,
  • standaard contextlimiet: 12000,
  • waarden onder 2000 worden verhoogd naar 12000,
  • de maximale contextlimiet is 50000.

Als OpenAI is uitgeschakeld of de sleutel ontbreekt, werkt de module nog steeds 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 de database zijn gedetecteerd,
  • het basisadres van de shop 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 die wordt opgeslagen in:

var/security_scan_hashes.json

Bij de eerste uitvoering:

  • wordt een snapshot aangemaakt,
  • is er nog geen vergelijking van wijzigingen,
  • informeert het rapport over het aanmaken van de referentiebasis.

Volgende uitvoeringen rapporteren wijzigingen van het type ADDED, MODIFIED en REMOVED.

Onder meer de volgende paden worden overgeslagen:

  • 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 de redenen gepresenteerd in het formaat:

[file.encoded_payload_blob] Encoded payload blob detected

Databasescan

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 content 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 volledige module uit te schakelen.

1. Allowlist van domeinen

Veld: kowal_security/general/allowlisted_domains

Indeling:

  • één domein per regel, of
  • een door komma's gescheiden lijst.
cdn.example.comstatic.example.org

Effect:

  • URL's van deze domeinen worden niet als verdacht behandeld,
  • Safe Browsing controleert ze niet.

2. Allowlist van bestanden

Veld: kowal_security/general/allowlisted_file_patterns

Indeling:

  • relatieve paden,
  • ondersteuning voor globs.
app/code/Vendor/Module/Test/*pub/media/custom.js

Effect: bestanden die overeenkomen met het patroon worden volledig overgeslagen door de malwarescan. Deze instelling heeft een brede reikwijdte.

3. Allowlist van databasepatronen

Veld: kowal_security/general/allowlisted_db_patterns

Indeling:

  • frasen,
  • HTML- of JS-fragmenten,
  • items gescheiden door een nieuwe regel of komma's.
trusted-inline-widgetdata:image/svg+xml,

Effect: een databaserecord dat zo'n fragment bevat, wordt overgeslagen door de DB-scan. Ook deze instelling heeft een brede reikwijdte.

4. Allowlist van bestandsregels

Veld: kowal_security/general/allowlisted_file_rules

Voorkeursindeling:

pad_of_glob | rule_id

Voorbeeld:

app/code/Vendor/Module/* | file.encoded_payload_blobpub/media/custom.js | file.javascript_redirect_or_rewrite

Achterwaartse compatibiliteit:

  • oude items op basis van het volledige regellabel werken nog steeds,
  • nieuwe items moeten rule_id gebruiken.

Effect: alleen de opgegeven regel voor het opgegeven pad wordt stilgezet, terwijl de rest van de scan voor dat bestand actief blijft.

5. Allowlist van databaseregels

Veld: kowal_security/general/allowlisted_db_rules

Voorkeursindeling:

tabel_of_* | rule_id

Voorbeeld:

cms_block | db.inline_script_tag* | db.fetch_or_xhr_loader

Effect: alleen de opgegeven regel wordt stilgezet, terwijl de overige regels actief blijven voor dat record of die tabel.

Rapporten

Rapporten kunnen bevatten:

  • een lijst met detecties,
  • een risicobeoordeling,
  • indicatoren en aanbevelingen,
  • kandidaten voor de allowlist na handmatige verificatie,
  • een genormaliseerde allowlist-configuratie in JSON.

Allowlist-suggesties in rapporten

De rapportsectie kan items bevatten zoals:

- cms_block | db.inline_script_tag | zekerheid=MEDIUM | bereik=LOW- app/code/Vendor/Module/* | file.encoded_payload_blob | zekerheid=MEDIUM | bereik=LOW- data:image/svg+xml,

Interpretatie:

  • bereik=LOW - veiligere kandidaat,
  • bereik=HIGH - brede onderdrukking, alleen na grondige verificatie,
  • zekerheid=MEDIUM/HIGH - beter voorspelbare kandidaat voor configuratie,
  • zekerheid=LOW - vereist voorzichtigheid.

JSON-export

Het rapport bevat ook de sectie Genormaliseerde allowlist-configuratie (JSON). Dit is een kant-en-klare, gededupliceerde set waarden om over te nemen in de configuratie.

Aanbevolen gebruikswijze

  1. voer na installatie handmatig alle drie de scans uit,
  2. behandel de eerste filecheck als het opbouwen van de snapshot,
  3. analyseer de rapporten en bevestig welke detecties daadwerkelijk correct zijn,
  4. gebruik voor false positives eerst allowlisted_file_rules en allowlisted_db_rules,
  5. gebruik pas wanneer nodig allowlisted_domains, allowlisted_file_patterns en allowlisted_db_patterns,
  6. voer na een configuratiewijziging de juiste CLI-scan opnieuw uit en controleer het resultaat.

Operationele opmerkingen

  • filecheck rapporteert bij de eerste uitvoering wijzigingen nog niet als incident,
  • de module werkt zonder OpenAI en zonder Safe Browsing, maar met minder analysegang,
  • allowlisted_file_patterns en allowlisted_db_patterns hebben een brede impact en moeten spaarzaam worden gebruikt,
  • de voorkeursindeling voor allowlists van regels is rule_id, niet het volledige tekstlabel.
Producten