¿Se requiere HTTPS cuando no hay datos confidenciales en el sitio?

1

Actualmente estoy creando un sitio de comercio electrónico B2B para un cliente con WordPress. Vendemos maquinaria industrial que oscila entre $ 100k y $ 400k. A mi cliente le gustaría tener su formulario de financiamiento en línea donde los clientes / negocios ingresen la información de la cuenta bancaria, así como los números de seguridad social. Quiere que este formulario se envíe por correo electrónico a nuestro grupo de financiamiento para que lo procese. En lugar de enviar por correo electrónico este formulario, ¿podría guardar los datos en mi servidor SSL y cifrarlos de alguna manera y luego proporcionar un enlace de inicio de sesión para que nuestro grupo de financiamiento utilice, ingrese una clave y luego muestre la información confidencial? Estamos tratando de eliminar la necesidad de enviar por fax o correo una aplicación.

Tenemos 2 servidores, un servidor MS SQL 2008 interno y un servidor MySQL / Nginx en el que WordPress está instalado.

Después de leer muchas publicaciones, lo que mi cliente quiere hacer es un gran riesgo para los usuarios y nuestra empresa. No soy un especialista en seguridad, solo busco algunos comentarios sobre lo que debo / podría hacer.

    
pregunta RandomJay 22.07.2015 - 02:33
fuente

2 respuestas

4

Parece que tienes mucha de información confidencial en tu sitio web.

Sin embargo, incluso si su sitio no contiene información confidencial, la implementación de HTTPS es una decisión acertada. Las conexiones HTTP inseguras son vulnerables a un ataque de hombre en el medio ( MITM ), lo que permite a un atacante hacerse pasar por su sitio con facilidad. Los clientes no tienen forma de estar seguros de que realmente estén conectados a su servidor, en lugar de que el pretendiente de otra persona sea suyo.

HTTPS proporciona autenticación al permitir que los clientes verifiquen la identidad de su servidor, así como también a confidencialidad impidiendo que terceros entren en su tráfico.

    
respondido por el etherealflux 22.07.2015 - 15:53
fuente
3

Primero, HTTPS solo protege los datos mientras está en tránsito, no protege sus datos después. Por lo tanto, deberá implementar seguridad para estos datos en reposo.

Diseñar un sistema completamente seguro es una tarea realmente difícil, y evaluar qué es un riesgo aceptable y qué no lo es, está lejos de ser trivial. Realmente le sugiero que busque asesoramiento de un asesor de seguridad profesional (las firmas de auditoría tienen acceso a dicho perfil).

Dicho esto, aquí hay algunos consejos sobre cómo podría querer ir después de esta tarea:

  1. Primero, deberá estimar el valor de los datos que desea proteger. Esto es MUY importante porque le permitirá decidir qué medidas de seguridad son necesarias y cuáles son excesivas (la seguridad siempre tiene un costo). No olvide que este valor debe incluir el costo en caso de que se pierdan esos datos y de que estos sean robados / divulgados.
  2. Asegúrese de que realmente NECESITA todos los datos que está recopilando. La forma más sencilla de proteger los datos confidenciales es no solicitarlos ni almacenarlos, por lo que puede minimizar los riesgos (y los costos) al reducir la cantidad de datos que almacena.
  3. Compruebe si necesitará que los datos confidenciales en el servidor frontal vuelvan a aparecer. De lo contrario, una implementación bastante simple, pero efectiva, es crear una ruta segura y unidireccional para los datos: implementar un servidor de servicios de fondo que acepte los datos con una API simple (a través de una conexión segura) pero no tendrá Cualquier otra cosa expuesta. Otra forma de proteger estos datos es cifrarlos (por ejemplo, utilizando PGP) con una clave pública y mantener la clave privada fuera del servidor. De esa manera, los datos confidenciales no se pueden recuperar fácilmente siempre que la clave privada no esté comprometida.
  4. En todos los casos, recibirá un mejor servicio al tener un servidor separado para almacenar sus datos confidenciales y realizar el control de acceso. Este servidor no debe ser accesible desde el exterior, solo desde su sistema de front-end. Si un atacante se apodera de su servidor frontal, aún tendrá que obtener acceso a este sistema para alcanzar sus datos confidenciales. Sin embargo, la API utilizada para contactar con este servidor seguro debe estar cuidadosamente diseñada.
  5. Los datos en reposo también deben estar encriptados. Lo ideal es utilizar un HSM para almacenar las claves y no usar el cifrado transparente (ni en el almacenamiento ni en la base de datos ).
  6. Cuando haya terminado con su diseño, hágalo auditar.
respondido por el Stephane 22.07.2015 - 09:25
fuente

Lea otras preguntas en las etiquetas