Attenzione! Stai navigando il vecchio sito
Vai alla nuova homepage »
Impegni permettendo sto rinnovando il sito. Le informazioni che trovi in questo vecchio sito sono obsolete e mano a mano verranno rimpiazzate.

Come risolvere l'attacco hacker che crea pagine 'Viagra' in WordPress (Pharma Hack)

Scritto da Marco Panichi il Aggiornato il
hacked serp

Cerchi la tua azienda su Google e BOOOM trovi link al tuo sito con titoli e descrizioni tipo “Lunesta online: Viagra prezzo farmacia!”?

Hai scoperto pagine nascoste nel tuo sito WordPress piene di parole come Viagra, Cialis, e altri nomi di medicinali?

Probabilmente sei stato infettato dal noto Pharma Hack. A questo punto i blogger più entusiasti tirerebbero fuori dal cappello un sorridente “Niente paura!”. Io invece ci andrei più cauto perché questo attacco hacker è bello rognoso.

La buona notizia è che in questa guida troverai una sintesi completa di tutte le informazioni importanti sull’attacco Pharma: comprendere le motivazioni del pirata informatico, individuare i files sospetti, curare l’infezione e rafforzare la sicurezza per il futuro.

Pronto!?

ATTENZIONE! LEGGI PRIMA QUI!

Dopo ulteriori esperienze accumulate in seguito alla pubblicazione del presente articolo, ho compreso che effettuare una pulizia del sito in essere può risultare infruttuoso. Questo perché il codice malevolo può cambiare forma e la sua individuazione può essere difficile e complessa.

Questo, unito al fatto che una pulizia incompleta porta all’inesorabile re-infezione del sito, mi porta a concludere che è sempre meglio reinstallare il sito da zero e reimportare i contenuti “passandoli al setaccio”.

In ogni caso ho preferito lasciare l’articolo così com’è, per chi, nonostante tali considerazioni, volesse procedere a ripulire l’installazione in essere.


A chi si rivolge questa guida

Questo articolo si rivolge a programmatori con competenze medio-basse, visto che probabilmente quelli più esperti avranno già risolto da soli.

Al tempo stesso non è adatto a chi ha zero conoscenze e non ha strumenti per agire. Se ricadi in questa categoria ti blocco immediatamente: rischi di diventare matto e perdere un sacco di tempo (inutilmente forse) che potresti usare per curare la tua attività – richiedimi un preventivo (abbi cura di specificare il link al sito) così avrai modo di valutare l’opzione migliore per te.

 

Avviso per gli utenti Joomla

Questa guida si riferisce a chi sfrutta la piattaforma WordPress ma molte considerazioni sono valide anche per chi invece usa Joomla.

Per cui se fai parte di questa schiera scorri ugualmente l’articolo – vi troverai informazioni utili!

L’atteggiamento giusto

Prima di cominciare: ti consiglio caldamente di non concentrarti sui dettagli dell’attacco (nomi di files, istruzioni php, ecc) ma sul paradigma generale. Il pirata informatico potrebbe aver modificato alcuni parametri del suo attacco (nomi dei files infetti o istruzioni utilizzate, appunto) per rendere più difficile l’identificazione del problema.

Inoltre accetta l’idea che dovrai destinare uno o più giorni per debellare l’attacco. Lavorare con la fretta può portare a conseguenze più o meno gravi, dal ripresentarsi del problema fino alla perdita di informazioni o anche a malfunzionamenti irreversibili.

Sintomi dell’attacco Pharma Hack

Risultati di Google alterati

Per sua natura (approfondirò in seguito) il Pharma Hack viene principalmente scoperto perché le nostre pagine nelle SERP (pagine dei risultati di ricerca) di Google presentano snippet alterati. Ecco un esempio

serp alterata da pharma hack

NOTA: cliccando un risultato del genere, probabilmente vedrai una pagina normale!

Pagine nell’indice di Google alterate

Google costruisce le sue SERP a partire NON dalla pagina del tuo sito ma da una copia della tua pagina nel suo indice. Questo sintomo quindi è strettamente correlato al primo (risultati alterati).

