Importanti raccomandazioni di Sicurezza


Come proteggere il proprio sito dagli hacker?
Raccomandazioni di sicurezza

Suggerimenti sulla protezione di sicurezza SSL

Se non attivi strumenti di protezione supplementari su internet, il tuo ambiente risulterà poco sicuro. Prima di effettuare delle modifiche per rendere più sicuro Zen Cart® e il suo database, devi assicurarti di utilizzare un metodo sicuro per effettuare queste modifiche.

Altrimenti se qualcuno intercetta le informazioni che trasmetti, non passerà molto tempo prima che le informazioni riservate sul tuo business diventino di pubblico dominio. L’intervento minimo che puoi effettuare consiste nell’utilizzare i servizi di SSL condiviso offerto dal tuo fornitore di hosting.

Sarebbe tuttavia preferibile utilizzare un certificato SSL dedicato al tuo negozio, in quanto conferisce maggiore professionalità rispetto ad un certificato condiviso. Ovviamente l’installazione di un certificato SSL dedicato e relativo IP dedicato comportano in genere costi aggiuntivi.

Accedi ai files del tuo sito in modo sicuro

Al posto di utilizzare il normale FTP per accedere ai files sul tuo server, sarebbe preferibile (se il tuo fornitore di hosting supporta FTPS) utilizzare un software che consenta di utilizzare FTP su SSL/TLS. Questo metodo cripta le informazioni che invii e ricevi. Questa funzionalità è importante soprattutto durante le operazioni di download dei backup del database e/o dei files di configurazione che contengono dati che è fondamentale non siano letti da terzi.

Se il tuo fornitore di hosting non supporta SFTP o FTPS, allora è probabile che non sia conforme alla PCI


Elenco di passaggi che possono garantire una maggior sicurezza al tuo Zen-Cart®:

1. Cancellare le cartelle extra dal server dopo l’installazione

Una volta installato il negozio e verificato che tutto funzioni correttamente, e dopo aver fatto tutte le prove necessarie per testare TUTTI i metodi di pagamento e spedizione in uso nel sito, è importante fare un po’ di pulizia:

RIMUOVERE LE SEGUENTI CARTELLE (e tutti i files al loro interno), PER RIDURRE RISCHI ALLA SICUREZZA:
– /docs
– /extras
– /zc_install
– /install.txt (anche questo file può essere cancellato)
E’ importante tenere questi files nel proprio computer poichè possono essere usati come riferimenti/documentazione, o usati nella risoluzione di problemi come strumenti diagnostici, o per aggiornare/installare di nuovo in futuro. Tuttavia queste cartelle/files *non* devono essere presenti nel server in produzione.
Optional: Inoltre, *SE* non hai intenzione di usare prodotti con download o prodotti del tipo musica, puoi cancellare *anche* queste cartelle:
– /download
– /media
– /pub

(Dovrai anche andare in Admin->Configurazione->Settaggio Additivi->Abilita Downloads, e impostare il valore a False per disabilitare il messaggio di errore per la mancanza della cartella download). In futuro, in caso di inserimento di prodotti con download o prodotti del tipo musica, dovrai ricaricare queste cartelle (ed il loro contenuto) nel server e impostare i permessi corretti.

2. Rinominare la cartella /admin

Per ragioni di sicurezza è importante rinominare la cartella admin una volta terminata l’installazione. In questo modo sarà più difficile per l’hacker trovare il pannello di amministrazione o cercare di accedervi.
Qui è possibile trovare le istruzioni per rinominare la cartella admin.
Se il server non consente l’uso di file .htaccess, devi chiedere al tuo fornitore di hosting per trovare una soluzione in modo da avere le protezioni di sicurezza offerte dai file .htaccess forniti, utilizzando invece gli strumenti messi a disposizione dal *tuo* server. Se non ti forniscono una valida alternativa, dovresti riconsiderare il tuo attuale servizio di hosting poichè inadeguato per la sicurezza del tuo E-commerce.

