Il modo più sicuro per proteggere il tuo sito da Firesheep (e attacchi correlati):
-
Sposta alla protezione SSL per tutto il sito : sposta l'intero sito su HTTPS e disabilita tutti gli accessi HTTP. In altre parole, proteggi tutto il tuo sito con SSL. Ecco altre risorse per farlo: come proteggersi da Firesheep , vantaggi e svantaggi di SSL a livello di sito , perché SSL protegge da Firesheep .
-
Imposta il flag SECURE su tutti i cookie : ogni volta che il server imposta un cookie, disponilo per impostare il flag SECURE sul cookie. Il flag SECURE indica al browser dell'utente di inviare solo questo cookie su connessioni SSL-secure (HTTPS); il browser non invierà mai un cookie SECURE su una connessione (non crittografata) (HTTP). Il passo più semplice è impostare questo flag su tutti i cookie utilizzati dal tuo sito.
Inoltre, ti consiglio alcuni passaggi aggiuntivi:
-
Fai attenzione ai contenuti di terze parti : i widget di terze parti, le raccolte e i contenuti possono rappresentare un rischio per la sicurezza. Se includi Javascript da terze parti (ad es. Tramite
<SCRIPT SRC=...>
), ti consiglio di assicurarti che facciano riferimento agli URL HTTPS; altrimenti, stai esponendo la sicurezza del tuo sito agli attacchi attivi. (Vedi anche Domande frequenti di Jeremiah Grossman su widget di terze parti . ) Per evitare di inondare i tuoi utenti con > contenuti misti , ti consigliamo di assicurarti che tutto il contenuto, incluse immagini e librerie di terze parti, venga fornito anche tramite HTTPS.
Alcuni potrebbero obiettare che quanto sopra è eccessivo. In alcuni casi, potrebbe essere possibile proteggere contro Firesheep utilizzando SSL solo su parte del sito. Tuttavia, farlo richiede attenzione e una conoscenza dettagliata, ed è più difficile da ottenere. Dato che devi porre la domanda qui, personalmente ti consiglio di iniziare con SSL a livello di sito; hai una migliore possibilità di farlo bene.
Come implementarlo in IIS : non sono un esperto di IIS, quindi non posso darti una ricetta definitiva su come implementare questi passaggi in IIS. Tuttavia, questo riferimento su l'attivazione di SSL su IIS potrebbe esserti utile. Sembra che tu possa fare clic con il pulsante destro del mouse sulla radice del sito, scegliere Properties
, fare clic sulla scheda Directory Security
, quindi in Secure Communications
, fare clic su Edit
e abilitare Require Secure Channel (SSL)
. Non so come configurare IIS per impostare automaticamente il flag SECURE su tutti i cookie. Per la migrazione di un sito esistente, ti consiglio di impostare un reindirizzamento in modo che chiunque visiti una pagina HTTP venga reindirizzato a HTTPS. I seguenti riferimenti possono essere d'aiuto (non testati): reindirizzamento a HTTPS , tre metodi per il reindirizzamento a HTTPS . Se esegui la migrazione di un sito esistente, dovrai anche modificare tutti i link e i riferimenti al tuo sito da http:
URL a https:
URL. Non sono sicuro di come configurare ASP.NET per impostare il flag SECURE su tutti i cookie, ma penso che sia possibile aggiungere cookieRequireSSL="true"
o <httpCookies requireSSL="true">
al Web.config
; questo è importante da fare, e soprattutto importante se hai abilitato HTTP o se hai un qualche tipo di reindirizzamento dalle pagine HTTP alle pagine HTTPS. Infine, c'è molto materiale pubblicato su ottimizzazione delle prestazioni per HTTPS .