Come ripristinare un sito web hackerato

I campanelli di allarme che ci avvertono che un sito web è stato hackerato sono vari ma possono passare inosservati, anche in base al tipo di attacco. Tra questi abbiamo:

  • Avvisi sull’hacking da browser e motori di ricerca;
  • Link che reindirizzano a siti sospetti;
  • Volumi elevati di traffico da altri paesi;
  • Pagine danneggiate;
  • Tempo di caricamento prolungato;
  • Avvisi sulla blocklist di Google;
  • Snippet di codice casuali che appaiono nell’header o nel footer.

Se si sospetta un attacco esistono diversi checker di siti web, come Sucuri siteChek, DeHashed e Have I Been Pwned? che si possono usare per avere conferma.

Cosa fare quando si ha la certezza che il sito sia stato attaccato

Il primo passaggio da compiere una volta che si è certi di aver subito un attacco hacker sul sito web è modificare tutte le password e verificare l’accesso.

Gli hacker tentano di indovinare la password dell’account amministratore utilizzando combinazioni di lettere e numeri, la modifica di tutte le password revocherà l’accesso al sito e impedirà loro di compromettere altri account.

Bisognerà assicurarsi di reimpostare la password per:

  • Account hosting;
  • Account FTP;
  • Account amministratore del content management system (CMS);
  • Database, tramite il file di connessione al database;
  • Account di posta elettronica associati al sito hackerato.
  • Altri account che utilizzano le stesse credenziali di accesso.

Se il sito hackerato è ospitato su WordPress si dovranno controllare i ruoli utente e le autorizzazioni esistenti accedendo a Utenti nella dashboard di amministrazione, seguendo la stessa procedura sulle piattaforme che concedono l’accesso a più utenti, come il pannello di controllo dell’hosting e il sistema FTP.

Buona parte dei tentativi di hacking si verifica dopo che un sito web subisce modifiche che creano nuove vulnerabilità da sfruttare. Tracciando le azioni si può risalire all’origine dei problemi di sicurezza: bisognerà cercare tra i log web un improvviso picco di traffico e ispezionare i log degli accessi e i registri degli errori tramite il pannello di controllo dell’hosting, identificando eventuali attività sospette o errori che hanno avuto luogo entro il periodo di tempo sospetto.

Dopo essere risaliti al momento in cui si è verificato l’hacking si esamineranno tutte le modifiche apportate.

Se il sito web in questione viene eseguito su un hosting condiviso l’origine dei problemi di sicurezza potrebbe provenire da un altro sito che condivide il server. In questo caso gli attacchi informatici potrebbero prendere di mira anche il tuo account di hosting.

La maggior parte degli host web fornisce agli utenti l’accesso ai log web, consentendo di monitorare le visite. Se la registrazione dell’accesso al server è disabilitata per impostazione predefinita, contatta il provider di hosting o abilitala manualmente.

Controllare lo stato del sito web

Se Google rileva attività sospette su un sito web è probabile lo blocchi. Di conseguenza questo non verrà visualizzato nei risultati di ricerca per proteggere i visitatori.

Si può verificare se il sito finisce su Google Blocklist utilizzando Google Search Console. L’avviso appare nella sezione Sicurezza e azioni manuali > Problemi di sicurezza.

In alternativa si può utilizzare Google Safe Browsing, un tool che indica proprio se un sito sia o meno sicuro o Google Analytics, che darà conferma dell’effettivo blocco del sito se si registra un calo di traffico improvviso.

Oltre che su Google Blocklist il sito potrebbe apparire anche nel database anti-spam. I provider di servizi internet, di posta elettronica e le piattaforme anti-spam utilizzano gli elenchi di blocco per impedire che le email di spam entrino nei loro sistemi. Le email provenienti dagli indirizzi IP elencati in questa blocklist verranno bloccate o finiranno nella cartella spam.

Si può verificare se il dominio è presente nell’elenco di blocco dello spam con strumenti di controllo dell’integrità del dominio come MXToolBox e Domain DNS Health Checker. Questi, oltre a fornire informazioni sullo stato del dominio, possono individuare problemi relativi al server web, di posta e al DNS.

Le vulnerabilità della sicurezza non sono sempre visibili agli amministratori, è consigliabile quindi utilizzare gli strumenti di scansione del sito web per ricontrollarlo, individuando eventuali vulnerabilità da risolvere.

Gli utenti di WordPress hanno accesso a dei plugin di sicurezza gratuiti e premium che possono scansionare i siti web alla ricerca di file hackerati, rilevando qualsiasi codice dannoso. Alcuni tra i più popolari sono:

  • Sucuri Security, che fornisce scansioni server e remote, azioni di sicurezza post-hacking e monitoraggio dell’integrità dei file;
  • BulletProof Security, che fornisce strumenti di correzione automatica della procedura guidata di configurazione, scanner di malware, monitoraggio degli accessi e forzatura di password complesse;
  • WPScan, che supporta la scansione di sicurezza pianificata per le vulnerabilità note del core, dei plugin e dei temi di WordPress.