3. Usare SMTPAUTH o SMTP come Metodo di invio delle email, anzichè il generico “PHP” o “sendmail”.

Andare in Admin->Configurazione->Gestione Email, e modificare il campo Email – Metodo di invio in SMTPAUTH, e poi inserire le credenziali SMTP credenziali negli altri campi più in basso.
Questo non solo aiuta a prevenire che le email in uscita vadano a finire nello spam, ma anche ad impedire la divulgazione del nome del pannello di amministrazione quando si inviano email lato admin.

4. Impostare i file configure.php come sola lettura

E’ importante che vengano settati i permessi (CHMOD) ai due file configure.php in modo che siano read-only, ossia solo lettura. Ciò significa impostarli a 644, o in alcuni casi a 444.
I file configure.php si trovano in:
/<CartellaTuoNegozio>/includes/configure.php
/<CartellaTuoNegozio>/admin-rinominato/includes/configure.php
Molto spesso il settare i permessi ad un file come sola lettura via FTP non funziona. Anche se i permessi sembrano siano stati impostati correttamente, può capitare che in realtà non lo siano. Devi accedere al negozio e verificare che non compaia un messaggio di avviso nella parte alta della pagina. “Attenzione: E’ ancora scrivibile il file di configurazione:…” In questo caso bisognerà usare il “File Manager” fornito dal proprio hosting.
Se si sta usando un server Windows, settare i file come Read-Only / Sola lettura per Tutti e soprattutto l’utente IUSR_xxxxx (Internet Guest Account) in caso di IIS, o l’account System o apache user in caso di Apache.
5. Cancellare gli account Admin non più in uso
v1.3.x o più vecchie:
Admin > Strumenti > Settaggi Admin
v1.5.0 o più recenti:
Admin > Gestione Accesso Amministratore > Amministratori

Nella pagina con l’elenco degli Amministratori, verifica se sono presenti account non più utilizzati e cancellali.
Soprattutto se si tratta di account Demo.

6. Sicurezza Password Admin

Si consiglia di usare password complesse in modo da non essere facilmente individuate da potenziali hacker.

Si consiglia di utilizzare password di almeno otto o più caratteri, e con un mix di lettere e numeri, anche con lettere maiuscole e minuscole. Se si usano più parole (composte da lettere e numeri) con all’interno spazi sarà quasi impossibile per l’hacker individuare la password.
Se si vuole comunque usare parole normali di uso comune, è una buona idea unire due parole che normalmente non vengono usate insieme, anche in questo caso separate da spazi e magari usando anche qualche lettera maiuscola.

Ogni password di admin deve essere cambiata almeno ogni 3 mesi.
v1.3.9 e più vecchie:
Per modificare la password di admin andare in Admin > Strumenti > Settaggi Admin, e cliccare sul bottone Reset Pwd, o premere l’icona che assomiglia al simbolo del riciclo.
v1.5.0 e più recenti:
Andare in Admin > Gestione Accesso Amministratore > Amministratori per modificare la password.

7. Protezione Accesso Admin

Si consiglia di porre particolare attenzione quando si lavora nel pannello di amministrazione:
– usa solo una scheda (tab) del browser quando sei nel pannello di admin
– NON visitare altri siti (SOPRATTUTTO siti di posta elettronica come gmail/yahoo/hotmail/ecc) se nel browser è già attiva una sessione di accesso come admin — anche se in un’altra scheda (tab) (questo perchè se clicchi dei link in un’email corri il rischio di incorrere in problemi XSS se sei anche loggato nel pannello di admin. E’ come maneggiare del pollo crudo e leccarti le dita … fallo a tuo rischio e pericolo!)
– esegui sempre il logout dal pannello di admin se non lo stai usando

8. Proteggi il contenuto delle tue “define pages” in “html_includes”

Appena hai finito di modificare le define page o pagine extra (Admin > Strumenti > Editore Pagine Extra), devi proteggerle:

A. Scaricane una copia nel tuo PC usando un software per FTP.
Si trovano nella cartella /includes/languages/italian/html_includes e relative sotto-categorie.

