HTTP Strict Transport Security: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichette: Annullato Modifica da mobile Modifica da web per mobile
Limiti: eliminata la parte (copiata da en.wikipedia) che conteneva considerazioni personali e non supportate da dati tecnici sulla capacità di DNSSEC di comunicare campi HSTS per la mitigazione dell'attacco di downgrade
 
(5 versioni intermedie di 5 utenti non mostrate)
Riga 1:
'''''HTTP Strict Transport Security''''' o '''''HSTS''''' (in italiano '''sicurezza rigida per il trasporto di HTTP''') è una procedura che implementa una politica di sicurezza per le comunicazioni [[web]], necessaria a proteggere il canale [[HTTPS]] da attacchi di [[degrado della sicurezza]] (''downgrade'') e assai utile per la protezione dai [[Dirottamento di sessione|dirottamenti di sessione]].
HSTS permette al [[server web]] di dichiarare che i [[browser]] e ogni altro tipo di [[client]] debbano comunicare con esso esclusivamente attraverso connessioni sicure su [[Protocollo di rete|protocollo]] HTTPS e non sul semplice [[HTTP]]<ref name="https">HTTPS denota HTTP sopra lo strato [[Transport Layer Security|TLS/SSL]].</ref>.
La procedura è uno standard di Internet della [[IETF]], normato dal [[Request for Comments|RFC]] 6797.
 
La politica HSTS<ref name="hsts-no-user-recourse">Hodges, Jeff; Jackson, Collin; Barth, Adam (novembre 2012).</ref> è indicata dal server allo [[user agent]] specificando una particolare intestazione nei messaggi di risposta [[Hypertext Transfer Protocol|HTTP]], denominata «<code>Strict-Transport-Security</code>» che specifica il periodo di tempo durante il quale il client dovrà accedere al server in modalità necessariamente sicura.
 
== Storia della specifica ==
HSTS è la concretizzazione di uno degli aspetti della visione progettuale di Jeff Hodges e Andy Steingruebl per migliorare la sicurezza del web, e presentata nel 2010 all'interno del loro articolo 2010 intitolato ''The Need for Coherent Web Security Policy Framework(s)''.<ref name="web-sec-policy-frmwk">Hodges, Jeff; Steinguebl, Andy (29 ottobre 2010).</ref>
Riga 36 ⟶ 42:
 
Dato che HSTS ha limiti temporali, il protocollo è sensibile ad attacchi che prevedono di spostare l'orologio della vittima, per esempio inviando falsi pacchetti [[Network Time Protocol|NTP]].<ref>{{Cita web|url= https://www.blackhat.com/docs/eu-14/materials/eu-14-Selvi-Bypassing-HTTP-Strict-Transport-Security.pdf|titolo= Bypassing HTTP Strict Transport Security|data= 17 ottobre 2014|accesso= 22 ottobre 2014|autore= Jose Selvi}}</ref>
 
== Limiti ==
Di fronte ad attacchi attivi, la presenza di HSTS non è in grado di proteggere la prima richiesta ad un'applicazione web, quando quella sia veicolata su un protocollo non sicuro come HTTP in chiaro o quando il relativo [[Uniform Resource Identifier|URI]] è stato ottenuto su un canale insicuro.<ref name="hsts-bootstrap-mitm">{{Cita web|url= https://tools.ietf.org/html/rfc6797#section-14.6|titolo= Section 14.6. Bootstrap MITM Vulnerability|sito= RFC 6797|editore= IETF|cognome= Hodges|nome= Jeff|autore2= Collin Jackson|autore3= Adam Barth|data= novembre 2012|accesso= 21 novembre 2012}}</ref>
Lo stesso vale per la prima richiesta che sia effettuata dopo la scadenza del periodo precisato dal parametro <code><nowiki>max-age</nowiki></code> annunciato nella politica HSTS.
I siti dovrebbero pertanto impostare una durata di diversi giorni o di diversi mesi, a seconda dall'attività e comportamento degli utenti.
I browser [[Google Chrome]], [[Mozilla Firefox]] e [[Internet Explorer]]/[[Microsoft Edge]] si occupano di questo limite del protocollo implementando una «lista preliminare STS»: un elenco di siti noti che supportano HSTS<ref name="preloading_hsts_chromium"/><ref name="preloading_hsts_mozilla"/><ref name="iepreload"/> che è distribuito direttamente all'interno del browser e che fa sì che questo usi HTTPS anche per la prima richiesta.
Ciononostante, come precedentemente accennato, tale lista non può elencare ogni sito web presente su Internet.
 
Anche quando provvisto della «lista preliminare STS», il meccanismo HSTS non è comunque in grado di proteggere da attacchi che riguardino lo stesso livello di sicurezza TLS, quali ad esempio il BEAST o il CRIME ideati da Juliano Rizzo e Thai Duong: il mantenimento della politica HSTS è ininfluente e irrilevante di fronte a questo tipo di attacchi.
 
