las mejores prácticas para sistemas de archivos encriptados dentro de un archivo

1

Esta es una extensión de mi pregunta en UNIX . Supongamos que creo un archivo, lo asigno a /dev/loop0 y creo una partición LUKS dentro

dd if=/dev/zero of=myfile bs=1M count=1000
losetup /dev/loop0 myfile 
cryptsetup -c aes-cbc-essiv:sha256 -s 256 -v -y luksFormat /dev/loop0

Luego abro la partición encriptada

cryptsetup luksOpen /dev/loop0 myfile

Ahora, mi archivo cifrado aparece como un disco /dev/mapper/myfile . Necesito crear un sistema de archivos antes de poder usarlo.

Mi pregunta:

¿Cuál sería la mejor práctica en general con respecto a mi configuración? En particular, ¿existen opciones / parámetros del sistema de archivos que debo cambiar de los valores predeterminados? ¿Alguna sugerencia sobre qué sistema de archivos utilizar? ¿Diario? ¿Alguna otra sugerencia o comentario?

    
pregunta Martin Vegter 02.02.2014 - 11:36
fuente

2 respuestas

4

Con respecto al cifrado a elegir, es decir, aes-cbc-essiv:sha256 (el valor predeterminado anterior) versus aes-xts-plain64:sha256 (el nuevo valor predeterminado). He explicado todo esto antes en esta respuesta:

¿Qué tan seguro es el cifrado de disco completo predeterminado de Ubuntu?

En cuanto a qué sistema de archivos usar, usar una partición de manera directa le dará el mejor rendimiento: no hay una segunda capa de traducción que se interponga entre su dispositivo de pseudobloque y su dispositivo de bloque real.

Ya que eso parece no ser una opción para usted, entonces recomendaría uno de los sistemas de archivos EXT en lugar de uno de los más nuevos de copia en escritura, ya que el acceso aleatorio a un archivo grande con un sistema de archivos COW estar desordenado EXT4 es obviamente el más reciente y posiblemente el más resistente del linaje, aunque si solo tienes un archivo grande, la mayoría de las funciones del FS no entran en juego. Entonces, en ese sentido, probablemente no importa mucho el sistema de archivos que use. Realmente no estás usando las características del sistema de archivos.

Siempre que asigne su archivo por completo en el momento de la creación (como ha demostrado en su pregunta, en lugar de crear un archivo disperso), su archivo será un bloque contiguo y el sistema de archivos se vuelve en gran parte transparente para su operación. Además, asignar su archivo ANTES de colocar los otros archivos en el FS hará que su archivo esté más cerca del inicio del disco, lo que hace que su acceso a veces sea un poco más rápido.

En cuanto a la seguridad: (a) no revele su contraseña, (b) no permita que nadie toque su computadora. No hay mucho para eso. Como se está ejecutando en un dispositivo no seguro, realmente no hay una protección adicional significativa que pueda implementarse. Si encripta toda su computadora, entonces quizás tenga algo, pero tal como está, tenga cuidado de cómo se usa.

    
respondido por el tylerl 04.02.2014 - 19:05
fuente
4

Desde una perspectiva de seguridad, es poco probable que importe las opciones de sistema de archivos y de sistema de archivos que use dentro del dispositivo de bucle invertido cifrado. Personalmente usaría ext4, ya que actualmente es el estándar de facto para sistemas de archivos Linux.

Dicho esto, me gustaría hacer un par de ajustes a la configuración del contenedor LUKS:

  1. Rellene el archivo con bytes aleatorios, en lugar de cero bytes (reemplace /dev/zero con /dev/urandom ). Esto garantiza que un atacante no pueda distinguir entre bloques utilizados y no utilizados.

  2. Use xts-plain64:sha256 en lugar de aes-cbc-essiv:sha256 , y pase -s 512 en lugar de -s 256 . XTS es más nuevo que CBC-ESSIV y es a la vez más eficaz y posiblemente más seguro (tenga en cuenta que requiere el doble del tamaño de clave para un nivel de seguridad equivalente).

respondido por el AGWA 03.02.2014 - 05:13
fuente

Lea otras preguntas en las etiquetas