Dovremmo forzare l'utente a HTTPS sul sito web?

14

Dovremmo forzare il sito web da HTTP a HTTPS, uno dei metodi sta usando .htaccess:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

Ma quello che noto è che alcuni servizi come Google Translate non possono tradurre nessun sito Web HTTPS.

Quindi qual è la procedura migliore per farlo mantenendo l'utente sicuro?

  • Forza su HTTPS utilizzando .htaccess anche se sfogliano la pagina statica

  • Non forzare l'utente a HTTPS automaticamente, ma il collegamento nei collegamenti ipertestuali si collegherà a HTTPS?

  • Utilizza HTTPS solo durante il modulo POST o la pagina che contiene informazioni riservate.

  • Consenti all'utente di selezionare HTTP o HTTPS

  • ...

posta xDragonZ 05.11.2012 - 17:24
fonte

7 risposte

14

Imposta una regola che reindirizza qualsiasi tentativo di accedere al sito tramite HTTP, passando alla pagina principale tramite HTTPS (reindirizza qualsiasi tentativo di accedere a qualsiasi cosa che corrisponda a http://www.example.com/* a https:/www.example.com/ ).

Abilita HSTS . Ciò indica ai browser di connettersi al tuo sito tramite HTTPS in futuro.

Imposta il flag secure su tutti i cookie.

Assicurati che le pagine pubblicate su HTTPS non caricino alcun contenuto tramite HTTP.

Leggi le seguenti domande su questo sito:

risposta data 05.11.2012 - 17:40
fonte
7

Se il tuo sito utilizza l'autenticazione, deve utilizzare anche HTTPS per la durata della sessione.

Questa condizione di riscrittura non è sicura. Un utente malintenzionato può comunque dirottare il reindirizzamento con uno strumento come SSLStrip e, se l'utente sta pubblicando informazioni sensibili, verrà trapelato. Devi abilitare HSTS per applicare HTTPS e leggere Owasp A9 - Sicurezza dei livelli di trasporto insufficiente .

    
risposta data 05.11.2012 - 17:55
fonte
4

Questo dipende interamente dai tuoi obiettivi di sicurezza, che non hai indicato. Se sei un sito bancario allora sì, forza tutti gli accessi https. Se sei un motore di ricerca che ha account utente allora forse usi un modello in cui alcune pagine hanno https forzate. Se i vantaggi della sicurezza di forzare tutti gli https superano gli svantaggi del modello di business, fallo, altrimenti accetta i rischi per la sicurezza.

    
risposta data 05.11.2012 - 17:27
fonte
1

Se le tue pagine non sono sicure, tutte le tue pagine non sono sicure, perché chiunque si trova tra gli utenti e te (come le altre persone in un bar) può facilmente intercettare tutto il traffico e sostituire https:// link con http:// link. Possono quindi fare quello che vogliono con qualsiasi pagina del tuo sito (come sostituire la pagina di login con la loro, quindi accedere a qualsiasi cosa l'utente abbia memorizzato sul tuo sito).

Ci sono due modi per gestirlo (e vanno insieme):

  • Usa HTTPS su ogni pagina. In questo modo, indipendentemente dal modo in cui l'utente accede al tuo sito (indipendentemente dal segnalibro che utilizzano), andranno sempre direttamente alla versione sicura.

  • Utilizza Sicurezza del trasporto rigoroso HTTP . Ciò lo rende così una volta che il browser di un utente è stato sul tuo sito una volta, si rifiuterà di connettersi alla versione non sicura per un certo periodo di tempo. Questo non è bello come potrebbe essere, ma è molto meglio di niente.

Gli unici lati negativi di questo sono:

  • Alcuni servizi, come Google Translate, sono interrotti.
  • HTTPS assume una quantità di potenza di elaborazione del tutto insignificante. Questa scusa ha quasi avuto senso 10 anni fa, ma i nostri computer sono così veloci ora, a meno che tu non sia Google, non te ne accorgi nemmeno. Se sei Google, puoi permetterti di soddisfare i tuoi clienti.
risposta data 06.11.2012 - 17:06
fonte
1

Dovrebbe essere chiaro dalle risposte, non esiste una risposta giusta o sbagliata. Molti fattori devono essere tenuti in considerazione.

È vero che https può aggiungere un sovraccarico. Tuttavia, con l'attuale tecnologia server, non sono convinto che questo sia un grosso problema come una volta.

SSL / TLS non è un proiettile magico che renderà automaticamente sicuro il tuo sito. È solo una parte di una strategia. Molte violazioni della sicurezza sono dovute al fatto che i dati del server di backend sono stati compromessi attraverso altri canali e guasti nella memorizzazione / gestione dei dati in modo sicuro.

Anche se può essere vero che c'è meno bisogno di usare SSL su pagine che non hanno implicite implicazioni di sicurezza, farei molta attenzione. Il problema è che un sito misto aggiunge complessità e maggiori possibilità di errori. Questo è particolarmente rilevante se il tuo sito è grande, complesso o ha più sviluppatori. Dato che i costi generali associati alla crittografia non sono così alti come in genere, in generale, se hai un motivo per utilizzare https per alcuni contenuti, preferirei usarlo per tutti i contenuti del sito.

    
risposta data 08.11.2012 - 21:13
fonte
0

Sono d'accordo con Rook

Se il tuo sito web ha parti pubbliche, lascialo come normale http non c'è motivo di aggiungere ulteriore carico ai tuoi server e ai tuoi utenti. Ora se hai utenti che accedono e fai qualcosa, hai un servizio per proteggerli. Dal momento in cui raggiungono la pagina di accesso al momento in cui si disconnettono, tutto deve essere eseguito in https. Assicurati che quando imposti i cookie degli utenti solo per https, dovrai anche usare qualcosa sul lato java-script per controllare se hanno i cookie https e se lo fanno dovrebbero forzare il reindirizzamento a https in questo modo trasmettere i cookie degli utenti su http.

La fiducia è che non puoi terminare la tua sicurezza con questo solo assicurandoti di forzare password sicure con buone politiche di hashing e poesie sull'archiviazione dei dati a riposo. Dipende dall'applicazione che hai ma a meno che non ti copri da solo in tutti i punti, chiedi a qualcuno di testare le tue abilità fino a quando non vincono e pubblicano i tuoi utenti su un torrent pubblico.

    
risposta data 06.11.2012 - 04:35
fonte
-2

Concordato con @Rook e @WojonsTech.

Non è necessario eseguire l'https dell'intero sito.

Per uno, questo rallenterà il tuo sito web ...

Quindi perderai velocità ma guadagnerai molto poco (se mai qualcosa) in termini di sicurezza extra.

    
risposta data 06.11.2012 - 11:29
fonte

Leggi altre domande sui tag