HTTPS rispetto a HTTP - Esiste un motivo di sicurezza per HTTPS per un sito che esegue solo l'accesso a Facebook? [duplicare]

6

Sto lavorando su un sito dove tutte le autenticazioni sono su facebook oauth2. Considero la natura dei nostri contenuti non critica (in pratica notizie). Ho avuto alcune discussioni con il cliente sulla sicurezza del sito e ho sentito che non c'era una buona ragione per farlo adesso, ma che Facebook e Microsoft fanno per tutto il traffico (loggato e non registrato) mentre SO no.

Non tenendo conto delle prestazioni, ci sarebbero motivi di sicurezza per l'esecuzione del sito su HTTPS? Sto usando Rails con OmniAuth. Anche se considero il contenuto non critico, potrebbe essere più facile aggiungere a questo punto - forse la messaggistica da utente a utente (una funzionalità attualmente non implementata richiederebbe questo - forse una ragione per cui SO non ha utente-a -la messaggistica utente?). Poiché tutta la mia autenticazione con Facebook è su HTTPS, ci sarebbe QUALUNQUE ragione per cui il mio traffico non HTTPS con l'utente finale avrebbe introdotto un rischio per la sicurezza per l'utente finale?

Te lo chiedo perché, quando si parla di sicurezza, sono spesso sorpreso di ciò che non so.

Uso i cookie HttpOnly in Rails 3.1. Una cosa che ho notato è che posso copiare il cookie e accedere anche con HttpOnly in un altro browser. Hmm .... non quello che mi aspettavo.

    
posta timpone 19.09.2012 - 16:43
fonte

4 risposte

8

La mia guida generale ai siti Web è di creare nuovi siti su SSL, in modo semplice e semplice. Rendi la tua vita più semplice.

Tieni presente che se non lo fai, tutto il traffico tra i tuoi utenti e i tuoi server può essere intercettato e manipolato. Quindi, ad esempio, se stavi gestendo un forum, potevo intercettare i cookie e postare sul forum come utenti. I dati del forum non sono probabilmente la fine del mondo e non hanno nulla di "privato" associato ad esso. Ma avere utenti che si spacciano per altri utenti è solo icky.

Usando le notizie come altro esempio, come hai sottolineato, probabilmente nulla di sensibile. Ma se hai una funzione di profilo, allora altri potrebbero vedere le notizie per cui mi sono registrato. E potenzialmente manipolarlo. È una sorta di perdita di dati. Di nuovo, non la fine dell'universo, ma icky.

Nessuno di questi problemi è importante fino a quando un giorno ti svegli e all'improvviso importa (come se diventassi grande e qualcuno scrivesse un'estensione FF per renderla semplice come "segui questi 3 semplici passaggi").

La tua vita sarà più semplice se avvii SSL e non guarderai mai indietro.

    
risposta data 19.09.2012 - 17:59
fonte
3

SSL è economico dal punto di vista finanziario e computazionale.

Se stai facendo una nuova distribuzione, non c'è motivo di non farlo se stai utilizzando qualsiasi accesso. In caso di dubbio, utilizza SSL. Potresti richiederlo in un secondo momento e il lancio successivo potrebbe essere molto problematico.

Se pensi di non poter utilizzare SSL, dovresti riesaminare i tuoi requisiti e chiedere a un professionista della sicurezza se non ti sbagli.

    
risposta data 24.09.2012 - 00:14
fonte
1

Per un sito autonomo senza pubblicità, se la sicurezza è fondamentale, ti consiglio di utilizzare SSL sitewide (solo HTTPS, nessun HTTP). Se non c'è bisogno di sicurezza, HTTP va bene.

Se il sito non è autonomo - se si desidera utilizzare pubblicità, CDN di terze parti, widget Javascript di terze parti o simili, la vita diventa più complicata. Vedi sotto.

La migliore discussione che riesco a trovare dei motivi per cui potresti non usare SSL si trova in Cosa sono i pro e i contro di SSL del sito (https)? . La versione breve è: se la sicurezza conta, usa SSL, a meno che tu non possa farlo - e quella domanda spiega alcune situazioni in cui non puoi.

    
risposta data 23.09.2012 - 20:17
fonte
1

In genere si sceglie di utilizzare la propria applicazione Web in HTTPS in due casi: -

  • La comunicazione tra il server e il client contiene una sorta di informazione sensibile e ha il rischio di essere intercettata. In tali casi i dati devono essere crittografati e inviati in modo sicuro al server e viceversa.
  • Il cliente deve sapere che in effetti sta parlando al server reale! In questi casi, il browser può verificare il server controllando se il certificato dei server risalga a un certificato di origine.

Nel tuo caso, la tua applicazione web utilizza HTTPS per comunicare con FB e login - nel processo di trasferimento dei token di autorizzazione, accedi ai token tra le altre informazioni sensibili. Se la tua applicazione web non usa HTTPS per parlare con il client, e se c'è una funzionalità di accesso client fornita dalla tua applicazione web è imperativo che fornisci anche HTTPS dalla tua parte.

Altrimenti, non è così importante.

Tuttavia, generalmente i siti che hanno un certificato firmato da un'autorità di certificazione principale sono più affidabili: non accetterei mai un sito Web che non ha un proprio certificato valido che utilizza OAuth; sia per gli scopi di accesso a un flusso o in altro modo.

    
risposta data 23.09.2012 - 22:17
fonte

Leggi altre domande sui tag