Il mio sito è stato violato da un hacker: come è potuto accadere?

Può capitare talvolta che un sito venga “hackerato”, ossia compromesso da una qualche fonte esterna.
Le azioni più comuni sono le seguenti:

  • defacing: il sito viene “defacciato”, ovvero la home page viene sostituita con una schermata (che normalmente “celebra” l’hacker che è riuscito nell’operazione, con eventuale contorno di propaganda politica)
  • phishing: all’interno del sito viene inserita una paginetta che riproduce (più o meno fedelmente) il portale di una qualche carta di credito, o di un istituto bancario, o di Paypal; lo scopo è indirizzare degli utenti (con opportune azioni via email) verso questa pagina, che verrà utilizzata per carpirne i dati della carta di credito o di accesso al conto.
  • spam: all’interno del sito viene inserito uno script che comincerà ad inviare spam per tramite del server “ospite”
  • DDOS agent: all’interno del sito viene installato un software che, di concerto con altri software analoghi instalati in altre centinaia di siti in giro per il mondo, ad un certo punto “attaccherà” un certo sito, vero obiettivo dell’azione

Come avvengono queste intrusioni?

Non dovete credere che avvengano sempre per opera di un qualche hacker che in qualche maniera “viola” i sistemi di sicurezza del server; anzi, interventi di questo tipo, effettuati da un qualche operatore “umano” sono rari e sono sempre mirati verso siti specifici.
Esempi di questo tipo ce ne sono a bizzeffe:

il defacing effettuato nel 2009 sul sito di Poste Italiane
il defacing di beppegrillo.it (giugno 2012)
il defacing antidoping del sito di Alex Schwazer (agosto 2012)
il defacing di vittoriosgarbi.it (marzo 2012)
… e tantissimi altri (potete provare a dare un’occhiata al blog ufficiale di Anonymous Italia per rendervi conto del numero e tipo di attacchi svolti)

Questo genere di attacchi è, tutto sommato, il meno preoccupante.

Perchè?

Intanto, perchè si rivolgono sempre verso obiettivi mirati ed “importanti”: se non vi chiamate Vittorio Sgarbi o Alex Schwazer, se il vostro sito non è quello del Ministero dell’Ambiente o dell’Ilva, questi attacchi non dovete temerli.
Poi perchè si tratta di operazioni complesse (e spesso costose), che possono richiedere anche giorni di lavoro e/o un hacker molto abile per arrivare a segno; e difficilmente quindi qualcuno sprecherà giorni e giorni di lavoro per defacciare il sito della pizzeria sotto casa…

Non bisogna neppure credere che queste azioni avvengano per una possibile “vulnerabilità del server”: si, certo, teoricamente è possibile, ma poichè i nostri server sono adeguatamente protetti ed aggiornati, nella pratica non avviene MAI.
L’ultima (e ad oggi anche unica) volta che un nostro server è stato compromesso è stato nel settembre del 2010: nell’arco di pochi minuti, oltre un centinaio di siti hostati su quel server furono defacciati. Quindi, se il vostro sito è l’unico ad aver avuto problemi su un nostro server, potete stare tranquilli che il problema è del sito e non del server.

Nella realtà, la quasi totalità di queste azioni viene svolta da “BOT”, da software che fanno scan continui e sistematici in internet, alla ricerca di siti facili da violare in maniera “automatica”, ovvero senza l’intervento di nessun operatore umano.