Altri strumenti di scansione sono compatibili con altri CMS oltre a WordPress:

  • HostedScan Security, che esegue la scansione delle vulnerabilità su reti, server e siti web;
  • Intruder, uno scanner basato su cloud che supporta la scansione delle vulnerabilità interne, esterne e cloud;
  • Detectify, che offre monitoraggio e test automatizzati delle risorse supportati da una comunità di hacker etici;
  • Immuniweb, che fornisce vari test di sicurezza del sito web aderenti agli standard GDPR e PCI DSS;
  • SiteGuarding, che supporta il monitoraggio della blocklist dei motori di ricerca, la scansione quotidiana dei file, il monitoraggio delle modifiche ai file e il rilevamento e pulizia del malware.

In alternativa è possibile fare la scansione dei file e delle tabelle del database manualmente. Si può fare con software antivirus per Pc, come McAfee e ESET, o il programma antivirus integrato nel sistema operativo (Microsoft Defender per Windows e XProtect per Mac).

Si procede quindi:

  • Scaricando tutti i file tramite il pannello di controllo dell’hosting;
  • Eseguendo una scansione completa dei file con il software antivirus scelto;
  • Risolvendo i problemi rilevati;
  • Caricando i file del sito puliti sul server;
  • Ripulendo le tabelle del database tramite PhpMyAdmin.

Se i metodi precedenti risultano troppo dispendiosi in termini di tempo si può decidere di ripristinare il file backup del sito web. In questo modo si rimuoveranno tutti i dati e le modifiche apportate alla creazione del backup. Questa opzione è consigliabile solo nel caso di siti web che non subiscono modifiche frequenti, o che possono permettersi la perdita di alcuni dati.

L’ultimo passaggio dopo aver completato il ripristino è quello di scansionare il computer per assicurarsi che qualsiasi cosa abbia compromesso il sito web non comprometta anche il computer. Abbiamo nominato alcuni antivirus, in alternativa ci sono alcune soluzioni gratuite come:

  • Antivirus gratuito AVG;
  • Avast;
  • Avira gratis;
  • Kaspersky Security Cloud;
  • Malwarebytes.

Suggerimenti per proteggere il tuo sito da attacchi hacker

  • Evita i provider di hosting economici;
  • Rimuovi il software obsoleto che non ti serve più;
  • Usa password complesse;
  • Scansiona regolarmente il tuo sito web con un software di sicurezza affidabile;
  • Esegui backup regolari del tuo sito web;
  • Installa un certificato SSL;
  • Limita i tentativi di accesso;
  • Abilita l’autenticazione a due fattori.

Se non si hanno conoscenze tecniche potrebbe risultare difficile applicare i metodi appena descritti. In questo caso ci si può affidare a esperti di sicurezza informatica e rimozione di malware da WordPress.

Google Analytics 4 sostituirà Google Universal Analytics

Il 16 marzo 2022 Google ha reso ufficiale che Google Universal Analytics smetterà di raccogliere ed elaborare nuovi dati a partire dal 1 luglio 2023. Stesso vale per la versione a pagamento, Universal Analytics 360, dal 1 ottobre 2023.

Già da mesi si parlava della chiusura del tool più famoso di analisi dei dati per siti web e app. A sostituirlo Google lancia Google analytics 4. La sua versione beta risale al 2018 ma l’arrivo ufficiale è di ottobre 2020.

Google Analytics 4 è un nuovo tipo di proprietà, che offre diversi vantaggi rispetto al Google Analytics che tutti conosciamo. La possibilità di tracciare in unico ambiente siti web e app mobile rende il nuovo modello di raccolta dati più dinamico e flessibile. Altre novità interessanti sono le opportunità messe a disposizione dell’algoritmo previsionale e le nuove integrazioni che consentono di gestire e processare i dati in maniera più dettagliata.

Dopo il primo luglio 2023 per quanto riguarda Universal Analytics, e dopo il 1 ottobre 2023 per quanto riguarda la versione a pagamento Universal Analytics 360, si potrà accedere ancora per sei mesi ai dati storici, dopo di che andranno persi.

Il passaggio da una piattaforma all’altra

È consigliabile iniziare il passaggio a GA4 il prima possibile per due motivi principali:

  • Perché occorre ripensare all’architettura della propria strategia di raccolta dati online (eventi, conversioni, obiettivi, metriche etc.);
  • Per creare uno storico dei dati, lavorando direttamente i nuovi progetti digitali nella nuova versione, in modo da imparare ad utilizzare e padroneggiare il nuovo strumento.

Il passaggio da uno strumento all’altro non è cosi banale, non è possibile scaricare i dati da Universal Analytics e importarli su GA4, questo perché la struttura dei due è diversa e il confronto tra i valori di utenti e sessioni raccolti non è attuabile data la differenza di funzionamento.

