Magento 2-module – scanner voor beveiliging en detectie van kwaadaardige code
- SKU
- M2-SECURITY-SCAN
Beschrijving / Magento 2-module – scanner voor beveiliging en detectie van kwaadaardige code
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 verdachteinclude/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-flateen 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_idbevatten. - 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_idmaken 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.
More Information
| 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 dreigingsanalyse en rapportbeheer.
Nieuw
- Integratie met OpenAI toegevoegd voor de analyse van gewijzigde bestanden en verdachte records in de database.
- Rapporten en e-mails bevatten nu een risicobeoordeling en aanbevolen acties op het gebied van:
- Magento
- server
- firewall
- OpenAI-configuratie toegevoegd in het Magento-paneel, waaronder:
- AI-analyse in- en uitschakelen
- API-sleutel
- modelselectie
- limiet voor context die aan de analyse wordt doorgegeven
Verbeteringen
- De lijst met OpenAI-modellen wordt nu dynamisch uit de API opgehaald en in de configuratie als dropdown weergegeven.
- De inhoud van e-mails is uitgebreid met identificatie van de Magento-winkel:
- winkeldomein
- winkel-URL
- Het winkeldomein wordt ook aan het onderwerp van het bericht toegevoegd, wat het beheer van meerdere instanties vereenvoudigt.
Automatisering en onderhoud
- Nieuwe cron toegevoegd die oude vermeldingen uit de rapporttabel opschoont.
- De retentietijd van rapporten is configureerbaar via system.xml als aantal dagen.
Technische correcties
- De logica voor het analyseren van verdachte bestanden en records is opgeschoond.
- De verwerking van de datacontext die aan de 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 kwaadaardige HTML, JavaScript, SVG,
data:URI 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 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:
De toegangsgegevens voor de Composer-repository, namelijk het e-mailadres van de klant en de licentietoken, ontvangt u na aankoop per e-mail. Ze zijn ook beschikbaar in het klantenpaneel nadat u bent ingelogd op kowal.store. Vervang TWOJ_EMAIL_KLIENTA door het e-mailadres van uw account en TWOJ_TOKEN door de ontvangen token. Voer de opdrachten 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_SecurityScanphp bin/magento setup:upgradephp bin/magento cache:flushVoer in een productieomgeving de standaard Magento-deploymentstappen uit volgens 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 uitvoeren
Gebruik voor het handmatig uitvoeren van scans:
php bin/magento kowal_securityscan:filecheckphp bin/magento kowal_securityscan:malwarecheckphp 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 adres van de ontvanger van rapporten in,
- stel het afzenderadres van rapporten 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 een 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, - standaardcontextlimiet:
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 de database zijn gedetecteerd,
- het basisadres van de winkel controleren.
Het ontbreken van een sleutel blokkeert de basisscans niet, maar schakelt alleen deze fase 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,
- informeert het rapport over het aanmaken van de referentiebasis.
Volgende uitvoeringen rapporteren wijzigingen van het type ADDED, MODIFIED en REMOVED.
Onder andere het volgende wordt overgeslagen:
var/,generated/,vendor/,pub/static/,node_modules/.
Malwarescan in bestanden
malwarecheck scant applicatiebestanden op basis van:
- regexregels 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.
Voorbeelden van regels:
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 lijst gescheiden door komma's.
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:
- frases,
- 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 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 dat bestand blijft werken.
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 blijven werken.
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,Interpretatie:
zasieg=LOW- veiligere kandidaat,zasieg=HIGH- brede demping, alleen na grondige 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 naar de configuratie over te nemen.
Aanbevolen werkwijze
- voer na installatie alle drie de scans handmatig uit,
- beschouw 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 dat nodig is
allowlisted_domains,allowlisted_file_patternsenallowlisted_db_patterns, - voer na een configuratiewijziging de juiste CLI-scan opnieuw uit en controleer het resultaat.
Operationele opmerkingen
filecheckrapporteert bij de eerste uitvoering wijzigingen nog niet als incident,- de module werkt zonder OpenAI en zonder Safe Browsing, maar met minder diepgaande analyse,
allowlisted_file_patternsenallowlisted_db_patternshebben een brede impact en moeten spaarzaam worden gebruikt,- het voorkeursformaat voor rule-allowlists is
rule_id, niet het volledige tekstlabel.