E quando un sito è “facile da violare”? Quando è presente una qualche vulnerabilità, che riassumiamo di seguito:

  • uso di CMS non aggiornati
    Moltissimi siti vengono oggi realizzati per mezzo di CMS (WordPress, Joomla, Drupal… solo per citare i principali).
    Si tratta di software complessi, che possono nascondere al loro interno dei bug che li rendono violabili.
    Non appena uno di questi bug viene scoperto, normalmente in poco tempo viene rilasciato un aggiornamento che lo risolve. Se però questo aggiornamento non lo installiamo, il nostro sito resterà vulnerabile.
    Potrà capitare che qualcuno (anche dall’altra parte del pianeta) realizzerà un BOT che cercherà sistematicamente siti che utilizzino quella certa versione vulnerabile di quel certo CMS; una volta trovati, sfrutterà (sempre automaticamente) questa vulnerabilità per fare poi quello che vuole all’interno del sito.
    SOLUZIONE: mantenere sempre aggiornato il proprio CMS
  • uso di plugin o temi non aggiornati
    Il meccanismo è lo stesso già visto per i CMS; anche i plugin ed i temi sono software complessi, che possono celare al loro interno delle vulnerabilità.
    SOLUZIONE: mantenere sempre aggiornati i plugin ed i temi
  • uso di plugin o temi infetti
    Può capitare che all’interno di un plugin venga inserita deliberatamente una certa vulnerabilità, una “porta di servizio” nota solo a chi lo ha sviluppato. Il plugin (che può avere l’aspetto più innocente del mondo) viene diffuso, installato magari su centinaia o migliaia di siti fino a quando l’autore non decide di sfruttarlo.
    L’operazione può esser svolta non solo dall’autore del plugin, ma anche da chiunque altro (molto spesso questi moduli sono open surce, e quindi il codice sorgente è liberamente disponibile). Quindi, qualcuno può anche manipolare e modificare un plugin esistente “sano”, e poi cominciare a diffonderne una versione modificata, per sfruttarla in seguito, dopo che il plugin si sarà diffuso
    SOLUZIONE: usate solo ed esclusivamente plugin e temi di “buona reputazione”, e scaricateli solo ed esclusivamente da siti affidabili.
    (Si, quel certo plugin che fa uno show di foto è proprio quello che stavate cercando: ma se vedete che ha solo poche dozzine di installazioni, e che si può scaricare solo da un oscuro sito koreano… meglio lasciar perdere).
  • uso di password banali
    Una delle tecniche più banali è quella del “brute force”: un BOT cercherà di effettuare il log-in sul vostro sito, provando password a caso scelte tra una libreria di una milionata delle password più comuni. Ai primi posti troverete i vari “pippo”, “123456”, “qwerty”, ecc.
    Quindi, se usate una di queste passowrd, il vostro sito verrà violato nell’arco di poche ore. Se usate password un po’ più complesse, ci potranno volere alcuni giorni.
    SOLUZIONE: usate password complesse, di almeno 12 caratteri, che utilizzino lettere maiuscole, minuscole, numeri e caratteri speciali, e che non siano riconducibili ad alcun significato. Una buona password è ad esempio “Aj97%g745Why$”
  • presenza di virus o malware su uno dei PC usati per gestire il Vostro sito
    Se il PC che utilizzate per gestire il vostro sito è infetto da un virus o da un malware, può capitare che (tra il resto) questo malware prenda tutte le password memorizzate nel vostro browser e le invii ad un BOT esterno, che provvederà poi (magari in un futuro non prossimo) a combinare danni.
    Non è necessario che questo avvenga proprio sul PC che utilizzate quotidianamente: è sufficiente che capiti sul PC di un amico/collega/cliente/albergo che avete usato magari sei mesi fa…
    SOLUZIONE:
    – utilizzate sempre un buon ativirus aggiornato
    – se dovete utilizzare un PC “estraneo” per gestire il vostro sito, non memorizzate la password nel browser
    – sempre se dovete usare un PC “estraneo”, a meno che non siate più che certi della “salute” di questo PC, una volta tornati sul vostro PC modificate la password

Questi sono i mezzi più comuni usati per violare un sito; ce ne sono altri, più sofisticati ma anche molto più rari, che qui neppure citiamo.
Tuttavia, osservando gli accorgimenti sopra suggeriti, si riusciranno ad evitare la quasi totalità dei problemi che potranno ragionevolmente verificarsi.

COSA FARE SE IL VOSTRO SITO E’ STATO VIOLATO

  • cancellate tutti i contenuti
  • controllate se il vostro CMS è aggiornato; se non lo fosse, procuratevene una copia aggiornata
  • controllate ed aggiornate TUTTI i plugin utilizzati; eliminate qualsiasi plugin di cui non siate CERTI della genuinità
  • controllate ed aggiornate il tema; se non siete certi della sua genuinità, cambiatelo
  • fate un approfondito check antivirus del vostro PC e di qualsiasi altro PC utilizzato nel corso degli ultimi mesi per gestire il vostro sito
  • modificate tutte le password utilizzate per la gestione (password di amministratore del CMS, password FTP, password di accesso ai db)
  • concluse queste operazioni, potete ricaricare i contenuti del sito

NOTA: per il check del proprio sito, consigliamo di effettuare uno scan antimalware gratuito con il servizio di Sucuri.
Sucuri offre anche un servizio a pagamento per il check continuo del sito e, in caso di necessità, la bonifica dello stesso.