B. Imposta come permessi CHMOD 644 (cioè: “read-only”).
Vedi le note di cui sopra su CHMOD. /includes/languages/italian/html_includes – e tutti i files/cartelle all’interno.

Impostando la sola lettura impedirai a potenziali hacker di modificarle, anche se dovessero riuscire ad accedere al tuo sistema, a meno che riescano ad ottenere i permessi sufficienti per modificare lo status di sola lettura, cosa però più complicata.

Nota: Naturalmente, una volta impostate come sola lettura, sarà necessario attribuire i permessi di lettura-scrittura per poterle nuovamente modificare da Gestore Pagine Extra o caricarle in sostituzione a quelle già presenti via FTP, per poi rimetterle a sola lettura una volta terminato.

9. Usare il file .htaccess per proteggersi dai curiosoni

NOTA: questo passaggio è già ampiamente affrontato nella v1.3.9 – v1.5.0 e successive, con i file.htaccess inclusi. Se si utilizzano versioni precedenti di Zen Cart allora si dovrà così procedere manualmente:
In diverse cartelle, ci sono .htaccess per impedire a malintenzionati di poter navigare attraverso i file del sito, a meno di conoscerne il nome esatto. Alcuni di questi impediscono anche un accesso globale in quanto è previsto che tutti i file PHP in queste cartelle siano accessibili da altri file PHP e non direttamente da un browser. Questo è un plus per la sicurezza ed eliminando questi file si corre il rischio di dare l’opportunità a malintenzionati di curiosare in giro.

Ci sono anche dei file index.html vuoti in diverse cartelle. Questi file sono lì per proteggerti nel caso in cui il software FTP non carichi i file .htaccess oppure il server non ne consenta l’uso. Questi impediscono solo l’esplorazione delle directory ma non fermano l’esecuzione dei file PHP. È una buona alternativa ma usare .htaccess in tutte le cartelle è la scelta migliore, per i server che li accettano.

Il contenuto consigliata per i file .htaccess nelle cartelle dove c’è un file index.html ma non ancora presente un file .htaccess è un qualcosa di simile a quanto segue (ma dipende sempre e comunque dalla configurazione del server):

htaccess zen cart ita

Affinché i suggerimenti di cui sopra possano funzionare, il tuo host deve includere sia ‘All’ o tutti questi i parametri ‘Limit Options Indexes’ alla configurazione AllowOverride nel file principale httpd.conf di configurazione del server apache.

Se la configurazione hosting non consente di creare / utilizzare i propri .htaccess è necessario interpellare l’azienda di hosting per trovare modo di avere la protezione di sicurezza prevista dai file .htaccess in dotazione. Alcuni strumenti a disposizione del server a volte forniscono un’interfaccia nel tuo pannello di controllo amministrativo in cui è possibile configurare delle impostazioni. È necessario scegliere e utilizzare il metodo appropriato per il server. Come accennato in precedenza, è meglio interpellare l’azienda di web hosting per selezionare e perfezionare il metodo migliore per il tuo server specifico. Non è qui possibile identificare cosa meglio per il vostro specifico server, ma proponiamo queste linee guida come punto di partenza. Non trovando soluzioni, si dovrebbe considerare che il servizio di hosting scelto è realmente insufficiente per un’appropriata sicurezza in ambito E-commerce.

10. Disattiva la funzionalità “Dillo ad un amico”

Nota: dalla v1.5.0 la funzionalità non è più presente, quindi non c’è nulla da disattivare.
Procedere in Amministrazione > Configurazione > Gestione Email > Consenti Dillo a un Amico e impostare l’opzione su false. Questo consentirà di evitare a clienti non registrati di utilizzare il server per inviare messaggi di posta elettronica indesiderati.
In Zen Cart® v1.3.x questa opzione era già impostata di defalut su ‘false’.
NOTA: La modifica di questa opzione su ‘true’ potrebbe consentire ai malintenzionati di utilizzare il modulo “tell-a-friend” per inviare spam ad altri indirizzi di posta elettronica. Se non si intende assolutamente utilizzare la funzione “Dillo ad un amico”, rinominare la cartella /includes/modules/pages/tell_a_friend / in qualcosa di casuale, o eliminarla del tutto.

