Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

14
#Arubait5 Elementi della pagina di prodotto Hosting: 10 consigli per mettere al sicuro un sito parte 2

description

Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Transcript of Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Page 1: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

#Arubait5 Elementi della pagina di prodotto

Hosting: 10 consigli per mettere al sicuro un sito

parte 2

Page 2: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Sicurezza hosting a portata di tutti,

imparando a configurare

passo dopo passo i servizi PHP e il webserver Apache

attraverso l'uso del file .HTACCESS.

Vediamo altri consigli per una migliore protezione contro gli attacchi hacker e

la compromissione della sicurezza hosting.

#e-Commerce

Contenuti a cura di HostingTalk

Page 3: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Con il termine permessi dei file si intende l’opportunità di interagire con i file presenti sull’hosting, nei modi in cui ciò è possibile, ossia in lettura, in scrittura e in esecuzione.

Ogni utente deve avere permessi di accesso ai file differenti,

in modo da essere sicuri che solo l’amministratore dell’hosting possa, ad esempio,

eseguire script o cancellare file, mentre altre tipologie di utente possano semplicemente

leggere il file ed eseguirlo.

I permessi dei file vengono indicati con una notazione numerica formata da tre cifre,

di cui la prima rappresenta il permesso di lettura, scrittura ed esecuzione

(o una combinazione di alcuni di questi permessi) per il proprietario del file, la seconda il

permesso per il gruppo e la terza il permesso per l’utente pubblico.

La notazione prevede che:

• il permesso di lettura venga indicato con il numero 4,

• il permesso di scrittura venga indicato con il numero 2,

• il permesso di esecuzione venga indicato con il numero 1,

• lo 0 indica la mancanza del permesso.

Page 4: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Sono poi stabilite le seguenti combinazioni, usate per sostituire le terzine di lettere:

• lettura e scrittura sono identificate con il numero 6 dato dalla somma della lettura (4) e della scrittura (2);

• lettura ed esecuzione sono identificate con il numero 5 (da 4+1, ossia lettura + esecuzione);

• scrittura ed esecuzione sono identificate con il numero 3 (2+1);

• lettura, scrittura ed esecuzione sono identificate con il numero 7 (4+2+1).

In generale, per mantenere la sicurezza hosting i file memorizzati dovrebbero sempre avere permessi impostati a 644 o 755.

Se una particolare applicazione richiede che una directory o un file abbia

delle condizioni di permesso superiori (ad esempio 777),

bisogna provare a porre tale file o directory fuori dalla webroot identificata

di norma dalla cartella public_html oppure porre una condizione

di non accesso pubblico nel file di .HTACCESS tramite

l’inserimento della dicitura deny from all.

Page 5: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Al di là di tutto, prima di cambiare le condizioni di permesso ai file,

annotare quelli riportati (anche con uno screenshot),

in modo da poterli ripristinare in caso di malfunzionamento.

Per modificare i permessi dei file usare un client FTP o specificarli nel file .HTACCESS

Page 6: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

I CMS come WordPress, Joomla, Drupal, Magento, Prestashop sono molto

diffusi per la semplicità con cui consentono a chiunque di gestire siti web complessi.

Questa popolarità, d’altra parte, è anche il loro svantaggio.

Infatti, queste piattaforme sono spesso uno degli obiettivi preferiti da parte degli hacker

che si trovano facilitati negli attacchi, perché la maggior parte delle installazioni

permette di raggiungere in modo agevole l’interfaccia di accesso al

back-end amministrativo

(per esempio WordPress la pone sempre all’indirizzo /wp-admin/)

e anche perché i prefissi delle tabelle usate nei database sono sempre quelli standard.

Inoltre, molti CMS espongono i temi e i plugin usati dall’utente e tutto questo,

insieme alla standardizzazione a cui CMS mirano per rendere più semplice

la vita agli utilizzatori, diventa strumento facilitatore

per l’esecuzione degli attacchi hacker.

Page 7: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Gli hosting PHP di norma hanno un file di configurazione chiamato php.ini,

da cui è possibile disabilitare alcune funzionalità che potrebbero concedere

particolari privilegi di esecuzione agli hackers.

Negli hosting tradizionali, non sempre è possibile modificare il file php.ini, ma alcuni provider configurano il server per poter funzionare anche con file di configurazione locali,

ossia dei file php.ini che è possibile personalizzare e salvare nel percorso su cui è attestato l’account hosting e sulle sue sottodirectory.