Ecco come funziona: Google è programmato per acquisire tutte le pagine del web (eccetto eventuali contenuti bloccati) e salvarle nel suo indice. Quando l’utente cerca qualcosa su Google lui non rovista il web tutte le volte ma effettua la ricerca sul suo indice. Chiunque può visualizzare le pagine così come sono state acquisite da Google semplicemente scrivendo:

cache:<url della pagina>

Nel caso di un attacco come il Pharma Hack, Google acquisisce delle pagine alterate che saranno visualizzabili quando andremo ad effettuare il controllo tramite l’operatore cache.

NOTA: Google potrebbe aver ripristinato nel suo indice le pagine così com’erano prima dell’attacco. In tal caso il controllo “cache” ritornerebbe un falso positivo.

“Visualizza come Google” mostra pagine alterate

Google mette a disposizione dei proprietari dei siti molti strumenti per mezzo della Search Console (ex Google Webmaster Tools). Tra questi ne troviamo uno molto utile soprannominato “Visualizza come Google”. Con questo strumento possiamo vedere una pagina del nostro sito esattamente con gli occhi di Google (o meglio, del programma preposto a scansionare il web, soprannominato Googlebot).

Accanto alla pagina vista dalla prospettiva di Google verrà renderizzata anche la pagina ce si presenta agli utenti normali. In questo modo sarà facile vedere la differenza e comprendere al meglio le modalità dell’attacco.

NOTA: Non tutte le pagine vengono infettate dal Pharma Hack, il quale si concentra solo su quelle più autorevoli.

Backlink da siti inaspettati verso le pagine infettate

In Search Console possiamo apprendere quali sono i siti con un backlink al nostro sito web nella sezione Traffico di ricerca > Link che rimandano al tuo sito. Se sei stato infettato dal Pharma Hack qui troverai siti a te sconosciuti che indirizzano a pagine strane del tuo sito a partire da pagine altrettanto strane; ad esempio:

<dominio-di-terzi>?viagra-buy-cheap ---> <tuo-dominio>?viagra

Perché devi curare l’attacco hacker prima possibile

Benchè penso non ve ne sia bisogno, ti consiglio caldamente di correre subito ai ripari. I motivi sono principalmente:

  1. Google potrebbe penalizzare il tuo sito o bannarlo dalle SERPs.
  2. Il tuo traffico subirà una diminuzione
  3. Chi ti cerca su Google avrà una brutta sorpresa…
  4. …a danno della tua reputazione online!
  5. Hai “in casa” un malintenzionato che può danneggiare te e i tuoi utenti (< che se la prenderanno con te!)
  6. Più aspetti e più l’infezione potrebbe diffondersi, rendendo difficoltosa la rimozione

Pharma Hack – Descrizione dell’attacco e suo scopo

Scenario: “C’era una volta…”

Per diagnosticare e curare un attacco hacker dobbiamo metterci nei panni del pirata informatico e comprendere le sue motivazioni. Solo così sapremo dove cercare, quali interventi attuare e soprattutto come difenderci in futuro.

Tutto parte da un ragazzo dotato di talento informatico. Un bel giorno decide di mettere a frutto le sue competenze costruendo un ecommerce per vendere medicinali online. Tra questi medicinali c’è di tutto: viagra, cialis e molti altri. Il business è sicuramente redditizio ma si pone un problema: il sito deve posizionarsi in prima pagina di Google per essere raggiunto da tutti quelli che cercano tali medicinali tramite il motore di ricerca.

La domanda del talentuoso informatico diventa quindi: “come posso far salire il mio sito di posizione per queste parole chiave?”

La risposta (che è ambito di studio della SEO = Ottimizzazione per i Motori di Ricerca) coinvolge sicuramente la qualità del sito stesso ma anche e soprattutto le referenze al sito, ossia cosa dicono gli altri siti di questo ecommerce. Le referenze nel web si materializzano principalmente tramite link piazzati in siti di terzi (detti referenti o, in gergo “referral”) e diretti al nostro sito web. Chiaramente, queste referenze assumono maggior valore quando i siti referenti parlano dei nostri stessi argomenti; la coerenza (o meglio, la “rilevanza”) gioca un ruolo prominente nelle ricerche degli utenti (e quindi anche nelle valutazioni dei motori di ricerca).

