Sito compromesso? Lo ripuliamo e lo chiudiamo a chiave.
Redirect verso siti di spam, l'avviso rosso di Google, l'hosting che sospende l'account, la posta che parte da sola. Fermiamo il danno, ripuliamo il sito ricostruendolo da fonti pulite e lo spostiamo in un ambiente dove un attacco resta confinato.
Cancellare il file infetto non basta.
Chi entra in un sito lascia quasi sempre più di una porta aperta: un utente amministratore in più, un file nascosto tra i plugin, un'istruzione nel database, un'attività pianificata che reinfetta tutto dopo qualche giorno. E su un server condiviso un sito compromesso può contagiare gli altri. Ripristinare il backup spesso non aiuta, perché il backup contiene già l'infezione.
Prima si ferma il danno, poi si ricostruisce.
- 01
Fermare il danno
Mettiamo il sito in manutenzione o lo isoliamo, facciamo una copia completa di file e database per l'analisi e cambiamo subito le password di pannello, database, FTP e posta.
- 02
Capire da dove sono entrati
Cerchiamo file modificati, utenti sconosciuti, attività pianificate, codice nel database e plugin vulnerabili o abbandonati. Se non si chiude la porta da cui sono entrati, torneranno.
- 03
Ricostruire da fonti pulite
WordPress, temi e plugin reinstallati dalle fonti ufficiali, non ripuliti a mano. Dalla copia recuperiamo solo contenuti e immagini, dopo averli controllati.
- 04
Chiudere a chiave
Il sito va su un server con un utente di sistema dedicato, una versione di PHP supportata e Cloudflare davanti. Le credenziali per l'invio della posta sono separate sito per sito.
- 05
Tornare puliti per Google
Chiediamo la revisione in Search Console per togliere l'avviso, e controlliamo nelle settimane successive che il sito resti pulito.
Un sito pulito e il racconto di cosa è successo.
Vi lasciamo un resoconto scritto: cosa abbiamo trovato, da dove sono entrati, cosa abbiamo cambiato.
Quando qualcosa non torna.
Siti con l'avviso di Google
Il browser mostra la pagina rossa, le visite crollano, Google Ads sospende le campagne.
Siti che mandano spam
Il server invia posta che non avete scritto e il dominio finisce nelle liste nere.
Hosting sospeso
Il provider ha bloccato l'account per malware, e con lui spesso anche la posta.
Negozi WooCommerce
Ci sono dati dei clienti: valutiamo con voi se va fatta la notifica al Garante, entro 72 ore.
Un sito per utente, una chiave per sito.
Gestiamo decine di siti WordPress e applicazioni PHP sui nostri server, e li stiamo spostando uno per uno in ambienti dove ogni sito ha il suo utente di sistema e la sua chiave di invio email. Se un sito viene compromesso, resta confinato lì e la sua chiave non serve a nient'altro. Chiudiamo anche le vulnerabilità segnalate da scansioni e penetration test, quando l'aggiornamento non è possibile.
Dove l'abbiamo già fatto.
Una flotta di siti WordPress fuori dal server a fine vita.
Siti WordPress e applicazioni PHP spostati a ondate su server nuovi, con un utente di sistema per sito, PHP aggiornato e credenziali email separate.
Rientro dai finding di sicurezza per un gruppo di laboratori.
Rilievi di rating esterno e penetration test chiusi uno per uno, poi tre server ereditati sostituiti da due, gestiti direttamente.
Quattro vulnerabilità chiuse su una piattaforma che comanda impianti veri.
CVE-2022-37454, CVE-2022-31629, CVE-2017-8923 e CVE-2020-11022 chiuse su un'applicazione CakePHP 2.9.5: PHP 7.4.33 con il gestore FPM corretto, jQuery 3.7.1 in sette viste e un referto sul perché PHP 8 non è possibile.
Posta che parte solo da chi ha il diritto di inviarla.
Policy SES per sito con IP consentiti, percorso DMARC da p=none a p=reject, autenticazione SendGrid e SPF sotto i 10 lookup. Un errore fermato prima di andare online.
Se è appena successo.
Basta un plugin di sicurezza?
Un plugin aiuta a trovare file sospetti, ma non può garantire di aver tolto tutto, e gira dentro un sito che non è più affidabile. Per questo ricostruiamo da fonti ufficiali.
Perché non ripristinare l'ultimo backup?
Perché spesso l'infezione è entrata settimane prima di essere notata, e il backup la contiene già. Lo usiamo, ma solo dopo aver controllato cosa c'è dentro.
Devo avvisare qualcuno?
Se il sito trattava dati personali, come ordini o richieste di contatto, potrebbe essere una violazione da notificare al Garante entro 72 ore. Vi aiutiamo a raccogliere i fatti; la decisione e la notifica restano vostre o del vostro consulente privacy.
E se il sito non è WordPress?
Lavoriamo anche su applicazioni PHP su misura, Laravel e CakePHP compresi. Il metodo è lo stesso: copia, analisi, ricostruzione da codice pulito, isolamento.