Come rendere un sito web sicuro?

La domanda non ha una risposta semplice, ci sarebbero molti punti da analizzare, differenziati per tipologia di applicazione, per tecnologia utilizzata, etc... Alcuni elementi sono però parti fondamentali di qualunque sito web sicuro: uno dei primi è certamente il protocollo di comunicazione adottato come default dal server web e WebKeeper contiene strumenti dedicati alla semplificazione dei controlli necessari.

Sicurezza Web e Certificati SSL

Il protocollo di comunicazione via web http è intrinsecamente non sicuro, poiché tutti i contenuti scambiati tra client e server sono inviati in chiaro e come tali possono essere intercettati o manipolati senza che né client, né server abbiano la possibilità di accorgersi di quanto stia avvenendo (man in the middle1).

Per questa ragione nel 1995 è stato introdotto nelle sue prime versioni il protocollo https, grazie al quale ogni informazione scambiata è criptata e firmata dal dispositivo che la invia, evitando che i dati siano facilmente leggibili e permettendo di invalidare la sessione nel caso in cui il flusso di informazioni sia stato alterato durante la trasmissione.

Ormai da qualche tempo tutti i motori di ricerca più popolari, oltre che sulla base dell'analisi di contenuti originali, costruiscono il ranking dei risultati rispetto ad una query anche in base al livello di sicurezza dei siti web stessi e benché i dettagli degli algoritmi di ricerca non siano pubblici, è ormai chiaro che siano state introdotte penalità per tutti i siti che non adottano protocolli criptati2 (accessibili con URL che iniziano con http:// invece che con versione criptata https://). Ciò si riflette anche nei browser più diffusi, i quali considerando non affidabili le pagine servite tramite "http"3.

Per questo è evidente che la sicurezza del web sia uno degli elementi cardine di valutazione anche per il SEO e di conseguenza per la visibilità del sito.

Nel 2018 l'entrata in vigore del GDPR ha introdotto criteri di responsabilità oggettiva anche per la semplice mancata protezione dei dati tramite sistemi di sicurezza web allo stato dell'arte. Ciò implica, a prescindere dalle procedure di gestione del dato, la necessità di utilizzare protocolli criptati ovunque circolino dati personali (ovvero qualunque sito web che contenga in qualunque forma dati sensibili dei propri utenti, inclusi indirizzi IP, mail, etc...).

Apparentemente utilizzare https potrebbe sembrare una scelta ovvia, ma il tasso di adozione alla fine del 2019 era ancora insoddisfacente con solo l'80% dei siti web ad averlo attivato come protocollo di comunicazione di default a livello worldwide4 e solo nella seconda metà del 2020 è arrivato a circa il 90% in Europa5.

Quali sono i potenziali problemi

Un potenziale problema nel passaggio da "http" ad "https" risiede nella gestione della validità dei certificati SSL.

Ogni certificato SSL ha un periodo di validità ben definito, variabile in funzione dell'ente emittente (da qualche mesi, fino ad un massimo di 825 giorni - ovvero 2 anni, 3 mesi e 5 giorni6).

Uno dei requisiti fondamentali perché una pagina web "https" possa essere aperta in un browser moderno è che la comunicazione sia criptata e basata su un certificato SSL valido. Qualora il certificato SSL non sia valido o non firmato da un ente emittente ufficiale i browser emettono un avviso di sito non sicuro che richiede l'accettazione del rischio da parte del visitatore, ed in qualche caso il browser non consente l'apertura del sito neppure accettando il rischio.

In una gestione di qualità del sito, ciò introduce un onere di gestione aggiuntivo, ovvero accertarsi che i certificati siano sempre validi e che alla scadenza vengano sostituiti correttamente (anche in presenza di procedure di aggiornamento automatiche).

Come può essere d'aiuto WebKeeper

La protezione web di WebKeeper, oltre alle verifiche sui contenuti nell'ambito del monitoraggio dei sito web, implementa il monitoraggio dei Certificati SSL7 installati sui server, mantenendoli sotto osservazione ed inviando notifiche tempestive ai gestore del sito in caso di:

  1. Certificato SSL in scadenza
  2. Certificato SSL scaduto (potenziale non raggiungibilità del sito stesso)
  3. Aggiornamento del Certificato SSL (modifica del Certificato SSL installato)

La prima notifica ("Certificato SSL in scadenza"), consente di pianificare meglio il controllo delle scadenze, ed in caso di certificato non aggiornato automaticamente, di provvedere al rinnovo. Tale notifica può essere configurata dall'utente gestore in modo autonomo, specificando configurazioni diversificate per ciascun sito web in gestione al fine di ricevere le notifiche nel modo più consono.

La seconda notifica ("Certificato SSL scaduto"), se tutto ha funzionato (e.g. gli automatismi di rinnovo) non dovrebbe mai arrivare, ma nel caso arrivasse richiederebbe l'attenzione immediata poiché probabilmente il sito in questione sarebbe diventato irraggiungibile causando perdita di traffico.

La terza notifica ("Aggiornamento del Certificato SSL") consente di essere informati ogni qual volta il Certificato SSL viene aggiornato, dando conferma che gli automatismi di rinnovo sono stati efficaci.

Quest'ultima notifica presenta però un altro aspetto importante dal punto di vista della sicurezza web, ovvero è in grado di intercettare modifiche del Certificato inattese. All'interno della notifica sono riportati sia gli estremi del Certificato SSL precedente che quelli del nuovo Certificato installato, pertanto, a colpo d'occhio renderà possibile verificare eventuali anomalie.


Note:
1
Le connessioni criptate "https", da sole non sono sufficienti a evitare attacchi Man-In-The-Middle, ma rimangono un requisito fondamentale per la mitigazione del rischio.
2
Google annunciò già nel 2014 che i siti web SSL sarebbero stati favoriti rispetto ad i siti non criptati ed alla fine del 2017 che avrebbe introdotto penalità ancora maggiori per i siti web non sicuri (senza supporto del protocollo HTTPS).
3
Source: https://developers.google.com/web/updates/2016/10/avoid-not-secure-warn
4
Source: href="https://www.html.it/19/12/2019/quanto-e-diffuso-https/
5
Source: https://transparencyreport.google.com/https/overview
6
Source: https://cabforum.org/2017/03/17/ballot-193-825-day-certificate-lifetimes/
7
Funzionalità disponibile a partire da licenze gold.