CASO DI STUDIO · TERZO SETTORE

Il sito dimenticato dell’associazione: spam su Google e nessuno con le password

  • CLIENTEAssociazione di volontariato (dati anonimizzati)
  • PIATTAFORMAWordPress

Una socia trova su Google pagine di spam e un avviso sotto il nome dell’associazione. Recuperati dominio e accessi, sito ripulito entro 24 ore.

Un risultato di ricerca con un avviso giallo e pagine di spam sotto il nome di un’associazione, accanto a un mazzo di chiavi ritrovato e a un calendario con piccoli segni di spunta per la manutenzione

Il contesto

Un’associazione di volontariato di provincia, con un centinaio di soci e una trentina di volontari attivi, che organizza l’accompagnamento di persone anziane alle visite mediche e una raccolta alimentare due volte l’anno. Nessun dipendente, un bilancio di poche migliaia di euro, un direttivo che si riunisce una sera al mese. Il sito, su WordPress, era stato realizzato sette anni prima da un volontario appassionato di informatica: pagine di presentazione, un calendario delle attività, il modulo per diventare soci e le istruzioni per il cinque per mille. Poi il volontario si era trasferito per lavoro in un’altra regione, e il sito era rimasto lì, «tanto funziona». Per riservatezza, nome dell’associazione, luogo e dettagli che permetterebbero di identificarla sono stati omessi o modificati.

I sintomi

A settembre una socia, cercando su Google il numero di telefono per prenotare un accompagnamento, ha trovato sotto il nome dell’associazione una serie di risultati strani: pagine in giapponese e in inglese che pubblicizzavano borse di marca e integratori, tutte con l’indirizzo del sito. Accanto al risultato principale compariva l’avviso «Questo sito potrebbe essere stato compromesso». Aprendo il sito dal computer tutto sembrava normale, e proprio questo ha fatto pensare, all’inizio, a un errore di Google.

Il presidente ha chiesto al direttivo chi avesse le password del sito. Nessuno. Nessuno sapeva nemmeno con precisione dove fosse ospitato, a nome di chi fosse registrato il dominio o se qualcuno ricevesse le comunicazioni di Google. È una situazione molto più comune di quanto si pensi, e non solo nel terzo settore: il sito esiste, ma non ha un proprietario.

Riprendere le chiavi

Il tesoriere ci ha contattato chiedendo un preventivo per «togliere il virus». La prima cosa che gli abbiamo spiegato è che il nostro tempo di intervento parte dalla ricezione degli accessi, e che quindi il primo lavoro spettava all’associazione: ritrovare le chiavi. Lo abbiamo aiutato a fare l’inventario con alcune domande semplici, e la ricostruzione ha richiesto una settimana.

  • Il dominio. Una ricerca nel database pubblico dei nomi a dominio mostrava il registrar, ma non il titolare. Il vecchio estratto conto dell’associazione ha fatto il resto: il rinnovo annuale era addebitato sulla carta personale del volontario, che il direttivo è riuscito a rintracciare. Il dominio era intestato a lui, come persona fisica. Con la sua collaborazione è stata avviata presso il registrar la procedura di cambio del titolare a favore dell’associazione, con il codice fiscale dell’ente e un indirizzo email condiviso del direttivo.
  • L’hosting. Era un piccolo piano condiviso, sullo stesso account del registrar e con la stessa email personale. Una volta ottenuto il cambio dell’indirizzo di contatto, il presidente ha potuto reimpostare la password del pannello e scaricare i dati di accesso a SFTP e database.
  • WordPress. L’unico amministratore conosciuto era il volontario, che non ricordava la password e usava un indirizzo email non più attivo. Con l’accesso al pannello abbiamo potuto creare un nuovo amministratore intestato all’associazione.
  • La Search Console. La proprietà del sito era verificata solo con l’account del volontario. Con l’accesso ai DNS l’associazione ha aggiunto il record di verifica per il proprio account Google e ha finalmente visto il rapporto sui problemi di sicurezza: mesi di avvisi mai letti da nessuno.
Mappa delle chiavi del sito prima e dopo. A sinistra, prima: dominio, hosting, amministratore di WordPress, Search Console ed email di contatto sono tutti collegati a una sola persona, il volontario che ha lasciato l’associazione, con la carta personale e un indirizzo email non più attivo; il direttivo non ha accesso a nulla. A destra, dopo: le stesse cinque chiavi sono intestate all’associazione, collegate a un indirizzo email condiviso del direttivo e custodite in un gestore di password condiviso, con almeno due persone che possono accedere a ciascuna.
Prima, ogni accesso dipendeva da una sola persona che non c’era più. Dopo, ogni chiave è intestata all’associazione e almeno due persone possono usarla.

