/webmasters/community?hl=it
/webmasters/community?hl=it
03/03/09
Autore del post originale
Alfredo

Best practice contro l'hacking

Scritto da: Paolo Petrolini e Iris Mariano, Search Quality Team

Al giorno d'oggi, molti siti web sono basati su applicazioni che permettono una grande interattività con gli utenti, come i content management systems (CMSs) che sono comunemente utilizzati per creare, pubblicare ed amministrare contenuti. E' quindi importante pensare alla loro sicurezza.
 
Alcuni tipi di attacchi da parte degli hacker e come proteggersi
Esistono differenti tecniche di hacking per ottenere parziale o totale controllo di un sito web. Quelle più utilizzate sono le SQL injection e il cross-site scripting (XSS).

Le SQL injection (http://www.webappsec.org/projects/threat/classes/sql_injection.shtml) sono una tecnica utilizzata per iniettare una parte di codice malevolo all'interno di un'applicazione web. Esse sfruttano delle vulnerabilità a livello del database, modificando interamente il comportamento dell'applicazione.

Per evitare questo tipo di attacco, ad esempio, è buona pratica aggiungere un ulteriore livello di protezione/autenticazione tra il front end ed il database nel back end. In PHP, esiste l'estensione PDO (http://www.php.net/pdo) per utilizzare parametri nell'input, invece di inserire direttamente l'input nell'applicazione.
Un'altra tecnica è quella dell'escaping di caratteri che possono avere un effetto diretto sulla struttura del database. Per esempio, ogni occorrenza di ['] in un parametro deve essere sostituita da [''] per formare una stringa letterale valida in SQL.
Queste sono solo due delle più comuni pratiche di sicurezza contro le SQL injection e si possono trovare online altre risorse specifiche.
 
L'altro tipo di tecnica di hacking di cui parliamo è il cross-site scripting (XSS - http://www.webappsec.org/projects/threat/classes/cross-site_scripting.shtml), possibile dove l'applicazione processa direttamente, senza ulteriori controlli, le informazioni ottenute attraverso l'input dell'utente.

Alcune precauzioni per rendere un'applicazione web sicura contro questa tecnica sono:

- Lo stripping per l'input ottenuto dai form (per es. la funzione strip tags in PHP - http://www.php.net/strip-tags);

- L'encoding dei dati per evitare l'iniezione diretta di caratteri potenzialmente dannosi (per es. la funzione htmlspecialchars in PHP - http://www.php.net/manual/en/function.htmlspecialchars.php);

- Un livello di protezione tra l'input e il back end, per evitare l'inserimento di codice dannoso direttamente all'interno dell'applicazione.

Alcune risorse sulla sicurezza dei CMS

Come regola generale, è importante tenersi aggiornati in materia di sicurezza, e soprattutto se si utilizzano applicazioni create da terzi, è bene assicurarsi di aver installato l'ultima versione disponibile. Molte applicazioni web sono supportate da comunità di utenti che offrono aiuto e consigli in materia di sicurezza.

Quattro delle più grandi comunità di CMS Open Source — Joomla, WordPress, PHP-Nuke e Drupal — presentano sui loro siti web utili linee guida sulla sicurezza e mettono a disposizione dei forum frequentati da utenti esperti:
 
- WordPress - http://codex.wordpress.org/Hardening_WordPress - offre in inglese consigli su come rafforzare la sicurezza e in italiano (http://www.wordpress-it.it/wiki/) parte della documentazione è tradotta, oltre ad esserci un utile forum (http://www.wordpress-it.it/forum/);
 
- Joomla propone una sezione dedicata alla sicurezza (http://help.joomlaitalia.com/Guide/Sicurezza/) sul sito italiano ed una security checklist (http://docs.joomla.org/Category:Security_Checklist) su quello inglese;
 
- Drupal offre in inglese una Secutiy section (http://drupal.org/security) ed una mailing list; in italiano sono presenti alcune informazioni sugli aggiornamenti di sicurezza (http://www.drupalitalia.org/aggregator/categories/2);
 
- PHP-Nuke offre documentazione sulla Sicurezza (http://phpnuke.org/modules.php?name=PHP-Nuke_HOWTO&page=security.html) in inglese nel capitolo 23 della sezione How to, e nella sotto-sezione Hacked - Now what? (http://phpnuke.org/modules.php?name=PHP-Nuke_HOWTO&page=hacked-now-what.html).
 
Come identificare se il tuo sito è stato violato
Quando gli hacker riescono a prendere il completo controllo di un sito, possono eseguire un 'deface' della homepage (cambiarla), cancellare tutto il contenuto oppure inserire dei malware o dei cookie stealer. Il sito può anche essere usato con intento spammoso, ad esempio per nascondere dei link che rimandano a risorse di spam, oppure per creare pagine che ridirigono a siti di malware. In certi casi è facile rilevare una violazione, ma non è così evidente quando l'intento è spammoso.
Grazie ad alcuni dei prodotti di Google è possibile rilevare se un sito è stato violato.
Ad esempio, utilizzando la funzione di ricerca, è possibile individuare la presenza di contenuto spammoso che gli hacker potrebbero aver aggiunto al tuo sito.
Apri google.it ed esegui una ricerca site: del tuo sito, cercando parole chiave di tipo commerciale che gli hacker usano di solito per spammare (come viagra, porno, mp3, etc.):
 
[site:esempio.it viagra]

Google ti mostrerà come risultati quelle pagine del sito presenti nell'indice che contengono le parole chiave sospette e molto probabilmente violate da hacker. Utilizzando la copia cache, si possono anche rilevare eventuali problemi.
Poi puoi passare alla rimozione del contenuto compromesso ed alla verifica di anomalie nella configurazione del server (nei server Apache per esempio: .htaccess and httpd.conf).
Se il tuo sito non appare più nei risultati di ricerca, questo potrebbe significare che Google ha già rilevato la presenza di tecniche di hacking sul tuo sito e lo ha rimosso temporaneamente dall'indice, a causa di una violazione delle Norme sulla qualità - http://www.google.it/support/webmasters/bin/answer.py?answer=35769#3.
 
Per monitorare la presenza di parole chiave sospette nel tuo sito, puoi anche utilizzare Google Alert (http://www.google.it/alerts), per ricerche tipo:
 
site:exempio.it viagra OR casino OR porno

Riceverai un avviso per email ogni volta che queste parole chiave vengono trovate sul tuo sito.
 
Anche gli Strumenti per i webmaster (http://www.google.com/webmasters/tools/?hl=it) offrono funzionalità utili per rilevare attività sospette sul tuo sito. Per esempio, le 'Statistiche' delle principali query di ricerca usate per visualizzare e raggiungere il tuo sito ti aiuteranno a monitorare se il sito si posiziona per parole chiave spammose. La sezione 'Che cosa vede Googlebot' propone altre informazioni utili per verificare se Google ha individuato parole che siano di natura spammosa, malgrado il tuo sito si posizioni o meno per esse.
 
Se hai un account degli Strumenti per i webmaster e Google pensa che il tuo sito sia stato violato, sarai probabilmente notificato a riguardo a seconda del tipo di attacco:

- Se il tuo sito è stato violato da terzi per fini spammosi (ad es. per nascondere link) e ciò è stato rilevato dal nostro crawler, molto probabilmente riceverai una notifica nel 'Centro Messaggi' degli Strumenti per i webmaster, insieme ad informazioni dettagliate sul tipo di attacco (ad es. un campione di URL o di anchor text dei link nascosti);

- Se il tuo sito contiene parti di codice ritenute sospette e considerate come malware, troverai un avviso sulla pagina di 'Introduzione' del tuo account degli Strumenti per i webmaster.
 
Hacking rimosso, ed ora?

Il tuo sito è stato utilizzato da un hacker per fini spammosi o contiene malware? Prima di tutto bisogna ripulirlo e poi:

- Se il sito era stato abusato con intento spammoso, visita la pagina di richiesta di riconsiderazione (https://www.google.com/webmasters/tools/reconsideration?hl=it) tramite gli Strumenti per i webmaster;

- Se il sito conteneva malware, puoi richiedere la sua revisione tramite il link 'Richiedi un controllo' presente sulla pagina di 'Introduzione' del tuo account degli Strumenti per i webmaster.
I contenuti della community potrebbero non essere verificati o aggiornati. Ulteriori informazioni.
Tutte le risposte (9)
Angelo 
03/03/09
Angelo 
Grazie a tutti e due Paolo e Iris,
 
nel vostro articolo ci sono tante notizie e link utili per i webmaster che hanno subito o che potrebbero essere potenziali vittime di questi delinquenti del web. Interessantissima la parte dedicata ai Google alerts, che in qualche modo non avevo mai tenuto in considerazione per farmi inviare direttamente da Google gli avvisi riguardanti eventuali problemi. Ho sempre usato gli alerts per altri motivi.
 
Un ottimo lavoro, grazie ancora!
 
Angelo Palma
Patrick
05/03/09
Patrick
Ottimo lavoro sì (come sempre!). Avendo una giornata di 30h forse uno riuscirebbe a studiarsi tutto meglio :-(
 
Salut!
Yuri
08/03/09
Yuri
Anche se di parte vi lascio l'ultima risorsa che ho scritto io per mettere in sicurezza wordpress, a fine post linko la fonte che è una risorsa enorme (e facile) per sicurezza e velocità di siti web.
link: http://computer-acquisti.com/blog/massima-sicurezza-di-wordpress-con-lhtaccess/
extroman
08/07/09
extroman
salve a tutti,

Il mio sito è stato appena hacked..cioè la mia copia cache è quella giusta ma cliccando sull'url uscito dalla query di google rimanda ad un altro sito che è il mio, ora..cosa DEVo fare per togliere il link a quel sito che non è mio e riportalo a quello originale, ovvero quello reale della copia cache?

please, need help!
Gabriele Ferri
20/07/09
Gabriele Ferri
Grazie, questo tipo di informazioni sono sempre utili e preziose.
Tuttavia vorrei segnalare che lo sviluppo delle PDO si è fermato ormai da tempo con mio grande dispiacere (http://pecl.php.net/package/PDO).
Nel dicembre 2008, un mio collega ha scritto a Wez Furlong (uno dei curatori del progetto) riguardo il futuro delle PDO lato Oracle, la risposta la lascia alla Oracle (per quanto riguarda le OCI8):
 
----------------------------------------
The lack of future direction plan for PDO is an indication that there
is no cohesive effort in the broader PHP community to support it.  The
version of PDO shipped with PHP itself is in better shape than the
PECL bundles because of various bug fixes.

Personally I am keen to see PDO_OCI stabilized.  Any user
contributions are welcome.

In the meantime, Oracle is still suggesting using the OCI8 extension
for Oracle DB access.
----------------------------------------
 
Direi che per la filosofia che stava dietro alle PDO, questo tipo di risposte non fa ben sperare.
Per la parte MySQL l'ultima versione stabile (1.0.2) risale al primo maggio 2006.
 
Ciao
Roberto777
23/07/09
Roberto777
Salve, quando clicco su "(https://www.google.com/webmasters/tools/reconsideration?hl=it)", poi nella pagina successiva
non mi fa cliccare su "Richiesta di riconsiderazione"!
Come mai?
Yuri
29/10/10
Yuri
Anche se non mi piace scrivere in questa categoria questa utility devo metterla qui visto che ha più visibilità e può essere davvero molto utile a tutti, principianti ed esperti:

http://goo.gl/Oyms

E' un servizio online che fa la scansione del sito ed individua (e mostra dov'è ;)) codice maligno, script, spam, ecc.

Ciao,
Yuri.


Patrick
30/10/10
Patrick
Ottima utility! Finchè rimane così, me la segno.
bisped
25/07/12
bisped
Ottima utility quella che hai segnalato yuri, peccato che rilevi soltanto alcuni malaware, perchè per esempio ora sono alle prese con una schifezza che ha infettato il mio sito invisibile a quel tool di scansione e a qualsiasi antivirus che vede SOLO E SOLTANTO Avg, quindi ho segnalato il falso positovo e AVG mi ha riposto:
 
-------------------------
 
The detection is correct.
 
If you are affiliated with this site, you need to check all pages for
scripts similar to the one seen at the URL above, at the very top of
the page, even before the DTD, that starts:
 
try{1-prototype;}catch(bsdbd){x=2;}[...]
 
Note that this script is commonly injected on a once-per-IP basis,
which I have confirmed is the case for this site, and that can make it
tricky to see the script from the client side. This typically accounts
for why the online scanning services, Google, etc _miss_ the malicious
scripting code, and explains why people running AVG products will only
be blocked occasionally.
 
Further, you should have professional computer security specialists
perform a full and thorough security audit of the site and the
server(s) hosting it to ascertain how these illicit code injections
were achieved. Rectifying all issues that such an audit uncovers will
be necessary to prevent the site being similarly compromised again in
the future.
 
-----------------------------
 
Il sito di cui stiamo parlando è stato appena installato in joompla 2.5.6 e pubblicato, non è nemmeno indicizzato, io ho cercato in tutti i files ma non vedo nessun codice injettato... non so cosa pensare. Qualcuno di voi a mai avuto a che fare con quel malware ?
Hai trovato utili queste risposte?
Quali miglioramenti possiamo apportare?
 
Questa domanda è bloccata e le risposte sono state disattivate. Hai ancora domande? Chiedi alla community di assistenza.

Badge

Alcuni membri delle community potrebbero avere dei badge che indicano la loro identità o il livello di partecipazione a una community.

 
Esperto - Dipendente Google: guide googler e Community Manager
 
Esperto - Esperto della community: partner di Google che condividono la propria esperienza
 
Esperto - Oro: membri fidati che sono collaboratori competenti e attivi
 
Experto - Platino: membri navigati che non soltanto aiutano, ma fanno anche da mentori, creano contenuti e non solo
 
Esperto - Alumni (ex Esperto di prodotto): membri passati che non sono più attivi, ma a cui era stato assegnato un riconoscimento per la loro disponibilità
 
Esperto - Argento: nuovi membri che stanno ampliando la propria conoscenza dei prodotti
I contenuti della community potrebbero non essere verificati o aggiornati. Ulteriori informazioni.

Livelli

I livelli dei membri indicano il grado di partecipazione di un utente in un forum. Maggiore è la partecipazione, più alto sarà il livello. Ogni utente inizia dal livello 1 e può salire fino al livello 10. Le seguenti attività contribuiscono ad aumentare il tuo livello in un forum:

  • Pubblicare una risposta.
  • Scelta di una tua risposta come risposta migliore.
  • Valutazione dei tuoi post come utili.
  • Votare un post.
  • Contrassegnare correttamente un argomento o un post come illecito.

Se un post viene contrassegnato come illecito e rimosso, l'avanzamento di livello dell'autore del post sarà più lento.

Vuoi visualizzare il profilo nel forum?

Per visualizzare il profilo di questo membro, devi uscire dalla pagina corrente della Guida.

Vuoi segnalare un uso illecito nel forum?

Questo commento deriva dal Forum dei prodotti Google. Per segnalare un uso illecito devi uscire dalla pagina corrente della Guida.

Rispondi nel forum

Questo commento deriva dal Forum dei prodotti Google. Per rispondere devi uscire dalla pagina corrente della Guida.