È importante comunque conservare i dati raccolti negli anni per mantenere un quadro chiaro e veritiero sul comportamento degli utenti nel tempo, le performance delle campagne di marketing e dei contenuti pubblicitari, e molto altro.

Si può scegliere di procedere tra quattro modalità, in base alla disponibilità di tempo e capacità tecniche:

  • Esportare tutto a mano direttamente dall’interfaccia di Universal Analytics. Si fa una lista dei report che si vogliono esportare, si visitano ognuno di questi, e si procede all’esportazione selezionando l’arco temporale desiderato e il formato. È la soluzione più semplice ma anche quella che richiede più tempo;
  • Utilizzando un addon per Google Sheets. Il vantaggio è quello di non dover accedere a Analytics ma ci sarà bisogno di imparare ad usare un’altra interfaccia. Se con Analytics esportiamo report già configurati, con l’addon per Google Sheets bisognerà costruirli da zero, scegliendo dimensioni e metriche.
  • Utilizzando le API di Google Analytics. Questa opzione richiede la conoscenza di linguaggi di programmazione con cui scrivere codici necessari a comunicare con le diverse API di Google Analytics.

Una volta salvati i dati il consiglio è quello di strutturare un progetto di data continuity aziendale che consideri le differenze tra le piattaforme.

La necessità di questo cambiamento

Ci stiamo muovendo verso un futuro dove il tracciamento degli utenti non potrà più far affidamento ai cookie di terze parti o ai Mobile Advertising ID perciò è necessario aggiornare gli strumenti di tracciamento che rispettino:

  • La salvaguardia della privacy degli utenti, anteponendo il tracciamento alla loro scelta facoltativa;
  • La salvaguardia delle funzioni e le informazioni per le attività di digital marketing ad esso collegati.

Testare i Web server: test di carico e stress test

Le performance di un sito web possono dipendere da svariati fattori come il server, i contenuti, l’asset, lo script, il traffico, i framework, il database, etc. quindi è difficile individuare immediatamente la fonte di alcune problematiche che compromettono metriche fondamentali per il posizionamento SEO del sito e per la sua visibilità online.

Sia prima che dopo la pubblicazione di un sito web è consigliabile fare dei test su quanto sviluppato, che siano in grado di fornire un quadro della performance del sito, individuando colli di bottiglia e problemi di usabilità, per intervenire e migliorare le prestazioni dove necessario.

Ci sono due tipologie di test delle prestazioni che si eseguono sui web server:

  • Test di carico, che hanno lo scopo di esaminare il comportamento del sistema in condizioni di carico normali, simulandolo. Attraverso questo si evidenzia la reattività, la stabilità, la scalabilità, l’affidabilità, la velocità e l’utilizzo delle risorse del software e dell’infrastruttura.
  • Stress test, che esaminano il comportamento del sistema in condizioni estreme fino a determinare la quantità massima di lavoro che un server è in grado di gestire senza che si rallentino i tempi di risposta. Si cercano perdite di memoria, rallentamenti, problemi di sicurezza e danneggiamento dei dati, osservando come si comporta e se si ripristina correttamente. La maggior parte dei siti web è soggetta a livelli di traffico abbastanza regolari ma potrebbero comunque presentarsi occasioni con carichi anomali.

Tools per i test

Esistono diversi tools con i quali eseguire i test, per i test di carico possiamo affidarci a:

  • Loader.io, strumento in cloud semplice da utilizzare e che permette di simulare carichi crescenti e attività diverse, anche su siti in sviluppo e aree riservate.
  • Locust, strumento versatile che ha come punto di forza la scalabilità, ovvero la possibilità di espansione potenzialmente infinita.
  • Apache JMeter, applicazione desktop open source, inizialmente creata per testare le applicazioni web, successivamente ha esteso i test a qualsiasi tipologia si software.

Mentre per gli stress test:

  • Apache Bench, open source di facile utilizzo e comprensione.
  • Siege, che può sottoporre a stress test un singolo URL con un numero definito di utenti o più URL in memoria e testarli contemporaneamente.
  • Funkload che permette di eseguire test su funzionalità, tempi di caricamento, performance, longevità e stress. Supporta inoltre i test sulle applicazioni web e mobile.

Le metriche e KPI

Scegliere le giuste metriche e KPI aiuta a valutare correttamente le prestazioni di un sistema, le più rilevanti sono:

  • Misurazione della scalabilità e delle prestazioni all’aumentare delle richieste http;
  • Tempo pagina necessario per recuperare tutte le informazioni in una pagina e pagine al secondo;
  • Throughput, dimensione dei dati di risposta al secondo;
  • Tempi di risposta dell’applicazione;
  • Hit time, tempo medio per recuperare un’immagine o una pagina;
  • Time To First Byte, tempo necessario per restituire il primo byte di dati o informazioni;
  • Connessioni non riuscite;
  • Time out, numero di richieste scadute;
  • Hit non riusciti, numero di tentativi falliti effettuati dal sistema (collegamenti interrotti o immagini non visualizzate);