11. Proteggere le “immagini” ed altre cartelle

Durante l’installazione iniziale, si consiglia di impostare le immagini cartella di lettura / scrittura, in modo da poter utilizzare l’interfaccia di amministrazione per caricare immagini di prodotti / categorie senza dover utilizzare FTP per ogniuno. Simili raccomandazioni sono fatte per altri file a vario titolo.
Tuttavia lasciando la cartella immagini (o qualsiasi altra) in modalità lettura / scrittura significa che gli hacker potrebbero essere in grado di iniettare dei file maligni in questa (o altra) cartella e creare così dei punti di accesso da cui tentare degli exploit.
Quindi, una volta che il sito è terminato e le immagini sono state tutte create / caricato, si dovrebbe alzare la sicurezza passando i valori di lettura / scrittura in sola lettura; cioè: passaggio da CHMOD 777 fino a 644 per i file e 755 per le cartelle.
Nota: questo è già presente dalla v1.3.9 — Nota: questo è già presente dalla v1.3.9 – *SE* il tuo server è in esecuzione PHP come applicazione CGI e non come modulo di Apache e si desidera impedire agli hacker di eseguire gli script nella cartella immagini (che è un problema solo *se* sono in grado di incidere con successo nella cartella immagini e inserire uno o più script), è possibile proteggere ulteriormente con l’aggiunta di un file personalizzato .htaccess che consente solo di visualizzare le immagini e non consente l’uso di php ecc… Ecco il codice per detto .htaccess personalizzato:
# Impedire la visualizzazione della directory e la capacità di eseguire script.
# Nessuno script, sia PHP, Perl o qualsiasi altra cosa, può normalmente essere eseguita se ExecCGI è disabilitato.
OPTIONS -Indexes -ExecCGI

Impostazioni delle autorizzazioni di file / cartelle
Su host Linux / Unix in genere, le impostazioni dei permessi in sicurezza sono:
cartelle/directories: 755
file: 644

Su host Windows, modificando i file in sola lettura è solitamente sufficiente. Si dovrebbe ricontrollare che l’account ospite abbia limiti (in sola lettura) di accesso.