E’ qui che l’informatico prende la decisione di agire secondo la regola oppure no. Se sceglierà di agire onestamente cercherà di meritarsi queste referenze offrendo contenuti di valore all’utente, ricorrendo a tecniche SEO “buone” (in gergo “white hat SEO”) e alimentando positivamente il suo brand. Chiaramente questa strada è faticosa e, nel caso di un sito che vende medicinali di un certo tipo, sicuramente molto difficile, perché è coinvolta la reputazione dei propri clienti.

Ecco quindi che l’informatico sceglie di perseguire la seconda strada, quella scorretta, quella fatta delle cosiddette tecniche “black hat SEO”. Tra queste tecniche una delle più redditizie è la “tiered link building” ossia “costruzione di link a più livelli”. Ecco come funziona:

  1. Predispongo il mio sito web principale dove trasformo l’utente in cliente. Questo è soprannominato “money site” proprio ad intendere che è questo il sito dove vendo il mio prodotto e dal quale traggo profitto
  2. Individuo dei siti di media autorità (domini vecchi e ben alti nei motori di ricerca) e cerco di piazzare in questi dei link che puntano al mio money site. Questi siti costituiscono la prima “cerchia” o il primo livello. Sceglierò questi siti con cura e presterò attenzione affinché essi parlino degli stessi argomenti del mio sito.
  3. Troverò ora molti piccoli siti, magari più giovani, che indirizzano ai siti del primo livello. Questa sarà la mia seconda cerchia. Questi siti possono essere anche di scarsa qualità; quello che conta qui è il numero. Tra l’altro, essendoci una cerchia tra il money site e la seconda cerchia, non rischieremo che la scarsa qualità di tali siti intacchi la nostra reputazione.

Si tratta quindi di costruire backlinks ai nostri backlinks così da rendere il nostro money site “centrale” e “autorevole” agli occhi del motore di ricerca. Perché è una tecnica “black hat”? Perché le referenze devono sorgere con naturalezza nel web e non certo essere costruite a puntino. Google è molto attento a riguardo e negli anni ha sviluppato svariati algoritmi (il celebre algoritmo Penguin per citarne uno) per debellare tali tecniche e favorire così solo chi merita. Purtroppo Google non può essere ovunque in ogni istante e queste tecniche durano a morire.

Tutto ciò premesso, visto che sarebbe abbastanza impossibile costruire link su più cerchie con il consenso dei proprietari dei siti web, l’hacker individua siti vulnerabili e ne prende il controllo così da creare in questi pagine ricche di parole chiave coerenti con i suoi prodotti e chiaramente link diretti verso il suo money site o le cerchie più interne.

Le vulnerabilità che permettono l’attacco

Per accedere furtivamente ad un sito web, il pirata informatico si avvale di più punti deboli:

  • Computer infetti: Se il tuo computer è infettato da qualche malware, quest’ultimo potrebbe scoprire ed inviare all’hacker le credenziali d’accesso che usi per entrare nel pannello d’amministrazione del tuo WordPress o quelle per accedere allo spazio FTP. Non sottovalutare questo punto, per esperienza posso dirti che capita più spesso di quanto si pensi.
  • Password deboli: ancora nel 2015 c’è chi usa admin/admin come dati di accesso per la propria area amministrativa. Senza contare che esistono tipi di attacchi hacker detti “brute force attack” (letteralmente: attacchi forza bruta) tramite i quali vengono testate innumerevoli combinazioni di user e password al secondo fino a che non vengono scoperte quelle esatte. In tal caso, anche una password come admin123 avrebbe certamente vita corta.
  • Password riutilizzate: eh si, hai capito bene. La tua bella password fatti di numeri e caratteri strani avrà vita corta se la usi per accedere in ogni dove. Basta una falla in una qualsiasi applicazione che la tua password sarà il jolly per accedere ovunque. Molto pericoloso!
  • CMS o Plugin obsoleti / non aggiornati: altra piaga del web, siti mantenuti non di frequente o peggio, lasciati inalterati negli anni. Devi sapere che sia il tuo WordPress che i suoi plugins possono avere delle falle di sicurezza ed è solo questione di tempo affinché vengano scoperte. Quando ciò accade solitamente la comunità di sviluppatori ne dà comunicazione. Questo aiuta i proprietari di siti web a darsi una mossa ed aggiornare il proprio CMS. Però aiuta anche i malintenzionati i quali scrivono programmi automatici (“crawler”) che scorrazzano per il web alla ricerca di siti WordPress non aggiornati – e ne troveranno a migliaia! A questo punto sfruttare la vulnerabilità sarà piuttosto semplice!
  • Codice debole: Potremmo scrivere codice all’interno del nostro tema o effettuare modifiche che rendano insicuro il nostro sito. Codice scritto male permetterebbe all’hacker di inserire contenuti (“content injection”) nel nostro sito o peggio di inserire/recuperare dati nel/dal nostro database (“SQL injection”).