Per una più estesa discussione della sicurezza di HSTS, si veda il RFC 6797.<ref name="hsts-seccons">{{Cita web|url= https://tools.ietf.org/html/rfc6797#section-14|titolo= Section 14. Security Considerations|sito= RFC 6797|editore= IETF|cognome= Hodges|nome= Jeff|autore2= Collin Jackson|autore3= Adam Barth|data= novembre 2012|accesso= 21 novembre 2012}}</ref>
 
== Supporto da parte dei browser ==
[[File:Chromium HSTS settings screenshot.png|alt=Pagina di impostazioni per HTTPS Strict Transport Security in Chromium 45, che mostra lo stato della politica di sicurezza per il dominio di Wikipedia in inglese.|thumb|right|428x428pxupright=1.9|Pagina di impostazioni per HTTPS Strict Transport Security in Chromium 45, che mostra lo stato della politica di sicurezza per il dominio di Wikipedia in inglese.]]
 
*[[Chromium]] e [[Google Chrome]] dalla versione 4.0.211.0<ref name="chromium_sts">{{Cita web|url= https://dev.chromium.org/sts|autore= The Chromium Developers|titolo= Strict Transport Security - The Chromium Projects|data= 17 novembre 2010|accesso= 17 novembre 2010}}</ref><ref>Jeff Hodges (18 settembre 2009). {{Cita web |url=https://lists.w3.org/Archives/Public/public-webapps/2009JulSep/1148.html|titolo="fyi: Strict Transport Security specification"}}</ref>
* [[Mozilla Firefox|Firefox]] dalla versione 4;<ref>{{Cita web |url=https://blog.mozilla.org/security/2010/08/27/http-strict-transport-security/|titolo="HTTP Strict Transport Security"}}</ref> la versione 17 contiene una lista di siti che supportano HSTS.<ref name="preloading_hsts_mozilla"/>
* [[Opera (browser)|Opera]] dalla versione 12<ref name="opera_presto">{{Cita web|url= https://www.opera.com/docs/specs/presto2.10/#m210-244|autore= Opera Software ASA|titolo= Web specifications support in Opera Presto 2.10|data= 23 aprile 2012|accesso= 8 maggio 2012|urlarchivio= https://web.archive.org/web/20120504161933/http://www.opera.com/docs/specs/presto2.10/#m210-244|dataarchivio= 4 maggio 2012|urlmorto= sì}}</ref>
* [[Safari (browser)|Safari]] da [[OS X Mavericks]]<ref>@agl__ (Adam Langley).</ref>
* [[Internet Explorer 11]] su [[Windows 8.1]] e [[Windows 7]] qualora sia installato {{Cita web |url=https://support.microsoft.com/kb/3058515|titolo=KB 3058515 |postscript=nessuno}} (pubblicato nel giugno 2015).<ref>{{Cita web|url= https://blogs.windows.com/msedgedev/2015/06/09/http-strict-transport-security-comes-to-internet-explorer-11-on-windows-8-1-and-windows-7/|titolo= HTTP Strict Transport Security comes to Internet Explorer 11 on Windows 8.1 and Windows 7|sito= windows.com|accesso= 12 giugno 2015}}</ref>
* [[Microsoft Edge]] e [[Internet Explorer 11]] su [[Windows 10]].<ref>{{Cita web|url= https://status.modern.ie/httpstricttransportsecurityhsts|titolo= Internet Explorer Web Platform Status and Roadmap|accesso= 14 aprile 2014|urlarchivio= https://web.archive.org/web/20150629110718/https://status.modern.ie/httpstricttransportsecurityhsts|urlmorto= sì}}</ref><ref>{{Cita web |url=https://blogs.msdn.com/b/ie/archive/2015/01/22/project-spartan-and-the-windows-10-january-preview-build.aspx|titolo="Project Spartan and the Windows 10 January Preview Build - IEBlog"}}</ref>
 
== Buone norme per la messa in opera ==
Riga 59 ⟶ 76:
 
== Collegamenti esterni ==
* {{cita web|url=https://tools.ietf.org/wg/websec/charters|titolo=IETF WebSec Working Group|lingua=en}}
* {{IETF}}
* {{cita web|https://tools.ietf.org/wg/websec/charters|IETF WebSec Working Group|lingua=en}}
* {{en}} [https://garron.net/crypto/hsts/hsts-2013.pdf The State of HSTS Deployment: A Survey and Common Pitfalls] provides an analysis of HSTS deployment statistics, patterns, mistakes, and best practices.
* {{cita web|url=https://www.twit.tv/sn262|titolo=Security Now 262: Strict Transport Security|lingua=en}}
* {{en}} [[owasp:HTTP Strict Transport Security|Open Web Application Security Project (OWASP): HSTS description]]
* {{cita web|url=https://projects.dm.id.lv/Public-Key-Pins_test|titolo=Online browser HSTS and Public Key Pinning test|lingua=en}}
* {{en}} [https://hstspreload.appspot.com HSTS Preload Submission] for Google Chrome, Mozilla Firefox, Safari, IE 11, and Edge
 
Riga 72 ⟶ 88:
[[Categoria:Sicurezza informatica]]
[[Categoria:Crittografia]]
[[Categoria:Protocolli di Internet]]