La tendenza recente negli attacchi HTTPS è di attaccare il protocollo HTTP. Cosa devo fare per aumentare la sicurezza del mio sito se l'unico protocollo che desidero è HTTPS?
Alcune idee facili da implementare sono
- Implementa Sicurezza di trasporto rigorosa HTTPS
- Emetti la pagina di autenticazione su SSL
- Utilizza i post modulo HTML per il pulsante di invio della pagina di accesso, non i DIV CSS
- ... perché? l'utente non può vedere l'URL di destinazione quando passa il mouse su
- Consentire al client di memorizzare nella cache la pagina di navigazione, in quanto ciò scoraggerà alcuni attacchi MITM
- Utilizza i cookie solo SSL
- Utilizza un I-Frame Buster e X-Frames-Options header
- Modifica l'elenco di codici a usa solo RC4, AES o PFS
Altre opzioni avanzate / tecniche potrebbero includere
- Utilizzare DNSSec a proteggere gli utenti vulnerabili
- Utilizza solo cookie SSL ovunque
- Utilizza padding HTTPS su tutti i dati AJAX
- Emetti solo la "chiave di sessione" su HTTPS
- Invia collegamenti esterni al sito a una pagina intermedia
Opzioni che potrebbero violare le cose (come l'esperienza utente)
- Disattiva i browser Web che:
- ... non indica chiaramente lo stato TLS nell'URL
- ... sono soggetti agli attacchi IDN
- ... sono privi di patch
- Disattiva la porta 80
- Consenti solo reindirizzamenti da un set di domini autorizzati. Non consentire a qualcuno di collegarsi al tuo sito e costringere l'utente a digitare l'URL HTTPS
- Utilizza un certificato privato per tutte le operazioni per quel sito. Emetti l'identificazione personale (o RootCA) su una connessione SSL
What are your thoughts on a website that implements some or all of these techniques?
What additional techniques would you recommend? (e.g. Use / Don't use OpenID, certain HTTP header directives, etc)