Sicurezza Magento

Magento è il software eCommerce più diffuso, e come tale era inevitabile che diventasse un target appetibile da malintenzionati, interessati a carpire informazioni dei clienti, diffondere spam e compiere attività di phishing studiando e sfruttando inevitabili bug di sicurezza che possono nascondersi nelle centinaia di migliaia di righe codice.

Sicurezza Magento

A partire da Ottobre 2014, il team Magento ha cominciato a rilasciare aggiornamenti di sicurezza sotto forma di patch – ovvero come modifiche isolate – applicabili a file anche già modificati.
– e rendendole disponibili per ciascuna versione di Magento, a partire dalla 1.4.0.0 (risalente al 2010, ben 6 anni fa).

Durante il 2015 – il primo anno completo dedicato alla sicurezza di Magento, sono state rilasciate ben 5 patch di sicurezza a cui si aggiungono due molto corpose, rilasciate nel corso del 2016 e almeno altrettante nel corso del 2017.

Sicurezza di Magento: Elenco delle patch

Maggio 2017: SUPEE-8167
Maggio 2017: SUPEE-9767
Febbraio 2017: SUPEE-9652

Ottobre 2016: SUPEE-8788
Febbraio 2016: SUPEE-7405 v1.1
Gennaio 2016: SUPEE-7405

Ottobre 2015: SUPEE-6788
Agosto 2015: SUPEE-6482
Luglio 2015: SUPEE-6285
Maggio 2015: SUPEE-5994
Febbraio 2015: SUPEE-5344

Ottobre 2014: SUPEE-1533

Il tempismo con cui sono state rilasciate le patch, fa si che moltissimi siti in Magento – anche relativamente recenti – contengano numerose vulnerabilità gravi che sono ora oggetto di attacchi massicci automatizzati.
Questo perchè un sito entrato in produzione un anno fa, e sviluppato nei 6 mesi precedenti, probabilmente non contiene le patch degli ultimi 18 mesi – ovvero 7 delle 9 patch di sicurezza rilasciate.

Come verificare lo stato di sicurezza di Magento?

Grazie al sito MageReport è possibile fare check-up automatico del proprio sito eCommerce, per avere una panoramica – sia pur semplificata – del suo stato di sicurezza. (Lo strumento supporta Magento 1 e 2).

Cosa posso fare nell’immediato?

L’applicazione delle diverse patch è un intervento laborioso e presenta sicuramente delle difficoltà.

1. Personalizza l’url del backend

Una misura semplice ed immediata che può applicare chiunque è la personalizzazione del backend.
Modificare l’url di accesso all’area amministrativa di Magento mette al riparo il sito da una serie di attacchi brute-force automatizzati – che costituiscono spesso la minaccia più frequente di infezione.

Per farlo non bisogna modificare l’Admin Base URL da pannello, ma accedere via FTP e modificare il file app/etc/local.xml:

<frontName><![CDATA[admin]]></frontName>

sostituendo la stringa admin con un nome personalizzato o casuale, (es. magadmin423):

<frontName><![CDATA[magadmin423]]></frontName>

A quel punto, sarà possibile accedere al backend www.nomesito.com/magadmin423

Questa piccola modifica renderà vani tutti quegli attacchi brute-force automatizzati che utilizzano come target il percorso di default,
con il beneficio ulteriore di alleggerire il carico sul server.

2. Rinomina la cartella downloader

Anche questo passo è molto semplice, e consente di schivare quegli attacchi che fanno uso del downloader per installare estensioni infette e mettere a segno un’infezione più complessa.
In aggiunta o in alternativa si può proteggere l’accesso alla cartella del downloader (Magento Connect) con un file .htpasswd.

3. Cartelle con file statici

Molti degli attacchi sfruttano funzionalità di upload per caricare file .php infetti e prendere il controllo del sito.
In generale, è sempre una buona idea disattivare l’esecuzione di PHP in percorsi dove dovrebbero essere presenti solo file statici.
In Magento, questi percorsi sono media/, skin/, e js/.
Qualsiasi file .php contenuto in media/ è sicuramente malevolo, mentre in skin/ e js/ potrebbero esserci file legittimi.

4. Restringi l’accesso all’ area amministrativa (e al sito) al proprio paese

Se il nostro eCommerce non vende in tutti i paesi del mondo, si può valutare di limitare l’esposizione ad attacchi provenienti da paesi frequentemente origine di minacce: USA, Cina / paesi asiatici, Russia e medio-oriente.

5. Utilizza un robots.txt

Si faccia riferimento all’articolo Robots.txt per Magento.

6. Protezione in sola lettura

Un’altra misura che può aiutare a proteggere l’integrità di un sito Magento – magari non aggiornato e patchato – è quella di bloccare la modifica di file del core e di percorsi di sistema. Questa operazione è però più complessa e inevitabilmente puà limitare il funzionamento del sito o aggiornamenti futuri. Deve essere fatta solo dopo la rimozione di file infetti.

7. Installa un certificato SSL e modifica di tutte le password

Per evitare che le proprie password vengano intercettate è ormai raccomandato un certificato SSL e modificare periodicamente le password per l’accesso al backend, oltre a quelle FTP e DB. Le ultime in particolare, vanno assolutamente modificate dopo ogni intervento di tecnici, freelance o consulenti esterni che possono aver effettuato interventi spot.

8. Non utilizzare username admin

Potrebbero interessarti anche...