Sfruttando una (o più) di queste vulnerabilità, l’hacker accede al nostro sito e qui può depositare i files o il codice preposti ad infettare lo stesso.

L’hacker è entrato nel sito – ora avviene l’infezione

Le modalità di infezione del pharm-hack sono peculiari e molto dannose. Infatti l’hacker che attua questo attacco infetta più livelli del nostro sistema:

  1. Files di WordPress
  2. Files dei plugins
  3. Files del tema grafico
  4. Dati nel database

La prima cosa che ci sorprende è che a differenza di altri attacchi l’infezione non si ferma al file system ma si estende anche del database. Questo rende difficile individuare il problema e spesso inutile la pulizia.
Infatti, seconda osservazione da fare, pulire solo uno o più livelli non è sufficiente; basta lasciare infetto anche un solo livello (ad esempio il database che uno neanche ci va a pensare) che la problematica si riattivi.

Infezione del file system

Riguardo i primi tre punti, ossia l’infezione del file system, questa può avverarsi in due modi:

Aggiunta di files

Seguono alcuni esempi di files che l’hacker potrebbe aggiungere alla tua installazione WordPress:

wp-content/uploads/.*php (random PHP name file)
wp-includes/images/smilies/icon_smile_old.php.xl
wp-includes/images/wp-img.php
wp-includes/wp-db-class.php
wp-content/plugins/akismet/akismet.cache.php
wp-content/plugins/akismet/akismet.bak.php
wp-content/plugins/akismet/akismet.old.php
wp-content/plugins/akismet/class-akismet.php
wp-content/plugins/akismet/db-akismet.php

Come detto in apertura di articolo, questa è solo una lista esemplificativa – non fissarti troppo con questi nomi nello specifico. L’hacker potrebbe (anzi, lo ha fatto sicuramente) aver cambiato nome dei files per rendere più difficile la diagnosi dell’attacco.

Aggiunta di codice

Ecco alcuni esempi di codice che potrebbe essere stato inserito nei files sopracitati MA ANCHE in altri files del tuo sito:

