HTTPS vs. HTTP - ¿Hay alguna razón de seguridad para HTTPS para un sitio que solo inicia sesión en Facebook? [duplicar]

6

Estoy trabajando en un sitio donde toda la autenticación es a través de facebook oauth2. Considero que la naturaleza de nuestro contenido no es crítica (básicamente, noticias). Tuvo algunas conversaciones con el cliente sobre la seguridad del sitio y sentí que no había una buena razón para hacerlo en este momento, pero que Facebook y Microsoft lo hacen para todo el tráfico (conectado y no registrado), mientras que SO no.

No teniendo en cuenta el rendimiento, ¿habría algún motivo de seguridad para que ejecutemos el sitio a través de HTTPS? Estoy usando Rails con OmniAuth. A pesar de que considero que el contenido no es crítico, podría ser más fácil agregarlo en este punto, tal vez la mensajería de usuario a usuario (una característica que actualmente no está implementada requeriría esto) tal vez una razón por la cual SO no tiene usuario para ¿Mensajes de usuarios?). Dado que toda mi autenticación con Facebook es a través de HTTPS, ¿habría alguna razón por la que mi tráfico no HTTPS con el usuario final supondría un riesgo para la seguridad del usuario final?

Lo pregunto porque, cuando se trata de seguridad, a menudo me sorprende lo que no sé.

Estoy usando cookies HttpOnly en Rails 3.1. Una cosa que noté fue que podía copiar la cookie y obtener acceso incluso con HttpOnly en un navegador diferente. Hmm ... no es lo que esperaba.

    
pregunta timpone 19.09.2012 - 16:43
fuente

4 respuestas

8

Mi guía general para sitios web es simplemente construir nuevos sitios en SSL, simple y llanamente. Haz tu vida más sencilla.

Tenga en cuenta que si no lo hace, todo el tráfico entre sus usuarios y sus servidores puede ser interceptado y manipulado. Entonces, por ejemplo, si estuvieras ejecutando un foro, podría interceptar las cookies y publicarlas en el foro como usuarios. Los datos del foro probablemente no sean el fin del mundo y no tienen nada "privado" asociado. Pero tener usuarios suplantando a otros usuarios es simplemente complicado.

Usando las noticias como otro ejemplo, como señalaste, probablemente no sea sensible. Pero si tiene una función de perfil, otros podrían ver las noticias a las que me he registrado. Y potencialmente manipularlo. Es una especie de fuga de datos. Nuevamente, no es el fin del universo, pero sí lo es.

Ninguno de estos problemas importa hasta que un día te levantas y de repente importan (como si te hicieras grande y alguien escribe una extensión FF para hacerlo tan simple como "sigue estos 3 sencillos pasos").

Su vida será más simple si inicia SSL y nunca mira hacia atrás.

    
respondido por el Eric Fleischman 19.09.2012 - 17:59
fuente
3

SSL es económicamente económico y computacional.

Si está realizando una nueva implementación, no hay razón para no hacerlo si está usando algún inicio de sesión. En caso de duda, utilice SSL. Puede que lo necesite más tarde, y su implementación posterior puede ser muy problemático.

Si cree que no puede usar SSL, debe volver a examinar sus requisitos y preguntar a un profesional de seguridad si no está equivocado.

    
respondido por el Hubert Kario 24.09.2012 - 00:14
fuente
1

Para un sitio autocontenido sin publicidad, si la seguridad es fundamental, recomendaría que use SSL en todo el sitio (solo HTTPS, no HTTP). Si no hay necesidad de seguridad, HTTP está bien.

Si el sitio no es autónomo, si desea utilizar publicidad, CDN de terceros, widgets de JavaScript de terceros o similares, la vida se vuelve más complicada. Vea abajo.

La mejor discusión que puedo encontrar sobre las razones por las que no usa SSL se encuentra en ¿Qué ¿Cuáles son los pros y los contras de SSL en todo el sitio (https)? . La versión corta es: si la seguridad es importante, use SSL, a menos que no pueda, y esa pregunta explica algunas situaciones en las que no puede.

    
respondido por el D.W. 23.09.2012 - 20:17
fuente
1

Uno generalmente elige que su aplicación web utilice HTTPS en dos casos: -

  • La comunicación entre el servidor y el cliente contiene algún tipo de información confidencial y corre el riesgo de ser interceptada. En tales casos, los datos deben cifrarse y enviarse de forma segura al servidor y viceversa.
  • ¡El cliente necesita saber que de hecho está hablando con el servidor real! En tales casos, el navegador puede verificar el servidor al verificar si el certificado del servidor se remonta a un certificado raíz.

En su caso, su aplicación web utiliza HTTPS para comunicarse con FB e iniciar sesión, en el proceso de transferencia de tokens de autorización, tokens de acceso entre otra información confidencial. Si su aplicación web no usa HTTPS para hablar con el cliente, y si su aplicación web proporciona una funcionalidad de inicio de sesión de cliente, es imperativo que también proporcione HTTPS a su lado.

Si no, no es tan importante.

Sin embargo, en general, los sitios que tienen un certificado firmado por una CA raíz son más confiables: nunca iniciaré sesión en un sitio web que no tenga un certificado propio válido que utilice OAuth; ya sea con el propósito de acceder a una transmisión o de otra manera.

    
respondido por el user1187 23.09.2012 - 22:17
fuente

Lea otras preguntas en las etiquetas