Se possibile, è il caso di mettere mano al file php.ini locale (ricordandosi di salvarlo nella directory

ove sono contenuti i file PHP da controllare). Al suo interno, infatti, dovranno comparire alcune dichiarazioni come quelle seguenti, che migliorano l’aspetto della sicurezza hosting e mettono al riparo da brutte sorprese.

Ad esempio, la seguente dichiarazione inserita nel file php.ini disabilita alcune funzioni PHP che potrebbero essere molto pericolose:

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

Page 8: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Allo stesso tempo, la dichiarazione:

open_basedir = /home/users/example/public_html

limita a una specifica cartella i file che possono essere interpretati dal motore PHP.

E ancora:

allow_url_fopen=off

serve per disabilitare l’inclusione di file disponibili su macchine remote e

raggiungibili tramite protocollo FTP e HTTP.

Se non prettamente necessaria, quindi, è il caso di disabilitare questa funzionalità, ma alcuni CMS, come ad esempio Joomla, richiedono che questa funzione sia attiva per garantire l’esecuzione di alcuni componenti, come l’aggiornamento automatico in un clic.

Inoltre, se si ha una versione di PHP più vecchia della 5.3.0, bisogna anche

inserire nel file di configurazione le seguenti configurazioni:

safe_mode = 0 register_globals = 0

Conviene anche nascondere la versione di PHP in uso da eventuali occhi indiscreti, aggiungendo sempre al file php.ini la dichiarazione:

expose_php = off

Page 9: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

L’.HTACCESS è un file di configurazione per il webserver Apache,

che contiene una serie di direttive testuali che permettono di specificare come

il webserver deve comportarsi nella gestione dei file e directory,

nella gestione degli errori, nella configurazione di PHP e via discorrendo.

Per garantire il massimo della sicurezza hosting, bisogna configurare il file .HTACCESS in

modo che neghi l’accesso al sito da parte dei bot indesiderati e del linguaggio PERL.

Per ottenere questo risultato, bisogna appurare che nel file .HTACCESS sia presente la seguente configurazione:

SetEnvIfNoCase User-Agent libwww-perl bad_bots order deny,allow deny from env=bad_bots

Page 10: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Inoltre, se sul sito non sono presenti script Perl da eseguire, conviene

impedirne l’esecuzione, configurando un falso gestore, in questo modo:

<FilesMatch “.(cgi|pl|py|txt)”> Deny from all </FilesMatch>

ricordandosi di aggiungere le seguenti tre linee:

<FilesMatch robots.txt> Allow from all </FilesMatch>

se si sta usando un file robots.txt.

Questa configurazione permette di evitare che vengano eseguiti gli script Perl,

con cui sono scritti molti exploit e backdoors.

Page 11: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Un’altra condizione che potrebbe migliorare la sicurezza hosting è l’attivazione del modulo di riscrittura delle URL, magari per mascherare l’uso del PHP, facendolo sembrare un altro linguaggio di programmazione lato server, come Python.

Così si riescono a depistare gli hacker alle prime armi.

Per ottenere questo risultato, il file .HTACCESS dovrebbe contenere:

RewriteEngine On RewriteRule ^/(.+)\.py(.+)? /$1.php$2 [L,QSA,NC]

sempre che il filtro mod_rewrite sia installato e configurato da parte

del provider per bloccare alcuni attacchi PHP.

Altre misure prevedono l’imposizione di particolari restrizioni ad alcuni tipi di file,

la prevenzione dal browsing non autorizzato di determinate directory,

il cambio della pagina di index predefinita e

l’accesso sicuro ad alcune directory sono da specifico indirizzo IP.

Page 12: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Verificare sempre che sia presente una soluzione di backup manuale o automatica

associata al servizio hosting e all’eventuale database in uso,

in modo da poter resettare i file in qualsiasi momento dopo l’exploit e

ripristinarli al volo a una versione pre-attacco.

Page 13: Hosting: 10 consigli per mettere al sicuro un sito - parte 2 #TipOfTheDay

Poiché sull’hosting si lavora dal proprio PC locale o dalla LAN,

assicurarsi che questi elaboratori siano sempre protetti e puliti

da eventuali virus e malware,

per evitare che i file trasferiti possano essere stati infettati.

Infine, usare sempre il buon senso:

tenere sempre un PC non collegato a Internet e alla rete locale

e conservare in modalità offline

tutte le informazioni più importanti.