¿Cuál es el punto de cifrar mis archivos (en un servidor); Si puedo descifrarlos, ¿por qué un pirata informático no puede hacer eso también?

2

Ayudo a mantener un servidor web que usan los usuarios. Almacenan datos en nuestro servidor. La mayoría de los datos no son confidenciales, pero algunos son altamente sensibles. Entonces, parece que queremos cifrarlo para que, si alguien compromete nuestro servidor, solo encuentre datos cifrados. Sin embargo, para proporcionar los datos a los usuarios en el sitio web, el código es esencialmente similar a (pseudocódigo)

encryptedFile=getEncryptedFile();
decryptedFile=decrypt(encryptedFile);
serve up decrypted file

Entonces, si nuestro servidor está comprometido, ¿qué es evitar que el mal actor encuentre este código y simplemente ejecute el algoritmo de descifrado por su cuenta? Parece que me falta algún paso sobre cómo evitar que un atacante encuentre la clave de descifrado, incluso si el servidor está comprometido.

Esencialmente, se reduce a: Si yo, como administrador del sistema, el sistema de descifrado para el sitio web puede cifrar / descifrar archivos, ¿qué es detener al pirata informático que compromete a mi servidor con el acceso de nivel de raíz a hacer lo mismo?

    
pregunta chiliNUT 07.04.2017 - 00:46
fuente

2 respuestas

1

No sé qué hace decrypt() , pero probablemente te refieras a la API de criptografía específica de tu sistema operativo. En Windows, esto está protegido con la contraseña de su cuenta. Si los datos se descargan o se roban, será mucho más difícil de leer, incluso sabiendo su contraseña. Cuando su servidor está rooteado, todas las apuestas están desactivadas, esto solo lo confunde.

    
respondido por el J.A.K. 07.04.2017 - 01:44
fuente
0

En realidad, hay dos formas de cifrar todos los datos almacenados en un servidor:

  1. Usando un respaldo que encripta los datos de alguna manera, es decir. Cualquier tipo de bóveda que bloquee desbloqueos, etc. Si no automatiza el desbloqueo, o no requiere algún tipo de autenticación para que cada llamada recupere datos y si esto no está automatizado, entonces debería poder forzar la capacidad de acceder a sus datos. lejos del servidor (por ejemplo, si solo una clave de cliente podría descifrar la respuesta, entonces está seguro porque no puede descifrarla y, por lo tanto, tampoco lo puede hacer un atacante

    1. Usar algo como LUKS para cifrar el servidor. Este es un enfoque similar al anterior, pero el desbloqueo inicial básicamente va a estar iniciando el servidor.

Lo ideal sería que siempre cifraras los discos para que nadie con acceso al servidor pueda comprometer tus datos.

Dependiendo de su función en la entrega de datos confidenciales (es decir, ¿es el propietario?) Entonces, probablemente también valga la pena obligar a los clientes a autorizar su propio acceso, ya sea proporcionando las claves como parte de la solicitud o proporcionando las claves como parte de su Aplicación local para descifrar los datos que devuelve.

Realmente, excepto en el caso de que un cliente no solo debe autenticarse para acceder a su sistema, sino que también debe conocer algún otro secreto para descifrar los datos una vez que los recuperan (donde la clave de descifrado es no almacenado en el servidor, pero es único para cada cliente), si alguien obtiene acceso de root al buzón mientras está en línea, es bastante capaz de considerar todos los datos comprometidos.

    
respondido por el hvindin 09.04.2017 - 06:41
fuente

Lea otras preguntas en las etiquetas