Il tuo sito è aggiornato, le password sono lunghe, i plugin sono pochi e scelti bene. Una mattina però non si apre: Google lo segnala come pericoloso, e dentro i file c'è codice che non hai scritto tu.
Non hai sbagliato niente. È entrato da un'altra parte.
Cos'è la contaminazione crociata
Su un hosting condiviso il tuo sito non è solo sulla macchina. Accanto ce ne sono altri, di aziende che non conosci, gestiti con criteri che non controlli.
La contaminazione crociata è quello che succede quando chi è entrato in uno di quei siti riesce a spostarsi anche negli altri. Il punto d'ingresso è il più trascurato di tutti — un plugin fermo a tre anni fa, un tema scaricato da un sito qualunque, una password riciclata — ma da lì il danno si allarga a chi non c'entra nulla.
È il motivo per cui «il mio sito è piccolo, chi vuoi che mi attacchi» è la domanda sbagliata. Non serve che qualcuno prenda di mira te: basta che prenda di mira il server su cui stai, e i bot che scandagliano internet non scelgono le vittime, le trovano.
Come si sposta, in pratica
Perché un'infezione passi da un sito all'altro serve che i due condividano qualcosa che non dovrebbero.
Lo stesso utente di sistema. Se i processi di più siti girano con la stessa identità, chi controlla il processo di uno può leggere e scrivere i file dell'altro. È la via più diretta.
I permessi troppo larghi. Cartelle lasciate scrivibili da chiunque durante un'installazione fatta di fretta, e mai richiuse. Capita più spesso di quanto si creda.
La cartella temporanea in comune. Uno spazio dove tutti possono scrivere diventa un posto comodo dove depositare un file e farlo eseguire da un altro contesto.
Il database con troppi diritti. Un'utenza che può leggere anche le tabelle che non le servono trasforma una falla in un sito in una fuga di dati di molti.
Il ponte umano. Spesso non è nemmeno il server: è il computer dell'agenzia. Un FTP salvato in un programma infetto consegna in un colpo solo le credenziali di trenta siti diversi, che magari stanno su hosting diversi.
I segnali, prima che sia evidente
Raramente arriva un avviso. Si notano piuttosto:
- file nuovi con nomi senza senso nelle cartelle di sistema, con date di modifica che non corrispondono a nessun tuo intervento;
- il sito che rallenta senza che il traffico sia cresciuto;
- email in uscita che non hai mandato, e il dominio che finisce in qualche lista nera;
- risultati di ricerca che mostrano, sotto il tuo nome, pagine che non esistono nel tuo sito;
- un comportamento diverso per i visitatori che arrivano da Google rispetto a quando lo apri tu, che è il modo in cui l'infezione resta invisibile al proprietario.
Se compare anche uno solo di questi, il tempo conta: più a lungo resta, più profondo diventa il recupero.
Come è impostata l'infrastruttura ICBS
La difesa vera non è accorgersene presto: è fare in modo che il salto da un sito all'altro non sia possibile.
Isolamento delle risorse. Usiamo container Linux, KVM e LXD per orchestrarli, isolando completamente non solo ogni account di hosting sui nostri server, ma anche ogni istanza. È la separazione che toglie di mezzo, alla radice, le prime quattro strade descritte sopra: se i confini sono reali, non c'è un «accanto» in cui spostarsi.
Regole applicate prima delle correzioni. Fra il momento in cui una falla diventa pubblica e quello in cui esce l'aggiornamento passano giorni, e sono i giorni in cui gli attacchi automatici vanno a segno. Quando una vulnerabilità non è ancora corretta dagli aggiornamenti, applichiamo subito una regola al WAF che blocca comunque la minaccia.
Controlli e ripristino. Scansioni di vulnerabilità dei plugin, monitoraggio continuo, rimozione dei malware, e un backup completo giornaliero. Perché la domanda seria non è solo «mi succederà?», ma «quanto ci metto a tornare come prima?».
Le domande da fare a chiunque ospiti il tuo sito
Vale per noi come per chiunque altro. Prima di scegliere, o alla prossima scadenza, chiedi:
- I siti sui vostri server sono isolati fra loro? Come, concretamente?
- Se un sito vicino al mio viene compromesso, cosa impedisce che arrivi al mio?
- Ogni quanto viene fatto il backup, per quanto lo tenete, e in quanto tempo ripristinate?
- Cosa succede fra la scoperta di una vulnerabilità e l'uscita della patch?
- Se il mio sito viene infettato, la pulizia la fate voi o è un problema mio?
Una risposta vaga alla prima è già una risposta.
E una cosa resta comunque tua, qualunque sia l'hosting: tenere aggiornati CMS, temi e plugin, togliere quelli che non usi, e non lasciare credenziali FTP salvate su un computer che non controlli. L'isolamento protegge dal vicino. Dalla porta lasciata aperta in casa propria, no.
