Modul Magento 2 – Scanner de securitate și detectare a codului malițios
- Compatibilitate
- 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
Descriere / Modul Magento 2 – Scanner de securitate și detectare a codului malițios
MAGENTO 2 · MONITORIZARE · DETECȚIE · RAPOARTE
Detectează modificările suspecte și evaluează mai rapid incidentele.
Kowal Security Scan
Verifică fișierele și conținutul selectat al bazei de date Magento. Combină regulile locale de detecție cu raportarea, analiza AI opțională și evaluarea reputației URL-urilor prin Google Safe Browsing.
Fișiere și bază de date · Cron și CLI · Reguli și allowlist-uri
CUM FUNCȚIONEAZĂ ÎN PRACTICĂ
01 · Configurezi scanarea
Activezi modulul, rapoartele și integrările selectate.
02 · Scannerul verifică magazinul
Rulezi scanările manual sau prin cron.
03 · Echipa evaluează raportul
Verifică detecțiile și ia măsuri ulterioare.
Ce câștigă magazinul tău?
Descoperă funcțiile, utilizările și setările modulului.
Descoperă modulul
Kowal Security Scan este un modul avansat de securitate pentru Magento 2, care ajută la detectarea mai rapidă a modificărilor suspecte din fișiere, a codului malițios, a URL-urilor periculoase și a injectărilor în conținutul bazei de date. A fost proiectat pentru a funcționa eficient, fără agenți suplimentari și fără implementare complicată.
Cele mai importante funcții ale modulului
- Scanarea modificărilor din fișiere - detectează fișiere noi, modificate și șterse în cadrul aplicației Magento.
- Scanare malware euristică - analizează fișiere
php,phtml,js,html,svg,htaccessși alți purtători de payload-uri. - Analiza tokenurilor PHP - detectează lanțuri
decode -> execute, callback-uri dinamice, variable function calls șiinclude/requiresuspecte. - Scanarea bazei de date - verifică tabele Magento selectate pentru HTML malițios, JavaScript, SVG, URI
data:și linkuri periculoase. - Integrare cu Google Safe Browsing - evaluează reputația URL-urilor prezente în conținutul magazinului.
- Analiză OpenAI opțională - extinde raportul cu evaluarea riscului și recomandări de acțiune.
- Allowlist-uri avansate - permit limitarea false positive la nivel de domenii, fișiere, conținut și reguli concrete.
- Rapoarte cu configurare pregătită - modulul sugerează candidați pentru allowlist-uri și generează un export JSON normalizat, gata de utilizare.
Ce diferențiază acest modul?
- Identificatori stabili ai regulilor - regulile pentru fișiere și bază au propriul
rule_id, astfel încât configurarea allowlist-urilor nu depinde de descrierea textuală completă. - Rapoarte care sprijină gestionarea incidentelor - raportul arată nu doar detecțiile, ci și nivelul de risc, recomandările și intrările gata de configurare.
- Controlul false positive fără oprirea scannerului - poți dezactiva o singură regulă pentru o cale sau un tabel indicat, în loc să dezactivezi întregul modul.
- Automatizare completă - modulul rulează în cron, dar fiecare scanare poate fi pornită și manual prin CLI.
Ce amenințări ajută să detectezi?
- cod PHP ofuscat bazat pe
eval,base64_decode,gzinflateși tehnici similare, - încorporări JavaScript malițioase în conținut CMS,
- iframe-uri externe și redirecționări suspecte,
- payload-uri SVG și conținut ascuns în URI
data:, - linkuri periculoase care duc către malware, phishing sau software nedorit,
- modificări neautorizate în fișierele aplicației.
Unde caută modulul amenințări?
Modulul analizează zonele cheie ale magazinului în care apar cel mai des incidente:
- fișierele aplicației Magento și ale modulelor,
- blocuri CMS,
- pagini CMS,
core_config_data,- șabloane de e-mail Magento și newsletter,
- conținuturi de produs și recenzii ale clienților.
Rapoarte și reacție operațională
- Rezultatele sunt salvate într-un tabel dedicat de rapoarte al modulului.
- Raportul poate fi trimis prin e-mail către operator.
- Fiecare detecție poate conține nivelul de risc, indicații operaționale și
rule_idasociat. - Raportul poate pregăti sugestii gata pentru allowlist-uri și o configurație normalizată în JSON.
Exemple de utilizare
- detectarea codului malițios adăugat după compromiterea magazinului,
- monitorizarea modificărilor neautorizate în fișierele implementării,
- detectarea blocurilor CMS infectate sau a conținutului din baza de date,
- evaluarea dacă un URL suspect ar trebui permis în allowlist sau eliminat din sistem.
De ce merită?
- Implementare rapidă - funcționează ca modul Magento 2, fără infrastructură suplimentară.
- Raportare practică - modulul nu se oprește la detecție, ci ajută la trecerea către o decizie operațională.
- Control mai bun al calității alertelor - allowlist-urile și
rule_idfacilitează menținerea unei eficiențe ridicate fără un val de alarme false. - Potrivire bună pentru medii de producție - scanările automate, raportarea prin e-mail și comenzile CLI manuale susțin activitatea zilnică a echipei tehnice.
Compatibilitate
- Magento Open Source 2.3.x - 2.4.x
- Adobe Commerce / Magento Commerce
Ce include pachetul?
- modul Magento 2 cu taskuri cron și comenzi CLI,
- configurația administrativă a modulului,
- mecanism de raportare către bază și e-mail,
- reguli de detecție avansate și sistem de allowlist-uri.
Documentație și suport
Pentru modul este disponibilă documentație de implementare și configurare, iar arhitectura acestuia susține ajustarea ulterioară a regulilor și proceselor de securitate în magazinul Magento 2.
Ai grijă de detectarea mai timpurie a incidentelor în Magento 2 cu Kowal Security Scan.
Prima scanare și zona de monitorizare
Descrierea actuală menționează Magento Open Source 2.3.x–2.4.x și Adobe Commerce / Magento Commerce. Compatibilitatea versiunii concrete de Magento și PHP trebuie verificată cu versiunea pachetului livrat. Prima rulare filecheck creează snapshotul de bază. Abia scanările ulterioare compară starea și raportează ADDED, MODIFIED și REMOVED. Zone precum var, generated, vendor, pub/static și node_modules sunt omise în scanarea modificărilor.
Database Scan include tabele selectate: cms_block, cms_page, core_config_data, email_template, newsletter_template, review_detail și catalog_product_entity_text. Modulul nu garantează detectarea tuturor amenințărilor și nu elimină automat infecțiile.
Program și configurare
În Stores → Configuration → Kowal → Security Scan setezi activarea, destinatarul și expeditorul rapoartelor, precum și retenția. Cronul implicit rulează scanarea modificărilor la 00:00, malware la 01:00, baza la 02:00 și curățarea rapoartelor la 02:30.
Automatizarea necesită un cron Magento funcțional și livrarea e-mailurilor. Comenzile manuale sunt kowal_securityscan:filecheck, kowal_securityscan:malwarecheck și kowal_securityscan:dbcheck.
API-uri opționale și excepții precise
Fără OpenAI și Google Safe Browsing funcționează scanările locale de bază. API-urile activate necesită propriile chei și acces la servicii. Analiza AI trimite fragmente suspecte către OpenAI; configurezi modelul și contextul maxim. Safe Browsing verifică URL-urile detectate și adresa de bază a magazinului.
Dezactivarea unei singure reguli pentru un fișier sau tabel este mai restrânsă decât omiterea întregului fișier sau a întregii înregistrări. Candidații de allowlist din raport și exportul JSON trebuie aprobați după verificare — raportul sprijină decizia operatorului, nu o înlocuiește.
Instalare prin Composer
Pachetul kowal/module-securityscan, modulul Kowal_SecurityScan. După configurarea accesului la repository-ul Kowal, instalează pachetul, activează modulul, actualizează Magento și golește cache-ul. În producție, include compilarea și implementarea conținutului static conform procesului magazinului.
De la configurare la rezultat
1. Configurezi scanarea
Activezi modulul, rapoartele și integrările selectate.
2. Scannerul verifică magazinul
Rulezi scanările manual sau prin cron.
3. Echipa evaluează raportul
Verifică detecțiile și ia măsuri ulterioare.
Script suspect într-un bloc CMS
Scanarea bazei detectează un fragment JavaScript în conținutul CMS. Raportul indică înregistrarea și regula, iar analiza AI opțională ajută la evaluarea riscului.
Operatorul verifică dacă este un incident sau o integrare corectă. O alarmă falsă verificată poate fi dezactivată printr-o regulă precisă de allowlist.
Activează monitorizarea regulată Magento
Vrei să adaptezi modulul la magazinul tău? Întreabă despre implementarea Kowal Security Scan și discută configurarea sau extensiile necesare.
Mai multe informații
| Conformitate cu șablonul | Luma / Blank, KOWAL |
|---|
Change Log
Versiune: 1.0.27
31.03.2026
Am extins modulul Kowal_SecurityScan cu funcții noi legate de analiza amenințărilor și administrarea rapoartelor.
Noutăți
- A fost adăugată integrarea cu OpenAI pentru analiza fișierelor modificate și a înregistrărilor suspecte din baza de date.
- Rapoartele și mesajele e-mail conțin acum evaluarea riscului și acțiuni recomandate în zonele:
- Magento
- server
- firewall
- A fost adăugată configurarea OpenAI în panoul Magento, inclusiv:
- activarea/dezactivarea analizei AI
- cheia API
- alegerea modelului
- limita contextului transmis pentru analiză
Îmbunătățiri
- Lista modelelor OpenAI este acum preluată dinamic din API și prezentată în configurare ca dropdown.
- Conținutul mesajelor e-mail a fost extins cu identificarea magazinului Magento:
- domeniul magazinului
- adresa URL a magazinului
- Domeniul magazinului este adăugat și în subiectul mesajului, ceea ce facilitează administrarea mai multor instanțe.
Automatizare și mentenanță
- A fost adăugat un nou cron care curăță intrările vechi din tabelul de rapoarte.
- Timpul de retenție a rapoartelor este configurabil din system.xml ca număr de zile.
Corecții tehnice
- A fost ordonată logica de analiză a fișierelor și înregistrărilor suspecte.
- A fost îmbunătățită gestionarea contextului datelor transmise către analiza AI.
- A fost eliminată problema de compilare DI legată de implementarea anterioară a clientului OpenAI.
Instrucțiuni de instalare a modulului
Instrucțiunea modulului Kowal_SecurityScan
Prezentare generală
Modulul extinde Magento 2 cu un strat de monitorizare a securității pentru fișierele aplicației, tabele selectate ale bazei de date, URL-uri suspecte și analiza opțională a incidentelor prin OpenAI.
Rapoartele sunt salvate în tabelul kowal_securityscan_report și pot fi trimise prin e-mail.
Funcții principale
- scanarea modificărilor din fișierele Magento cu comparație față de snapshot,
- scanare euristică a fișierelor
php,phtml,php5,inc,phar,js,html,htm,svg,htaccess, - analiza tokenurilor PHP prin
token_get_all(), - scanarea tabelelor selectate ale bazei de date pentru HTML malițios, JavaScript, SVG, URI
data:și URL-uri suspecte, - integrare cu Google Safe Browsing API,
- analiză OpenAI opțională pentru detecții,
- allowlist-uri configurabile pentru domenii, fișiere, modele de conținut și reguli,
- rapoarte cu sugestii pregătite pentru allowlist-uri și export al configurației JSON normalizate.
Cerințe
- Magento 2,
- modulul disponibil
kowal/base, - cron Magento funcțional,
- trimitere e-mail configurată corect,
- opțional: cheie OpenAI API și cheie Google Safe Browsing API.
Instalare
1. Adăugarea repository-ului pachetului
Adaugă repository-ul Composer Kowal:
Datele de acces la repository-ul Composer, adresa de e-mail a clientului și tokenul de licență, le vei primi prin e-mail după achiziție. Sunt disponibile și în panoul clientului după autentificare pe kowal.store. Înlocuiește TWOJ_EMAIL_KLIENTA cu adresa de e-mail a contului tău, iar TWOJ_TOKEN cu tokenul primit. Execută comenzile în directorul rădăcină Magento.
composer config repositories.kowal composer https://repo.kowal.storeDacă repository-ul necesită autorizare:
composer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'2. Instalarea pachetului
composer require kowal/module-securityscan3. Activarea modulului
php bin/magento module:enable Kowal_SecurityScan
php bin/magento setup:upgrade
php bin/magento cache:flushÎn mediul de producție, execută pașii standard de deployment Magento, conform procesului tău de implementare.
Cron și programul scanărilor
Modulul înregistrează propriul grup cron securityscan.
kowal_securityscan_filecheck- zilnic la00:00,kowal_securityscan_malwarecheck- zilnic la01:00,kowal_securityscan_dbcheck- zilnic la02:00,kowal_securityscan_cleanup_reports- zilnic la02:30.
Fără un cron Magento funcțional, scanările automate nu vor fi executate.
Rularea manuală a scanărilor
Pentru rularea manuală a scanărilor folosește:
php bin/magento kowal_securityscan:filecheck
php bin/magento kowal_securityscan:malwarecheck
php bin/magento kowal_securityscan:dbcheckAceasta este metoda recomandată de testare după instalare și după modificările de configurare.
Configurare
Calea de configurare:
Stores -> Configuration -> kowal -> kowal_security
Setări generale
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
Configurație minimă
- activează modulul,
- setează adresa destinatarului rapoartelor,
- setează adresa expeditorului rapoartelor,
- asigură-te că trimiterea e-mailurilor Magento funcționează,
- asigură-te că cronul Magento funcționează.
Analiza OpenAI
Secțiunea Analiza OpenAI permite extinderea rapoartelor cu evaluarea riscului și recomandări de acțiune.
Câmpuri disponibile:
Włącz analizę AI,OpenAI API Key,Model OpenAI,Maksymalny kontekst dla AI.
Cum se activează
- activează
Włącz analizę AI, - completează
OpenAI API Key, - salvează configurația,
- reîmprospătează formularul de configurare,
- alege modelul.
Comportament implicit
- model implicit:
gpt-4.1-mini, - limită implicită de context:
12000, - valorile sub
2000sunt ridicate la12000, - limita maximă de context este
50000.
Dacă OpenAI este dezactivat sau lipsește cheia, modulul continuă să funcționeze și folosește euristici locale.
Google Safe Browsing
Dacă completezi Google Safe Browsing API Key, modulul va:
- verifica URL-urile detectate în fișiere și bază,
- verifica adresa de bază a magazinului.
Lipsa cheii nu blochează scanările de bază, ci doar dezactivează această etapă.
Scanarea modificărilor din fișiere
filecheck funcționează pe baza snapshotului salvat în:
var/security_scan_hashes.json
La prima rulare:
- este creat snapshotul,
- încă nu există comparația modificărilor,
- raportul informează despre crearea bazei de referință.
Rulările ulterioare raportează modificări de tip ADDED, MODIFIED și REMOVED.
Sunt omise, printre altele:
var/,generated/,vendor/,pub/static/,node_modules/.
Scanare malware în fișiere
malwarecheck scanează fișierele aplicației pe baza:
- regulilor regex cu
rule_id, - euristicilor de tokenuri PHP,
- verificărilor URL-urilor prin Safe Browsing.
Exemple de tipuri de detecții:
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.
În rapoarte, motivele sunt prezentate în formatul:
[file.encoded_payload_blob] Encoded payload blob detectedScanarea bazei de date
dbcheck analizează tabele Magento selectate:
cms_block,cms_page,core_config_data,email_template,newsletter_template,review_detail,catalog_product_entity_text.
Exemple de reguli:
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.
Conținutul este normalizat anterior prin:
html_entity_decode,rawurldecode,- normalizarea whitespace,
- analiza mai multor variante ale aceluiași content.
Configurare avansată: allowlist-uri
Allowlist-urile servesc la limitarea false positive fără dezactivarea întregului modul.
1. Allowlist domenii
Câmp: kowal_security/general/allowlisted_domains
Format:
- un domeniu pe linie sau
- listă separată prin virgule.
cdn.example.comstatic.example.orgEfect:
- URL-urile din aceste domenii nu vor fi tratate ca suspecte,
- Safe Browsing nu le va verifica.
2. Allowlist fișiere
Câmp: kowal_security/general/allowlisted_file_patterns
Format:
- căi relative,
- suport pentru globuri.
app/code/Vendor/Module/Test/*pub/media/custom.jsEfect: fișierele potrivite cu modelul sunt omise complet de scanarea malware. Această setare are o acoperire largă.
3. Allowlist modele bază
Câmp: kowal_security/general/allowlisted_db_patterns
Format:
- fraze,
- fragmente HTML sau JS,
- intrări separate prin linie nouă sau virgule.
trusted-inline-widgetdata:image/svg+xml,<svgEfect: o înregistrare din bază care conține un astfel de fragment este omisă de scanarea DB. Această setare are, de asemenea, o acoperire largă.
4. Allowlist reguli fișiere
Câmp: kowal_security/general/allowlisted_file_rules
Format preferat:
sciezka_lub_glob | rule_idExemplu:
app/code/Vendor/Module/* | file.encoded_payload_blobpub/media/custom.js | file.javascript_redirect_or_rewriteCompatibilitate inversă:
- intrările vechi după eticheta completă a regulii continuă să funcționeze,
- intrările noi ar trebui să folosească
rule_id.
Efect: este dezactivată doar regula indicată pentru calea indicată, iar restul scanării pentru acel fișier continuă să funcționeze.
5. Allowlist reguli bază
Câmp: kowal_security/general/allowlisted_db_rules
Format preferat:
tabela_lub_* | rule_idExemplu:
cms_block | db.inline_script_tag* | db.fetch_or_xhr_loaderEfect: este dezactivată doar regula indicată, iar celelalte continuă să funcționeze pentru această înregistrare sau tabel.
Rapoarte
Rapoartele pot conține:
- lista detecțiilor,
- evaluarea riscului,
- indicatori și recomandări,
- candidați pentru allowlist-uri după verificare manuală,
- configurația allowlist normalizată în JSON.
Sugestii de allowlist în rapoarte
Secțiunea raportului poate conține intrări de tip:
- 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=HIGHInterpretare:
zasieg=LOW- candidat mai sigur,zasieg=HIGH- dezactivare amplă, doar după verificare fermă,pewnosc=MEDIUM/HIGH- candidat mai previzibil pentru configurare,pewnosc=LOW- necesită prudență.
Export JSON
Raportul conține și secțiunea Znormalizowana konfiguracja allowlist (JSON). Este un set de valori gata, deduplicat, pentru copiere în configurație.
Mod recomandat de utilizare
- rulează manual toate cele trei scanări după instalare,
- tratează primul
filecheckca pe construirea snapshotului, - analizează rapoartele și confirmă care detecții sunt reale,
- pentru false positive folosește mai întâi
allowlisted_file_rulesșiallowlisted_db_rules, - abia când este necesar, folosește
allowlisted_domains,allowlisted_file_patternsșiallowlisted_db_patterns, - după modificarea configurației, rulează din nou scanarea CLI corespunzătoare și verifică rezultatul.
Observații operaționale
filecheckla prima rulare nu raportează încă modificările ca incident,- modulul funcționează fără OpenAI și fără Safe Browsing, dar cu o profunzime mai mică a analizei,
allowlisted_file_patternsșiallowlisted_db_patternsau un impact larg și ar trebui folosite cu moderație,- formatul preferat pentru allowlist-urile de reguli este
rule_id, nu eticheta textuală completă.