< ? php $XZKsyG=’as';$RqoaUO=’e';$ygDOEJ=$XZKsyG.’s’.$RqoaUO.’r’.’t';$joEDdb
=’b’.$XZKsyG.$RqoaUO.(64).’_’.’d’.$RqoaUO.’c’.’o’.’d’.$RqoaUO;@$ygDOEJ(@$j
oEDdb(‘ZXZhbChiYXNlNjRfZGVjb2RlKCJhV1lvYVhOelpY ......... ?>
<?php /*?#?#,,sess,XJyb3JfcmV
b3J0a
5nKDApO
0KJGFjdD0i
0FDVElPTl0iOyBnbG9iY
.......
?>
<?php (0xf7001E)?0x8b:(0xaE17A)?0xDEc52:(0xBfe8E)?0xFCD:(0xE48a98)?0x1cDEe:(0x033A)?0xa1F:(0x8B953)?0xdAF6e80:(0x0c)?0xaFdD:(0xdb2d3)?0x6D3:(0x4F60)?0xFd1f:(0xD63)?0xC1Cb46:(0x885d6)?0x5728:(0xc78)?0xa9e:(0xC2Ad)?......?>
<?php

if(!defined('wp_class_support')) {
class WP_Replace_Widget_Support {

var $id_base; // Root id for all replace_widgets of this type.
.......

?>

Il ruolo dei files malevoli e del codice sopracitati, che ripeto coinvolge tutti e tre i livelli della tua installazione (WordPress core, plugins, tema) è quello di richiedere e sfruttare altro codice inserito nel database per generare i contenuti spam voluti dal pirata. E qui arriviamo al quarto livello nel quale l’infezione può propagarsi.

Infezione del Database

Come detto qui dentro l’hacker ha inserito codice php malevolo che una volta estratto viene eseguito per generare i contenuti spam. Il codice di cui parlo include quasi certamente istruzioni come base64_decode ed eval. Sadicamente il pirata potrebbe aver inserito queste funzioni scritte al contrario nel database!

A quanto pare, basandomi sulle (decine di) fonti da me reperite, la tabella del database maggiormente intaccata dall’attacco è la wp_options. Qui dentro il pirata potrebbe aver inserito delle opzioni aventi tale nome (colonna option_name):

wp_check_hash
class_generic_support
widget_generic_support
ftp_credentials
fwp
rss_<qualcosa> (*)

(*) dove rss_<qualcosa> è differente da rss_language, rss_use_excerpt, e rss_excerpt_length: queste sono righe inserite lecitamente da WordPRess!

Pharma Hack in funzione – ecco cosa accade

L’hacker ha le chiavi del nostro sito; ha piazzato il suo bel codice; ora è pronto per mettere in moto il meccanismo, cosa che potrebbe effettuare a suo comodo anche a distanza di mesi dall’infezione.

Quando l’hack viene messo in funzione, si attuano due fasi:

1) Il codice identifica la pagine più autorevoli

Per fare questo invia a Google una query del tipo “link:<dominio>” la quale torna siti web contenenti un link al tuo <dominio>. Un’osservazione doverosa: l’operatore link torna risultati assolutamente superficiali ma più che sufficienti all’hacker per individuare le pagine dove concentrarsi.

2) Il codice modifica tali pagine

Affinché -ATTENZIONE- mostrino all’utente la pagina di sempre MENTRE AL MOTORE DI RICERCA mostrino il contenuto spam con rispettivi links. Questo passo è importantissimo ai fini dell’attacco perché da un lato rende difficile per il proprietario del sito (e i suoi utenti) scoprire che si è infetti e dall’altro fornisce a Google i dati fuorvianti necessari per spingere il sito del pirata in alto nelle SERPs. Questa tecnica “black hat” prende il nome di cloaking.

E’ venuto il nostro momento

Ed eccoci ai giorni nostri: tu e i tuoi utenti vedete il sito come al solito. Ma Google vede tutta un’altra storia e questo lo sai bene perché cercando il tuo dominio su Google la pagina dei risultati ti mostra i contenuti salvati da Google stesso.

Che cosa fare? Vediamolo nel prossimo capitolo.

Come rimediare al Pharma Hack

0) Backup del sito e del database

Oh ragazzi lo so! E’ scontato ma è sempre bene ribadirlo. Backup di database e files dovrebbe essere una pratica periodica tanto più serrata quanto frequente l’aggiornamento del sito. Si va da backup annuali per siti statici con poche pagine fino a backup giornalieri per portali.

Oltre a quanto detto, il backup si rende necessario SEMPRE prima di ogni modifica di media-grande rilevanza al sito (senza contare che spesso anche un piccolo click può metterci in ginocchio) esattamente come quelle che ci apprestiamo ad effettuare nel seguito.

Per cui: SALVA TUTTO, ADERISCI ANCHE TU ALLA CAMPAGNA CONTRO IL “TE LO AVEVO DETTO”!

1) Chiudiamo fuori l’hacker

Come prima cosa dobbiamo impedire che il pirata possa accedere al sito mentre lo stiamo curando. Ci tengo a sottolineare l’importanza di cambiare dati d’accesso ALL’INIZIO E ALLA FINE del processo di cura ED ANCHE se scopriamo che alcuni files sono stati modificati da altri durante il processo stesso. Per fare questo agiremo così:

  1. Eliminiamo più utenti possibile. in seguito, ad acque calme, potremo ricreare gli utenti, prestando magari attenzione ad offrire questo privilegio solo a chi accede da computer puliti e ben protetti.
  2. Se stiamo ancora lavorando con l’admin creato originariamente da WordPress, creiamo un altro utente admin, logghiamoci con quest’ultimo e cancelliamo il primo (WordPress ci chiederà cosa fare dei post scritti dall’utente uscente: gli diremo di riassociarli al nuovo utente – pena la perdita totale di questi contenuti!).
  3. Cambiamo password alle nostre proprietà: pannello di amministrazione, spazio web, database.
  4. Ricordiamoci di settare i nuovi dati relativi al database nel file wp-config.php.

2) Ripuliamo il file system

Come detto sopra, la prima parte da ripulire è lo spazio web inteso come l’insieme dei files in esso contenuti.

Qui possiamo effettuare una ricerca automatica anche se sarebbe auspicabile fare un “giretto” a mano per due motivi: 1) Possiamo effettuare una ricerca automatica solo usando stringhe a noi note (vedi lista files infetti soprastante) ma l’hacker potrebbe aver variato tali nomenclature! 2) Una valutazione manuale, benché lunga e faticosa, ci regala una consapevolezza importante sul nostro spazio web utile al nostro sviluppo come programmatori che alla conoscenza della nostra proprietà.

Ricerca dei files

Procediamo alla ricerca di files sospetti, magari partendo da là dove sarà più probabile trovarli:

  • Cartella plugin akismet
  • Cartelle plugins varie
  • Cartella del tema
  • Altre cartelle di WordPress

Sempre tenendo a mente che questi siano stati modificati, possiamo concentrare la nostra attenzione su file contenenti stringhe simili a:

  • files dal nome palesemente casuale
  • icon_smile_old.php.xl
  • wp-db-class.php
  • wp-img.php
  • combinazioni del tipo *cache*.php; *bak*.php; *old*.php; *class*.php; *db*.php;

Niente ci vieta di cercare questi files usando una funzione “cerca” a nostra disposizione, magari usando caratteri jolly: *old*, *cache*, ecc.

Ogni volta che troveremo questi files procederemo a spostarli in una cartella temporanea. E’ preferibile infatti non cancellarli allo scopo di studiarli e di averli con sé per eventuali verifiche future qualora venissimo attaccati nuovamente.

Cancelliamo plugins e temi non utilizzati

Qui inclusi anche plugin “carini” ma non essenziali e temi oltre a quello utilizzato e un tema a scelta tra quelli predefiniti di WordPress (che potrebbe tornarci utile per fare dei test).

Nota per il futuro: ogni plugin POTREBBE diventare un problema in termini di sicurezza, performance e – non di meno – ordine mentale; per questo motivo avere un numero di plugin ridotto all’osso è buona norma. Prima di installare un qualsiasi plugin chiediamoci se ve ne sia veramente bisogno e soprattutto se offrirà un valore aggiuntivo all’utente; una riflessione sincera potrebbe rivelarci che in fondo quello che conta sono i contenuti e non i vari slideshow e gallerie fotografiche ad attrarre l’utente!

Stessa sorte tocca ai temi che non stiamo utilizzando, tanto più se questi siano gratuiti o scaricati per vie traverse (contengono malware con molta probabilità).

NOTA: conviene cancellare i files inutili DOPO la pulizia del file system per non privarci dell’opportunità di scoprire da dove sia partita l’infezione.

3) Pulizia del database

Passiamo ora a valutare lo stato del database.

Qui andremo ad indagare, come sopra indicato, la tabella wp_options dove cercheremo righe aventi option_name simile a wp_check_hash, class_generic_support, widget_generic_support, ftp_credentials, fwp, rss_<caratteri strani>. Come sopra citato ricordo che le righe denominate rss_language, rss_use_excerpt, e rss_excerpt_length sono sane e non vanno toccate!

Per effettuare questa ricerca possiamo usare la funzione cerca del nostro database qualora avessimo installato un gestore tipo phpMyAdmin; potremmo scrivere una query del tipo SELECT * FROM wp_options WHERE option_name LIKE ‘%<stringa-sospetta>%’; potremmo esportare il database, aprire il rispettivo file .sql e cercare qui dentro le stringhe.

Come sempre, non sottovalutiamo uno sguardo alla vecchia maniera – il pirata potrebbe aver cambiato modificato qualche parametro del suo approccio per rendere tutte le nostre ricerche inutili!

Una volta trovati questi records, eliminiamoli senza pietà.

4) Ricambiamo tutte le password

Come detto sopra, questo passo non va sottovalutato.

5) Rafforziamo la sicurezza del nostro sito WordPress

Qui si potrebbe scrivere un libro a parte. Per brevità mi limiterò a menzionare alcuni accorgimenti importanti lasciandoti il “divertimento” di approfondire.

Accorgimenti in generale

Nel corso dell’articolo sono venuti fuori svariati accorgimenti utili che puoi attuare: usa password a prova di bomba destinate solo al login in WordPress; crea un nuovo utente admin e cancella l’originario; riduci al minimo il numero degli utenti; cancella plugins e temi inutilizzati; usa i plugins con parsimonia; tieni tutto sempre aggiornato.

A questi aggiungo un’osservazione che forse ti sarà utile per il tuo prossimo progetto WordPress: cambia il prefisso delle tabelle che WP andrà a creare nel database. Solitamente questo prefisso è wp_ e questa sistematicità è di per sè una vulnerabilità sfruttabile dall’hacker che deve programmare il suo software “malefico”. Puoi inserire le iniziali del tuo progetto (esempio: miositodiscarpe.com userà un prefisso come msds_) oppure wp_ seguito da alcuni caratteri casuali (esempio: wp_6dk2_). In questo modo renderai difficile la vita all’hacker che sperava di trovare nomi di tabelle specifiche nel database.

Installazione e configurazione del iThemes Security

Nel corso degli anni ho individuato il plugin iThemes Security (una volta conosciuto come Better WP Security) come il plugin migliore per gestire la sicurezza in WordPRess. Una volta installato occorrerà però configurarlo a dovere – ecco una lista di configurazioni che ti consiglio:

  • Brute force protection – contro i tentativi meccanizzati per scoprire i tuoi dati di accesso
  • Backup del database – casomai il tuo provider non ti fornisca questa funzionalità
  • Hide login area – in questo modo nessuno potrà accedere alla tua area riservata tramite all’indirizzo preimpostato da WordPress che è /wp-admin. Potrai stabilire tu stesso una dicitura alternativa che può essere di fantasia come /entraqui, /areagestione, ecc
  • Strong password – forzerai gli utenti ad usare una password molto forte.
  • Remove WordPress Generator Meta Tag – Rimuove il tag <meta name=”generator” content=”WordPress [version]” /> dall’header del tuo sito. Molto utile contro quegli attacchi che si basano su una specifica versione di WP o che hanno bisogno di conoscere la versione da te installata.
  • Reduce Comment Spam – Opzione laterale rispetto la sicurezza ma pur sempre importante. Oltretutto così puoi fare a meno di installare un altro plugin per limitare lo spam (ad esempio Akismet).
  • Disable login error messages – Quando un utente sbaglia credenziali, WordPress lo informa dell’errore dandogli probabilmente troppe indicazioni. Gli rivela infatti se è sbagliata la password o lo username. Questi sono indiizi importanti per un malintenzionato che ci guarderemo bene dal diffondere!
  • Force Unique Nickname – Avere un nickname di accesso uguale al nome (che compare al pubblico) non è una buona cosa! Praticamente regaliamo metà del nostro accesso ai pirati.

Attenzione: Non attivare la funzione 404 detection

Questa funzione è molto utile per la sicurezza di un sito poiché bloccherà tutti gli IP Address che tenteranno richieste ripetute a pagine inesistenti in brevi tempi (ucci ucci sento puzza di malwerucci…).

Questo comportamento però non aiuta il recupero dall’attacco Pharma Hack il quale ha bisogno (lo vedremo nella prossima sezione) proprio di tornare pagine 404 per specifiche richieste di Google.

Ergo: non attivare questa funzione finché la SERP non è tornata in forma!

6) Favoriamo la pulizia dei risultati di Google

Dico “favoriamo la pulzia” e non direttamente “puliamo” perché chiaramente la SERP di Google è affare di Google e noi possiamo solo limitarci a fare del nostro meglio per indurre il motore a rivalutare determinati aspetti della nostra indicizzazione. Ecco come.

Re-invio all’indice delle pagine curate

Hai presente quelle pagine che nella pagina dei risultati di Google erano alterate ma cliccandoci presentavano contenuto normale?

Bene, queste pagine, dopo la pulizia, dovrebbero essere tornate a posto. Per verificare usa “Visualizza come Google” ed accertati che la versione vista da Google sia la stessa di quella vista dall’utente.

Ciò fatto, procedi a recuperare la pagina ed inviarla all’indice effettuando lo stesso anche per le altre pagine. Può essere un lavoro ingrato soprattutto quando le pagine sono molte, ma non c’è altro modo.

Rimozione delle pagine TOTALMENTE infette

In altri casi o addirittura in altri tipi di attacchi l’hacker potrebbe aver creato innumerevoli pagine con contenuto alterato. Queste si differenziano da quelle precedenti perché non si avvalgono di cloaking (Google e utente vedono la stessa cosa).

Tali pagine vanno cancellate chiaramente da WordPress e poi dall’indice di Google. Per fare questo puoi avvalerti del tool di rimozione URL messo a disposizione da Google.

ATTENZIONE: USARE CON CAUTELA! Una volta de-indicizzato un URL potrebbe essere molto difficile farlo digerire nuovamente da Google! Per cui assicurati che l’url sia corrispondente ad una pagina effettivamente infettata e rimossa dal tuo sito!

Rimozione di URL del tipo <url>/?viagra

In questo caso, dove chiaramente non puoi cancellare ne de-indicizzare le pagine infettate dal tuo sito web, devi ricorrere ad uno pezetto di codice PHP da inserire IN CIMA al tuo file functions.php:

// inserisci qui gli url infettati senza dominio ma con slash iniziale e finale
$URL_INFETTI =array(
	'/',
	'/url-infetto-1/',
	'/url-infetto-2/',
	// ecc...
);

// ritorno 404 quando l'utente / googlebot chiede questa pagina aggiungendo un parametro
$URI = explode( '?', $_SERVER["REQUEST_URI"] ); $URI = $URI[0];
if( in_array( $URI, $URL_INFETTI ) and $_SERVER['QUERY_STRING']!='' ) 
{ 
	header('HTTP/1.0 404 Not Found');
	echo "<h1>404 Not Found</h1>";
	echo "The page that you have requested could not be found.";
	exit();
}

Questo codice torna una risposta 404 (Not found) all’utente (e anche a Googlebot) che accederà agli URL infetti del tipo <url>/?<qualcosa>.

Questa pratica velocizzerà la de-indicizzazione dei risultati alterati.

Usa l’array $URL_INFETTI per definire gli URL che sono stati intaccati dall’attacco.

Altro?

Per qualsiasi cosa non esitare a lasciare un commento qui sotto!

Avrò piacere di risponderti quanto prima.

Commenti

Informativa
Noi e terze parti usiamo strumenti di tracciamento (cookie e tecnologie affini) per finalità tecniche e, con il tuo consenso, anche per altre finalità specificate nella Cookie Policy. In qualsiasi momento puoi liberamente prestare, revocare o rifiutare tale consenso. Per ulteriori informazioni vedi: Privacy Policy - Cookie Policy
X
Personalizza il tuo consenso
Da qui puoi esprimere le tue preferenze rispetto i cookie e le tecnologie che usiamo per le varie finalità. Ricordati che in qualsiasi momento puoi liberamente modificare queste preferenze. Per ulteriori informazioni vedi: Privacy Policy - Cookie Policy
Strumenti di tracciamento di terze parti INFO
Cookie o strumenti di tracciamento gestiti da terze parti. Essi sono strettamente necessari per garantire il funzionamento e la fornitura del servizio richiesto dall'utente e quindi non richiedono il suo consenso.
Miglioramento dell'Esperienza INFO
Cookie utili per fornire un'esperienza utente migliore e personalizzata, tramite la gestione delle impostazioni personali e l'interazione con piattaforme di terzi e network.
Misurazione INFO
Strumenti per misurare il traffico e analizzare il comportamento degli utenti con l'obiettivo di migliorare il servizio.
Targeting e Pubblicità INFO
Strumenti per fornire contenuti commerciali personalizzati in base al comportamento dell'utente e per gestire, diffondere e tracciare annunci pubblicitari.
X