Come mettere al sicuro il proprio sito PrestaShop

Come mettere al sicuro il proprio sito PrestaShop

In questo tutorial cercherò di riassumere tutte le informazioni utili per potenziare la sicurezza di prestashop, basandomi su un’installazione della versione 1.6.0.9 da me fatta di recente.

#1 Bloccare l’accesso alla directory amministrativa

Di default, quando si installa prestashop è necessario indicare un path diverso da /admin/ per poter accedere alla schermata di login: questo permette all’utente di tutelarsi da eventuali attacchi brute-force, o anche solo dal fatto che un estraneo possa anche solo accedere alla schermata amministrativa. Se desiderate essere gli unici e soli ad accedere alla directory, come misura di sicurezza informatica ulteriore, potete pensare di riservare l’accesso al path solo al vostro IP (ammesso che sia statico), e questo impedirà a chiunque altro di accedere. Attenzione pero’ che così facendo potrete accede soltanto da quell’IP, e che tale configurazione va bene soltanto se avete un IP statico aziendale, ad esempio.

Una semplice direttiva nel file .htaccess (se usate Apache 2.x) vi permetterà di attivare il vincolo, che ovviamente andrà incluso nella directory amministrativa col nome che conoscete solo voi via FTP.

Ad esempio inserite nel file .htaccess:


order deny,allow
deny from all
allow from 111.222.333.444

impedirà a chiunque di accedere alla directory amministrativa tranne all’IP 111.222.333.444 (attenzione a non metterlo nella root del sito oppure escluderete chiunque dal vederlo!).

 

#2 Scegliere una buona password amministratore

Scegliete una password amministratore difficile da indovinare e, se possibile, facile da ricordare: i criteri da seguire per scegliere una buona password sono molto vari e potete scegliere quello che più di aggrada, e ricordatevi sempre che le buone password vanno cambiate periodicamente (una volta al mese, ad esempio).

Evitate tassativamente di usare password che compaiano nelle liste delle worst password (le peggiori password) come queste:

  • 123456
  • password
  • 12345678
  • qwerty
  • abc123
  • 123456789
  • 111111
  • 1234567
  • iloveyou
  • adobe123
  • 123123
  • admin
  • 1234567890
  • letmein
  • photoshop
  • 1234
  • monkey
  • shadow
  • sunshine
  • 12345
  • password1
  • princess
  • azerty
  • trustno1
  • 000000

#3 Cambiare la password di Prestashop

Per un principiante potrebbe non essere immediato da capire, ma la procedura è molto semplice: il backend del vostro sito vi permette di cambiare password cliccando su “Amministrazione” e poi su “Dipendenti“.

Screen 2014-10-28 alle 14.10.28

Ora selezionate nella schermata la mail corrispondente all’amministratore, cliccando su “Modifica” a fianco, e dovreste vedere una nuova schermata in cui troverete, a metà pagina, il bottone “Modifica password“.

Screen 2014-10-28 alle 14.12.00

L’operazione può ovviamente essere ripetuta per tutti gli account del sito.

 

#4 Fare backup regolari e programmati

È molto importante effettuare regolarmente dei backup del vostro sito in prestashop, visto che un’ennesima falla oppure un problema imprevisto potrebbero compromettere tutti i vostri dati. La cosa essenziale è salvare i file da un lato via FTP (magari comprimendoli poi in formato ZIP per fargli occupare meno spazio) ed i dump del database dall’altro, avendo cura di inserire le date sui file, anche in modo da disporre di più opzioni in caso un ripristino andasse male. PrestaShop permette di fare backup del database cliccando su “Parametri avanzati” -> “Backup DB“: le copie dei dump saranno compresse in automatico e salvate sul server pronte ad essere scaricate. Inutile sottolineare che è bene tenere una copia su un hard disk sconnesso da internet e da tenere a portata di mano perchè, tenendole sul server remoto, potremmo non potervi accedere in caso di problemi.

 

#5 Tenere PrestaShop sempre aggiornato

Fate sempre attenzione ad aggiornare PS all’ultima versione anche perchè, in molti casi, gli update correggono progressivamente falle di sicurezza che vengono trovate nel CMS. Fate attenzione agli avvisi di sicurezza che pubblichiamo sul nostro sito (sezione “sicurezza“) e, se il vostro CMS fosse soggetto ad un problema di sicurezza, conviene sempre disabilitare il sito temporaneamente in attesa di provvedimenti.

Tenete anche attive le notifiche sui moduli da aggiornare, come mostrato in figura (ci si arriva da Amministrazione->Impostazioni).

Screen 2014-10-28 alle 15.12.30

 

#6 Controllare i permessi sui file

Per quanto non ci sia una regola generale, di solito i “permessi ordinari” da impostare via CHMOD sono:

  • 755 (rwxr-xr-x) per le directory;
  • 644 (rw-r—r–) per i file.

L’ultima cifra del numerino rappresenta un aspetto fondamentale per la sicurezza informatica dei file, ovvero quello che ai visitatori e/o utenti anonimi è permesso di fare. Bisogna evitare che l’ultima cifra sia 6 oppure 7 perchè ciò da permessi di esecuzioni e di scrittura, rispettivamente, agli anonimi e questo non è coerente con nessuna politica di sicurezza ben costruita (e non vale solo per PS).

 

#7 Disabilitare le funzioni PHP.ini inutili

Su alcune configurazioni di hosting è possibile inserire nel file PHP.ini (verificare col proprio hosting che sia possibile farlo) la direttiva per limitare le possibilità di attacco impreviste:

disable_functions = proc_open,phpinfo,show_source,system,shell_exec,passthru,exec,popen

#8 Bloccare l’accesso pubblico ai file template

Questa è una potenziale backdoor che un attaccante può sfruttare, quindi inseriamo una regola in un file .htaccess per proteggerci:


<Files *.tpl>
order deny,allow
deny from all
</Files>

#9 Utilizzare un hosting con SSL

Per quanto non sia una cosa prettamente necessaria ad un e-commerce, lo diventa se implementiamo soluzioni di pagamento proprietarie (con carta di credito, ad esempio Stripe): lo scopo di SSL è quello di proteggere la transazione tra client / server ed evitare intrusioni man in the middle dall’esterno.

Screen 2014-10-28 alle 15.10.35

Ricordiamo che SSL deve essere abilitato, in caso, da prestashop cliccando su Amministrazione->Impostazioni.

 

#10 Controllare che il cookie per IP sia abilitato

Un cookie viene utilizzato dal server per prelevare e memorizzare alcune informazioni sul client, come ad esempio sessione dell’utente, contenuto del carrello e così via. Questa funzionalità, attivabile  da Impostazioni -> Generale selezionando “Yes”, permette all’utente di navigare in modo sicuro e limitare, almeno in parte, le possibilità di hijacking del cookie.

 

#11 Abilitare i token per la sicurezza

Sempre da Impostazioni -> Generale è possibile attivare la feature per i token per la sicurezza, che in PS è solitamente abilitata di default (Aumenta la sicurezza del frontoffice).

Screen 2014-10-28 alle 15.10.35

#11 Abilitare i token per la sicurezza

Abilitare la cifratura è molto semplice, e può essere effettuato con mcrypt (se disponibile) oppure con BlowFish: questo aumenterà un po’ la sicurezza del vostro sito in prestashop.

In figura viene spiegato come fare (da Parametri avanzati->Prestazioni).

Screen 2014-10-28 alle 15.16.16


Ti piace questo articolo?

1 voto

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Come mettere al sicuro il proprio sito PrestaShop

Votato 10 / 10, da 1 utenti