Con gli accessi finalmente in mano, l’associazione ha scelto il servizio con intervento entro 24 ore, il più adatto a un sito senza commercio elettronico e a un bilancio da volontariato.

Cosa abbiamo trovato a livello applicativo

Il sito girava con una versione di WordPress di sei anni prima, un tema non più mantenuto e undici plugin, sette dei quali non aggiornati da anni e due ritirati dalla directory ufficiale per problemi di sicurezza. Era un bersaglio facile, e infatti non era stato colpito una volta sola.

L’infezione principale era un classico spam SEO giapponese: un gruppo di file nascosti tra quelli di un plugin per i moduli generava migliaia di pagine pubblicitarie, visibili solo quando la richiesta arrivava da un motore di ricerca. Ai visitatori normali il sito mostrava le sue pagine di sempre, ed è per questo che nessuno se n’era accorto. Una sitemap aggiuntiva, creata nella radice del sito, segnalava a Google le nuove pagine. Accanto a questa c’erano i resti di almeno due infezioni più vecchie: backdoor negli upload con date di anni diversi e tre amministratori sconosciuti, due dei quali mai usati, come succede spesso con gli amministratori fantasma. Il modulo per diventare soci, basato su uno dei plugin ritirati, era con ogni probabilità la porta d’ingresso iniziale.

C’era anche un aspetto che al direttivo interessava più di tutto: i dati dei soci. Le richieste di adesione arrivate dal modulo erano salvate nel database, con nomi, indirizzi e numeri di telefono di oltre duecento persone. Non abbiamo trovato segni di esportazione di quelle tabelle, ma con backdoor attive per mesi non si poteva escluderlo; abbiamo quindi fornito all’associazione gli elementi per valutare, con il proprio consulente, gli adempimenti previsti in caso di violazione dei dati personali.

Cosa abbiamo trovato a livello di sistema

Su un hosting condiviso il margine d’azione a livello di sistema è limitato, ma non nullo. Nel pannello c’era un’attività pianificata, creata dall’attaccante, che ogni sei ore richiamava uno dei file di spam per rigenerare la sitemap. Nella cartella principale dell’account, accanto al sito, c’era poi una vecchia installazione di prova di WordPress, dimenticata dal volontario anni prima: anch’essa infetta e, condividendo lo stesso utente del sito principale, in grado di riscriverne i file. È il problema descritto nell’articolo sulla contaminazione incrociata sugli hosting condivisi. Il provider, interpellato, ha confermato che gli altri account del server non erano coinvolti.

Come l’abbiamo rimosso

Dopo aver salvato una copia completa di file, database e log, abbiamo:

  1. eliminato l’attività pianificata e l’installazione di prova, dopo averne conservato una copia;
  2. reinstallato da fonti ufficiali l’ultima versione di WordPress e un tema mantenuto, adattato per conservare l’aspetto del sito;
  3. ridotto i plugin da undici a quattro, sostituendo quelli ritirati con alternative mantenute, compreso un nuovo modulo di adesione che non conserva più i dati nel database ma li invia all’indirizzo del direttivo;
  4. ricopiato dagli upload solo immagini e documenti, dopo averli controllati, e rimosso le backdoor e la sitemap falsa;
  5. eliminato gli amministratori sconosciuti e quello del volontario, e cambiato tutte le credenziali: WordPress, database, SFTP, pannello, chiavi e salt;
  6. fatto restituire alle pagine di spam il codice 410, che dice a Google che non esistono più, e verificato il risultato simulando le richieste di un motore di ricerca.

Poi, con il tesoriere, abbiamo seguito dalla Search Console la procedura descritta nell’articolo sulla rimozione dalle blacklist di Google: inviata la sitemap corretta, segnalati gli indirizzi da rimuovere e richiesta la revisione dei problemi di sicurezza, con una breve descrizione di cosa era stato trovato e di cosa era stato fatto.

L’hardening

