- Modificato
AGGIORNAMENTO 2023: https://forum.fibra.click/d/27650-analisi-configurazione-siti-web-pubblici-e-governativi/13
--
Per la serie "tabelle colorate", ho analizzato 37 siti web governativi e di enti pubblici o servizi pubblici provando ad estrarre qualche informazione sulla loro configurazione.
I parametri di valutazione, spiegati meglio sotto, sono:
- presenza di HTTPS
- redirect automatico da HTTP a HTTPS
- presenza di HSTS
- grado di sicurezza SSL Labs
- raggiungibilità senza "www." e con "www."
- eventuale CDN utilizzata
- supporto a IPv6
- versione HTTP
- web server utilizzato
- conformità con le linee guida di design ufficiali per i servizi della pubblica amministrazione
Il foglio Excel originale è raggiungibile qua.
I dati sono stati raccolti manualmente (nella prima settimana di febbraio 2022) perché non tutto è automatizzabile, potrebbero quindi esserci degli errori.
Parametri di valutazione
HTTPS
Se il sito web è accessibile e consultabile in HTTP over TLS (HTTPS). Deve esserlo.
Redirect HTTP => HTTPS
Se accedendo al sito web in http:// verrà fatto un redirect automatico alla versione "sicura" https://. Ci deve essere.
HSTS
Se nella risposta del sito web in HTTPS è presente l'header "Strict Transport Security", che serve ad indicare al browser che questo sito web dovrebbe essere raggiunto solo in HTTPS da quel momento in poi (semplifico un po'). È un sistema per prevenire gli attacchi Man In The Middle ma anche per evitare redirect inutili.
La presenza dell'header è ormai pratica consolidata da diversi anni.
Grado SSL Labs
La valutazione del grado di sicurezza della configurazione SSL/TLS secondo https://www.ssllabs.com/ssltest/
Va dalla lettera A alla lettera F. Il sito restituisce un rapporto ovviamente molto più dettagliato.
Il punteggio ideale è A o B. Un punteggio B non è necessariamente negativo perché potrebbe solo voler dire che è presente il supporto a TLS 1.0 e/o TLS 1.1, protocolli ormai vecchi ma che a volte è necessario mantenere attivi per retrocompatibilità, con una scelta consapevole. (Ad esempio il team dietro al sito del governo inglese tiene monitorata la quantità di traffico per versione di TLS mantenendo abilitato TLS 1.0 nonostante la CDN usata ufficialmente non lo supporti più.)
CDN
Se il servizio è fornito con l'ausilio di una Content Delivery Network. È una scelta di solito saggia perché permette di sfruttare tra il resto le funzionalità di caching ed evitare che vada giù tutto ad esempio quando un sito istituzionale viene pubblicizzato in tv (capita spesso).
IPv6
Se il sito è accessibile tramite IPv6.
Versione HTTP
La versione massima di HTTP supportata.
HTTP 2.0 è ampiamente supportato ormai da qualche anno ed è secondo me la normalità che sia abilitato. HTTP 3.0 è invece standard da pochi mesi e anche se è un notevole passo avanti è normale sia ancora poco diffuso.
HTTP 1.1 è la versione in uso da un paio di decenni ed è scontato sia supportato.
Web server/origin
Il server web utilizzato dal sito web. Non è sempre facilmente identificabile con precisione, e in alcuni casi corrisponde al servizio utilizzato per l'hosting di siti web statici (es. Amazon S3).
Non c'è di per sé una scelta corretta, ma è importante che il server web sia mantenuto aggiornato. Essere indietro di più di qualche mese di versioni è un problema.
Design
Ho provato a categorizzare lo stile grafico dei siti web per capire quanto aderiscono alle linee guida di design per i servizi pubblici di Designers Italia, gruppo di lavoro del Dipartimento per la Trasformazione Digitale. È un ulteriore indicatore della "modernità" del sito web.
I valori in particolare significano:
- Legacy: siti web che hanno ancora un design evidentemente precedente alle nuove linee guida di design e che non è giustificato restino con un design chiaramente vecchio
- UI Kit 1.0: siti web che seguono il design system ufficiale ma nella versione iniziale, precedente al 2019 (es. https://www.governo.it)
- UI Kit 2.0: siti web che seguono il nuovo design system ufficiale pubblicato nel 2019. La distinzione tra 1.0 e 2.0 non è sempre chiara perché ogni sito fa un po' quello che gli pare mischiando le cose, ma quando ci sono elementi del kit 2.0 è abbastanza evidente (es. https://innovazione.gov.it)
- Ispirato a...: ci sono dei siti web che si ispirano al design system ufficiale riprendendo elementi come i colori e il font. Non è di per sé sbagliato ma considero al passo con i tempi solo i design ispirati al kit 2.0
- Sirio: è il design system dell'INPS, potrebbe sorprendere ma è davvero ottimo e molto curato (https://www.inps.design)
- Personalizzato: alcuni siti pubblici hanno un design personalizzato ma la scelta può essere giustificata, ad esempio per siti promozionali (es. Italia.it) o non strettamente "governativi" (es. il Quirinale). A differenza dei siti legacy, "non sanno di vecchio" e sono quantomeno responsive
Chi si salva
Se consideriamo tutti i parametri, soltanto un sito web: il sito del Ministro per la Transizione Digitale https://innovazione.gov.it. Probabilmente non a caso, considerando che è realizzato dal team del Dipartimento per la Trasformazione Digitale, di solito attento anche a questi aspetti.
Tra gli altri ci sono dei casi di buone configurazioni che mi hanno anche stupito, ma che spesso cascano su questioni tecnicamente banali (es. HSTS, la versione di HTTP o domini multipli che mostrano lo stesso sito).
I problemi più gravi
- Alcuni siti usano versioni di Apache e nginx del 2018: questo è un problema grave, non possono passare 4 anni senza che ci sia un processo di manutenzione che includa gli aggiornamenti del software. Posso permettermi di non farlo io (e comunque lo faccio), il governo no. AGGIORNAMENTO: la versione vecchia non indica necessariamente che il software non abbia ricevuto aggiornamenti, perché a seconda della configurazione software i fix di sicurezza e simili potrebbero comunque essere stati "backported"
- L'assenza di record DNS per far funzionare i domini senza www mi sembra un problema grave. Mi ricordo che un annetto fa veniva pubblicizzato il dominio istruzione.it, ma scrivendolo ad esempio su Chrome mobile il sito non si apriva perché mancava il www. (Poi ho segnalato e hanno risolto.)
- Non c'è coerenza per la presenza di "www" o meno. A volte ci vuole, a volte non ci vuole. A volte il sito va solo con, a volte il sito va solo senza. È vero che i browser ultimamente hanno implementato delle correzioni automatiche per aggirare configurazioni errate, ma non mi sembra una giustificazione.
- A volte i domini rispondono con lo stesso sito web sia con www che senza, una configurazione sbagliata. Addirittura per il Ministero della Cultura non si capisce quale dovrebbe essere il dominio corretto.
- Ho scritto sopra che il supporto a versioni vecchie di TLS potrebbe essere una scelta consapevole. Vedendo però che il sito principale del Governo non lo supporta e che non c'è una minima coerenza tra diversi siti istituzionali penso che sia più semplicemente a caso. E cioè sono attive configurazioni poco sicure senza motivo.
- CDN: beh, come dire... non è usanza, mi sembra.
- Un premio speciale a senato.it, che presenta questa sequenza di redirect (senza HSTS):
- La maggior parte dei siti web sono rimasti indietro dal punto di vista del design, con casi esemplari come il Ministero della Salute che ha un design fermo probabilmente a un decennio fa. Persino il sotto-portale dedicato al coronavirus (quindi del 2020) è un pastrocchio e non segue correttamente le linee guida di design per la PA.
Mini polemica: i problemi menzionati qua non sono dettagli. Se qualcuno gestisce il sito del Governo e non si accorge che il sito non si apre senza scrivere "www" davanti, non è che non ha attenzione per i dettagli, è che non sa fare il sistemista...
Conclusione
Ho scritto due volte un pippone conclusivo ma poi mi sono reso conto di non conoscere a sufficienza cosa c'è dietro e perché si arriva a un caos del genere. Quindi mi astengo.
Faccio solo notare un'altra volta che l'unico sito che vince su tutti i fronti è innovazione.gov.it, open source come sostanzialmente tutti i progetti del Team per la Trasformazione Digitale. La dimostrazione che le cose si possono fare bene...