Finalità cartelle
Le cartelle per le quali l’installazione suggerisce l’accesso in lettura e scrittura per l’installazione sono queste. Se il tuo server supporta l’utilizzo dei file .htaccess, allora si dovrebbe porlo in queste cartelle.
/cache
È utilizzata per memorizzare la cache di sessione e le informazioni del database. La miglior protezione di sicurezza è di spostarla in una cartella “sopra” la zona public_html / htdocs / www, in modo che non sia accessibile tramite browser. (Questo richiede la modifica al DIR_FS_SQL_CACHE impostazione presente file configure.php così come in Amministrazione > Configurazione> Sessioni> Cartella Sessioni.
/images
Vedi quanto precedentemente scritto.
/includes/languages/english/html_includes
Vedi quanto precedentemente scritto.
/logs
È utilizzata per la memorizzazione dei file di debug o registri degli errori necessari per risolvere i problemi che possono essere accaduti al sito. Si potrebbe anche spostare sopra il web/document-root per i motivi di sicurezza. Aggiornare il percorso in DIR_FS_LOG per entrambi i file configure.php per puntare alla nuova locazione.
(Non interessa le versioni precedenti la v1.5.0)
/media
La richiesta di lettura-scrittura è solo per poter caricare file multimediali del prodotto musica dall’amministrazione, che potrebbe essere fatto in alternativa da FTP.
/pub
Utilizzato su Linux / Unix per avere prodotti download a disposizione dei clienti attraverso un metodo sicuro che non rivela il link ‘reale’ di file/dati nel server (in modo che nessuno possa condividere un URL e rubare i download dal tuo sito)
/admin/backups
Cartella solo per una funzionalità extra per backup automatizzati del database.
/admin/images/graphs
In Admin > Strumenti > Gestione Banner per aggiornamento e visualizzazione dei grafici a barre relativi all’utilizzo banner. Se non scrivibile, questa funzione viene ignorata.

12. Rimuovere la funzione di stampa URL dal browser

Per bloccare il browser dallo stampare l’URL di amministrazione (che mostra il tuo nome cartella Admin) sulla fattura attenersi alla seguente procedura::.
Microsoft Internet Explorer
Click su File e poi su Imposta Pagina
Nella finestra di impostazione pagina, rimuovere questi combinazione di due caratteri “& u” dalla intestazione o piè di pagina casella di testo.
Firefox
Click su File e poi su Imposta Pagina
Nella finestra di impostazione pagina clicca la scheda “Margini e intestazione / piè di pagina”. Nella sezione “Intestazione e piè di pagina” imposta tutti i menu a discesa per – vuoto -. (o almeno rimuovi tutte le istanze di “Titolo” e “URL” dalle varie caselle.)

Altri browser offrono opzioni di menu simili per modificare queste impostazioni.

13. Cose da tenere sotto controllo con regolarità

Essere sicuri di aver fatto tutti i passaggi elencati in questo documento.
Effettua regolari backup dei file sito e del database.
Effettua il backup del database tramite una connessione sicura (ad esempio: utilizzando phpMyAdmin per il backup, assicurarsi di utilizzare HTTPS nell’indirizzo degli URL).
Effettua il backup dei file del sito web tramite una connessione protetta (copiando i file via FTP, assicurarsi di utilizzare Secure FTP FTP su SSL / TLS). Un buon programma che supporta Secure FTP (SFTP) è WinSCP (http://winscp.net), a patto di configurare la connessione di conseguenza.
Conservare i backup di database e sito in un file crittografato. (NON si dovrebbe tenere i backup sul server. Ma se lo fate, crittografateli in modo sicuro. Consulta la tua azinda di hosting per un consiglio.
Controlla log degli errori del server con regolarità e per attività strane o sospette. (Inoltre il tuo pannello hosting dovrebbe darti accesso al error_log Apache)
Cerca eventuali link che è portano a una pagina che non è nel sito.
Cerca i collegamenti che hanno http dopo la index.php.
Controllare i file del sito regolarmente per essere sicuri che non sia stato aggiunto o alterato nulla.
Chiedere al supporto hosting quello che fanno per assicurarsi che il server sia in sicurezza in modo che estranei non possano fare alcun danno e in modo che altri siti web sullo stesso server non possano essere utilizzati per accedere al tuo sito e provocare danni (nel caso in cui abbiano proprio loro dei bachi di sicurezza).
Se i tui affari contano o se si vuoi ulteriori garanzie (soprattutto se hai un software per forum nel sito o altri script oltre Zen Cart®), assumi un consulente di sicurezza per controllare il tuo sito con regolarità e questo ti darà tranquillità in cambio di qualche euro.
Controlla le tue cartelle Zen Cart /logs/ o /cache/ per i file myDebug-XXXXX.log per vedere se eventuali e quali errori avvengono che devono essere risolti. Elimina i file di registro dopo aver valutato gli errori.

14. Patch sistema operativo del Server

Ci sono alcune comuni vulnerabilità dei server che vale la pena verificare per garantire che il server non sia vulnerabile a facili exploit degli hacker. Ci sono intere professioni dedicate a questo tema, quindi è impossibile elencarle qui, ma alcune delle cose più comuni che richiedono attenzione sono::
SSL Patch: http://heartbleed.com/
PHP CGI Patch: http://arstechnica.com/security/2014/03/php-bug-allowing-site-hijacking-still-menaces-internet-22-months-on/

Was this article helpful?

Related Articles

Vuoi inserire un commento?

Devi aver fatto l'accesso per inserire un commento