Per un’associazione senza tecnici, l’hardening migliore è quello che non richiede interventi continui. Abbiamo attivato gli aggiornamenti automatici di WordPress e dei quattro plugin rimasti, bloccato l’esecuzione di PHP negli upload e la modifica dei file dalla bacheca, attivato l’autenticazione a due fattori per i due amministratori e un backup giornaliero conservato fuori dall’hosting, con trenta giorni di storico. Il monitoraggio dell’integrità dei file invia un avviso all’indirizzo condiviso del direttivo se compare un file PHP nuovo.

Un piano di manutenzione su misura

La vera causa del problema non era un plugin, ma l’assenza di qualcuno responsabile del sito. Per questo abbiamo concordato con il direttivo un piano semplice, pensato per volontari che hanno poco tempo e nessuna competenza tecnica, e con costi contenuti: il dominio, un piano di hosting con backup inclusi e un gestore di password con un piano gratuito o scontato per il non profit.

Piano di manutenzione per un’associazione senza personale tecnico, in quattro colonne. Ogni mese, dieci minuti: aprire il sito, controllare che gli aggiornamenti automatici siano andati a buon fine e leggere eventuali avvisi di Google o del monitoraggio. Ogni tre mesi, trenta minuti: cercare il nome dell’associazione su Google, controllare utenti e plugin in bacheca, verificare che il backup esista. Ogni anno, un’ora: controllare scadenza del dominio e dell’hosting, ripassare l’elenco delle chiavi, provare un ripristino del backup su una copia, togliere plugin e pagine che non servono più. A ogni cambio del direttivo: passaggio delle chiavi all’ordine del giorno, nuovi referenti nel gestore di password, uscita di chi lascia da tutti gli accessi e cambio delle password condivise. In basso: due referenti, un’email condivisa, un gestore di password.
Il piano concordato con il direttivo: pochi minuti al mese e un passaggio di consegne a ogni rinnovo delle cariche.

Le regole di fondo sono tre. Ogni accesso è intestato all’associazione, non a una persona, e passa per un indirizzo email condiviso del direttivo, così le comunicazioni del registrar, del provider e di Google arrivano sempre a qualcuno. Ogni chiave è custodita in un gestore di password condiviso e almeno due persone possono usarla. E a ogni rinnovo del direttivo il passaggio delle chiavi è un punto all’ordine del giorno, come la consegna della cassa: chi lascia un incarico esce anche dagli accessi.

Il risultato

Il sito è stato dichiarato pulito entro le 24 ore previste dal servizio. Google ha accolto la richiesta di revisione in quattro giorni e l’avviso accanto al risultato è scomparso; le pagine di spam sono uscite dall’indice nel giro di un mese, e oggi chi cerca il nome dell’associazione trova di nuovo il numero per prenotare un accompagnamento. Nei due mesi successivi il monitoraggio non ha registrato modifiche non autorizzate. L’associazione ha ricevuto un rapporto con le cause, gli interventi e il piano di manutenzione, scritto in modo da poter essere letto anche da chi non si occupa di informatica.

Cosa insegna questo caso

Un sito dimenticato non resta fermo: invecchia, e prima o poi qualcuno se ne accorge, spesso non il proprietario. In questo caso la parte più lunga non è stata la bonifica, ma ritrovare le chiavi, perché tutto dipendeva da una persona generosa che aveva fatto il sito a titolo personale e poi, com’è normale, era andata avanti con la sua vita. Non serve un reparto informatico per evitarlo: servono accessi intestati all’ente, due persone che sanno dove sono e un piccolo appuntamento fisso sul calendario.

Rimozionemalware.com è il servizio di bonifica dei siti WordPress di Managed Server S.r.l., che gestisce server e hosting dal 2005. Interveniamo sull’applicazione e sul sistema, con tempi garantiti di 6, 12 o 24 ore per ogni installazione di WordPress, calcolati dalla ricezione degli accessi. Se il sito della tua associazione mostra risultati strani su Google, o se non sei più sicuro di chi ne abbia le chiavi, puoi contattarci.

IL PROSSIMO PASSO

Il tuo sito
è infetto?

Ogni ora conta: il malware continua a colpire visitatori e clienti, e Google, l’hosting e le blacklist non aspettano. Scegli il piano, paga online e condividi gli accessi: la bonifica parte subito, a prezzo fisso e con tempi garantiti.

Richiedi la bonifica

Ti porta ai piani: bonifica entro 6, 12 o 24 ore dalla ricezione degli accessi.

MANAGED SERVER S.R.L.info@rimozionemalware.com +39 02 5656 9681

Lunedì – venerdì · 09:30 – 19:30

Preferisci un modulo online?
Contattaci su managedserver.it ↗