Recibir datos confidenciales cargados en un servidor web y acceder a ellos de forma remota sin exponerlos a robos

1

Editar: utilicé principalmente las directrices de mi universidad sobre cómo cumplir con las normas DPA y sus propias. Extrapolamos un poco porque el cifrado en una máquina virtual alojada por mi uni que probablemente ya está cifrada no tiene mucho sentido. adversarios.

Los datos que manipulamos son muy confidenciales y el sitio web permanecerá disponible durante un tiempo y se reutilizará en todos los proyectos, por lo que creo que debo incluir ataques al servidor web y cifrar la PII contra él.

Me doy cuenta de que esto no tiene nada que ver con el DPA, sino solo mi interpretación de "mantener los datos personales seguros, en proporción a su sensibilidad".

El problema

Necesito configurar un servidor web en el que los participantes de la investigación suban tarballs (cuyo tamaño y contenido dependen de los proyectos) que contienen información de identificación personal y datos confidenciales . Debo cumplir con la DPA y otras pautas que recomiendan el cifrado, pero no aclaro el cifrado contra qué amenazas. Por lo tanto, asumo que debo proteger los datos de mi participante contra una violación en el servidor .

Esto es lo que planeaba hacer:

  1. Los datos están cifrados por mi servidor web al llegar con una clave simétrica recién creada.
  2. La clave simétrica está encriptada por el servidor mediante la clave pública del investigador que procesará los datos, y esa clave simétrica se almacena con los datos.
  3. Los investigadores nos conectamos al servidor y configuramos una imagen desencriptada de los archivos cifrados.
  4. Trabajamos en esa imagen, potencialmente agregando o modificando archivos (es decir, creando resúmenes de datos, transcripciones, métricas, etc., que también pueden contener algún PII hasta que nos sentamos y los anonimizamos correctamente).
  5. Cada vez que abandonamos el servidor, no se deben dejar datos sin cifrar.

Originalmente le pregunté a si podía crear volúmenes encriptados automáticamente y luego volver a abrirlos desde otro lugar, lo cual fue señalado como una idea especialmente mala por smrt28. Lo que planeé hacer:

  1. El servidor crea un volumen encriptado por usuario, coloca los datos sin procesar del usuario en la carpeta raíz de ese volumen y cierra el volumen correctamente cuando termina.
  2. I SSHFS a la carpeta que contiene todos esos archivos de volumen.
  3. Utilizo un script local para abrir puntos de montaje sin cifrar para todos esos volúmenes.
  4. Felizmente modifico los datos de los usuarios y creo nuevos archivos.
  5. Cierre los puntos de montaje y todo está bien, los nuevos datos se agregaron a los servidores ya encriptados.

La pregunta original: ¿cómo puedo hacer que dm-crypt use claves asimétricas para que el servidor solo pueda crear un nuevo volumen cifrado y pueda cifrar / descifrar? ¿Es eso posible con los volúmenes? Si lvm no puede hacer eso, ¿alguna alternativa?

La solución que adoptaré

Simplemente conseguiré que este servidor web escriba los datos en un montaje de solo escritura de la partición de otro servidor. El otro servidor será alojado por mi universidad y solo será accesible desde nuestra VPN universitaria autenticada. La partición será encriptada y respaldada por la universidad según lo crea conveniente.

Los investigadores solo nos conectaremos a la VPN, montaremos la partición y haremos lo nuestro, que es esencialmente el mismo que en la configuración original.

    
pregunta Steve DL 13.09.2014 - 14:10
fuente

2 respuestas

3

No estoy seguro de poder entender su pregunta correctamente.

Montar un directorio con archivos de volumen criptados con dm por SSHFS y montar esos archivos en su local ... Hmm ... Me parece una locura y usted está pidiendo una corrupción de datos. ¿Imagine lo que le sucede al volumen si intenta editar desde 2 ubicaciones de red diferentes? ¿Imagina lo que sucedió si su red se rompe en medio de la "edición"?

No has escrito cuántos usuarios esperas. Ni siquiera mencionaste, que tan grandes son esas bolas. Si los archivos fueran pequeños, sugeriría que los mantuviera en formato gpg-ed, y si desea editarlos, simplemente descárguelos, edítelos, cárguelos.

Tampoco estoy seguro de por qué necesita mantener esos datos en el servidor. Como mencionó, todos los datos están encriptados y usted es la única persona que tiene la clave. Me parece que el servidor es solo un servidor de carga y el único servicio que los servidores es el servicio de carga. Entonces, gpg cada tarball entrante y sincronícelo con su local donde puede mantenerlo en un solo volumen cifrado y editarlo libremente. ¿Por qué necesita los datos en el servidor?

    
respondido por el smrt28 19.09.2014 - 13:35
fuente
0

Debe proporcionar un enlace a los requisitos y recomendaciones reales.

Según lo que se escribió, asumiría que necesitaría una clave pública por usuario para cifrar. O le permitirían compartir una clave pública entre, por ejemplo, un grupo de usuarios.

El problema y la ventaja de usar LVM si un volumen está cifrado, se debe ingresar una contraseña en cada montaje / arranque. Si solo se montara un volumen de usuarios al iniciar sesión (¿usando PAM?), Se podría solicitar al usuario que ingrese la contraseña del volumen y así lograr el procedimiento requerido.

    
respondido por el Saint Crusty 19.09.2014 - 11:44
fuente

Lea otras preguntas en las etiquetas