HTTPS può ottenere tre cose:
- Autenticità . Assicurati di comunicare con il vero proprietario del dominio.
- Riservatezza . Assicurati che solo questo proprietario di dominio e tu possa leggere la comunicazione.
- Integrità . Assicurarsi che il contenuto non venga modificato da qualcun altro.
Probabilmente tutti concordano sul fatto che HTTPS dovrebbe essere obbligatorio quando si trasmettono segreti (come password, dati bancari ecc.).
Ma ci sono molti altri casi in cui e perché l'uso di HTTPS può essere utile:
Gli aggressori non possono manomettere il contenuto richiesto.
Quando si utilizza HTTP, gli intercettatori possono manipolare il contenuto che i visitatori vedono sul tuo sito web. Per esempio:
- Incluso malware nel software offerto per il download.
- Censurare alcuni dei tuoi contenuti. Cambiare le tue espressioni di opinione.
- Iniezione di annunci pubblicitari.
- Sostituendo i dati dell'account delle donazioni con i propri.
Ovviamente ciò vale anche per i contenuti inviati dai tuoi utenti, ad esempio le modifiche wiki. Tuttavia, se i tuoi utenti sono anonimi, l'utente malintenzionato potrebbe "simulare" di essere comunque un utente (a meno che l'attaccante non sia un bot e vi sia una barriera CAPTCHA efficace).
Gli aggressori non possono leggere il contenuto richiesto.
Quando si utilizza HTTP, gli intercettatori possono sapere a quali pagine / contenuti dell'host accedono i visitatori. Sebbene il contenuto stesso possa essere pubblico, la conoscenza che una persona specifica lo consuma è problematica:
- Apre un vettore di attacco per il social engineering .
- Violi la privacy.
- Può condurre a sorveglianza e punizione (fino alla reclusione, tortura, morte).
Ovviamente ciò vale anche per i contenuti inviati dai tuoi utenti, ad esempio le e-mail tramite un modulo di contatto.
Detto questo, offrire semplicemente HTTPS oltre a HTTP proteggerebbe solo gli utenti che controllano (o applicano localmente, ad esempio con HSTS ) che lo stanno utilizzando. Gli aggressori potrebbero costringere tutti gli altri visitatori a utilizzare la variante (vulnerabile) HTTP.
Quindi, se giungi alla conclusione che vuoi offrire HTTPS, potresti prendere in considerazione la possibilità di applicarlo (reindirizzamento lato server da HTTP a HTTPS, invia intestazione HSTS).