Habilite el cifrado de disco después de la instalación

61

Estoy corriendo 13.10 Saucy. Si no habilité el cifrado de disco durante la instalación, ¿hay alguna forma de habilitarlo post facto?

Encontré esto , que dice que el cifrado tiene que suceder en el momento de la instalación, pero también se refiere a Fedora. Puedo iniciar fácilmente en un disco en vivo si hay alguna forma de hacerlo desde allí.

Isaac Dontje Lindell
fuente
¿Cifrado de disco completo o solo su carpeta / home?
Joren
Disco lleno (Pregunta de seguimiento: ¿cuáles son las ventajas y desventajas del disco completo frente a just / home? :))
Isaac Dontje Lindell
/ el cifrado de disco doméstico no incluye espacio de intercambio. Los datos confidenciales pueden escribirse en un intercambio sin cifrar, si solo / home está cifrado. Esto se puede recuperar. Ubuntu tiene descifrado automático de / home durante el inicio de sesión. El cifrado de disco completo necesita una contraseña tanto en el inicio como en el inicio de sesión. Cambiar el tamaño de una unidad cifrada es un proceso minucioso. Si tiene una unidad externa, es fácil de encriptar después de la instalación en 13.10 Saucy Salamander: haga una copia de seguridad de sus datos, inicie "discos" desde el tablero, seleccione su unidad externa, haga clic en el engranaje, seleccione encriptar, desbloquee su unidad recién encriptada , vuelva a copiar los datos.
user75798

Respuestas:

57

Si desea habilitar el cifrado de su carpeta de inicio, deberá instalar y usar estos paquetes: ecryptfs-utilsy cryptsetup. También necesitará otra cuenta de usuario con privilegios de administrador (sudo). La documentación completa está aquí:

Si desea habilitar el cifrado de disco completo después de la instalación, la respuesta breve por ahora es probablemente: no, no puede . De todos modos, si está interesado en esto, su pregunta es un duplicado de:

Radu Rădeanu
fuente
8
Incluya aquí al menos los pasos básicos de su enlace. En caso de que su enlace se desconecte, cambie o sea temporalmente inaccesible.
con-f-use
1
@ con-f-use Si lee detenidamente (sin confusión), los pasos básicos están incluidos en la respuesta.
Radu Rădeanu
1
¿Qué sucede si tiene un recurso compartido de samba en su carpeta de inicio que está encriptado? ¿Los usuarios de la red ya no pueden leer los archivos o se descifran sobre el recurso compartido?
Rush Frisby
21

Pregunta de seguimiento: ¿cuáles son las ventajas y desventajas del disco completo frente a just / home?

El cifrado en / home se realiza utilizando un sistema de archivos de espacio de usuario llamado ecryptfs. Está muy bien hecho y muy integrado en el sistema de autenticación predeterminado para que no tenga inconvenientes de usabilidad: cuando ingresa a su cuenta (ya sea desde un shell remoto o desde la pantalla de inicio de sesión predeterminada) su contraseña se utiliza para desenvolver una clave segura , que luego se usa para cifrar / descifrar sus archivos en su directorio de inicio sobre la marcha (el sistema de archivos montado residirá directamente en / home / username). Cuando cierra sesión / home / username se desmonta y solo los archivos cifrados permanecen visibles en el sistema (generalmente en /home/.ecryptfs/username/.Private/). Parecen un montón de archivos scrabbled / random ya que los nombres de los archivos también están encriptados. La única fuga de información es: tamaño de archivo, marcas de tiempo y número de archivos (con cifrado de disco completo también están ocultos).

Si su sistema se va a compartir entre varios usuarios, esta es una característica muy agradable incluso si decide agregar cifrado de disco completo junto con esto: la seguridad del cifrado de disco completo está desactivada cuando la máquina está en funcionamiento mientras está en casa ( el cifrado ecryptfs) está activado siempre que haya cerrado la sesión.

Por lo tanto, el cifrado de disco completo y el cifrado doméstico no son necesariamente mutuamente excluyentes.

Aquí hay una lista de posibles configuraciones, dependiendo de las diferentes necesidades de seguridad:

  • SÓLO ENCRIPTACIÓN DE DISCO COMPLETO: si usted es el único que usa su computadora y su máquina puede manejar la sobrecarga del cifrado de disco completo (todos los escritorios modernos pueden hacerlo sin que el usuario lo note, las netbooks y las computadoras portátiles viejas no tanto) puede usar cifrado de disco y poner en casa en la misma partición que su sistema operativo (/).
  • ENCRIPTACIÓN DE DISCO COMPLETO Y ENCRIPTACIÓN DE HOME ECRYPTFS : si le preocupa que sus datos privados se lean mientras su PC está encendida o comparta su computadora con otros usuarios, entonces podría tener su hogar en una partición diferente de / y usar ecryptfs a lo largo del disco completo cifrado (es decir, cifrado de / a través de LUKS)
  • SOLO ENCRIPTACIÓN DE HOME ECRYPTFS : si no está demasiado preocupado porque alguien manipule su sistema mientras está fuera, pero aún así desea mantener sus datos privados a salvo, entonces omita la encriptación completa del disco y simplemente use ecryptfs (encriptación del hogar). Una ventaja adicional de este escenario es que es bastante fácil de configurar incluso después dehas instalado Ubuntu, simplemente usando ecryptfs-migrate-home. Además, esta ha sido la configuración predeterminada de Ubuntu antes de cambiar algunas versiones, agregando la posibilidad de cifrado de disco completo. Dado que la mayoría de las computadoras de escritorio modernas pueden manejar el cifrado de disco completo sin problemas y agrega una capa delgada de seguridad contra la inyección de código fuera de línea, se agregó el cifrado de disco completo al instalador. Sin embargo, tenga en cuenta que para la mayoría de los usuarios, solo cifrar su hogar con ecryptfs será suficiente para sus necesidades: mantener a sus amigos y a los ladrones comunes de computadoras portátiles fuera de sus datos privados. Además, si una organización le apuntó de manera singular con los medios adecuados, tener cifrado de disco completo o solo cifrado en el hogar no hará una gran diferencia a menos que también haya establecido muchos otros comportamientos paranoicos (como: mantener el núcleo en un pen-drive separado que siempre está en usted; Comprobando constantemente la manipulación de hardware / keyloggers y así sucesivamente)

Si no habilité el cifrado de disco durante la instalación, ¿hay alguna forma de habilitarlo post facto?

Sí, y será más fácil si actualmente está utilizando LVM y tiene suficiente espacio en su sistema para copiar todos los archivos del sistema sin cifrar en una partición LUKS cifrada. No voy a entrar en detalles en este momento porque no sé si está usando LVM y si prefiere no usar ecrypfs por ahora y omitir la molestia del cifrado de disco completo hasta la próxima instalación nueva.

usuario824924
fuente
3

Bueno, podría hacer una copia de seguridad de todos los directorios importantes y el software instalado. Asegúrese de que su 13.10 esté completamente actualizado para evitar conflictos de versión. Por lo general, las cosas que respaldan serían:

Después de eso, reinstala el sistema solo ahora encriptado. Actualízalo al máximo. Luego mueva la copia de seguridad al sistema encriptado e instale todo el software de la versión anterior.

Sólo asegúrese de no sobrescribir los archivos importantes para el cifrado, al poner de vuelta la copia de seguridad (por ejemplo /etc/fstab, /etc/cryptabalgunas cosas relacionadas con comida y algunas cosas en /bootno deberían ser reemplazados por los archivos de copia de seguridad).

confundir
fuente
1

Desde un Ubuntu 16.04 que funcionaba, logré encriptar la partición raíz después de la instalación, con la partición raíz que contenía todo excepto / boot. Puse / boot en un usb extraíble por separado. En particular, hice esto antes de actualizar a Ubuntu 18, y la actualización funcionó bien en la versión de disco cifrado.

El cifrado no se realizó "en su lugar", lo cual estuvo bien para mí porque no quería sobrescribir la versión funcional hasta que la nueva configuración funcionara, de todos modos.

Realizar el procedimiento correcto es extremadamente simple y rápido. (Aunque descubrir el procedimiento correcto fue extremadamente lento porque seguí algunas pistas falsas).

CONTORNO

  1. Cree un disco USB de Linux en vivo: es conveniente tener habilitada la persistencia. Inicie en ese disco USB en vivo.
  2. Cree un grupo de volúmenes cifrados luks en una partición vacía. (En mi caso, estaba en el mismo disco que el Linux original, pero podría ser otro disco). Crear / (raíz) e intercambiar volúmenes lógicos en esa partición cifrada. Estos actuarán como particiones virtuales en lo que respecta al linux copiado.
  3. Copie los archivos de la raíz anterior a la nueva raíz.
  4. Configure y particione otro USB para que actúe como disco de arranque extraíble.
  5. Configure algunos archivos en la nueva raíz, haga un poco de magia y haga un chroot en la nueva raíz y luego instale grub en el disco de arranque desde el nuevo entorno raíz chroot'd.

DETALLES

1 - Arranque con un disco USB de Linux en vivo: es conveniente tener habilitada la persistencia.

Instalé Ubuntu 16 en un usb con unetbootin. La GUI permite que se especifique "persistencia", pero también se requiere otro paso para que la persistencia funcione: modifíquela /boot/grub/grub.cfgpara agregarla de la --- persistentsiguiente manera:

menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux   /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent
    initrd  /casper/initrd
}

Arrancar con el USB en vivo

2- Cree un grupo de volúmenes encriptados luks en una partición vacía. Cree / (raíz) e intercambie volúmenes lógicos en esa partición cifrada.

Suponga que la partición no utilizada que se cifrará es /dev/nvme0n1p4.

Opcionalmente , si tiene datos antiguos en la partición que desea ocultar antes del cifrado y el formateo, puede borrar la partición al azar. Ver discusión aquí .

dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress

Configura el cifrado.

cryptsetup -y -v luksFormat /dev/nvme0n1p4

Se le pedirá que establezca una contraseña.

cryptsetup luksOpen /dev/nvme0n1p4 crypt1

Se le pedirá que ingrese la contraseña. Tenga en cuenta que crypt1es un nombre arbitrario decidido por el usuario. Ahora cree los volúmenes y el formato.

pvcreate /dev/mapper/crypt1
vgcreate crypt1-vg /dev/mapper/crypt1

lvcreate -L 8G crypt1-vg -n swap
mkswap /dev/crypt1-vg/swap

lvcreate -l 100%FREE crypt1-vg -n root
mkfs.ext4 /dev/crypt1-vg/root

Use estas utilidades para ver los volúmenes y comprender la jerarquía.

pvscan
vgscan
lvscan
ls -l /dev/mapper
ls -l /dev/crypt1

3- Copie archivos de la raíz antigua a la nueva raíz

mkdir /tmp/old-root 
mount /dev/ubuntu-vg/root /tmp/old-root/
mkdir /tmp/new-root
mount /dev/crypt1-vg/root /tmp/new-root/
cp -a /tmp/old-root/. /tmp/new-root/

umount /tmp/old-root
umount /tmp/new-root

cp -a ... copias en modo de archivo, conservando todos los modos de archivo y banderas.

4- Configure y particione otro USB para que actúe como el disco de arranque extraíble.

Solía ​​dividirme para esto. Establecer dos particiones. La primera partición es vfat, la segunda ext2. Cada uno tenía 512 MB, podría salirse con la suya con menos. Asumir dispositivo /dev/sdf.

# The first partition: (will be /dev/sdf1)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: fat32
Label: (leave)

# The second partition: (will be /dev/sdf2)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: ext4
Label: (leave) 

5- Configure algunos archivos en la nueva raíz, haga un poco de magia y haga un chroot en la nueva raíz y luego instale grub en el disco de arranque desde el nuevo entorno raíz chroot'd.

Encuentre algunos UUID para su uso posterior. Tenga en cuenta los resultados de los siguientes comandos:

blkid /dev/sdf1
blkid /dev/sdf2
blkid /dev/nvme0n1p4

Montar la partición raíz y las particiones de arranque

sudo mount /dev/mapper/crypt1--vg-root /mnt
sudo mount /dev/sdf2 /mnt/boot
sudo mount /dev/sdf1 /mnt/boot/efi

Configura el archivo /mnt/etc/fstab

/dev/mapper/crypt1--vg-root /               ext4    errors=remount-ro 0       1
/dev/mapper/crypt1--vg-swap none    swap    sw              0       0
UUID=[uuid of /dev/sdf2] /boot           ext2    defaults        0       2
UUID=[uuid of /dev/sdf1]  /boot/efi       vfat    umask=0077      0       1

donde "[uuid of ...]" es solo una combinación de letra, número y guión.

Crea el archivo /mnt/etc/cryptab

# <target name> <source device>     <key file>  <options>
crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root

Se requiere algo de magia para ingresar al entorno del directorio raíz:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot /mnt

Ahora configure el disco USB de arranque con grub:

apt install --reinstall grub-efi-amd64
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable
update-initramfs -k all -c
update-grub

Ahora debería poder reiniciar y arrancar usando el disco de arranque USB recién creado.

Solución de problemas

(a) La red debe estar conectada para el apt install --reinstall grub-efi-amd64comando. Si la red está conectada pero DNS está fallando, intente

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

(b) Antes de llamar initramfs, el vmlinuz...archivo actual utilizado en el linux original debe estar presente en el nuevo directorio raíz. Si no es así, encuéntralo y colócalo allí.

(c) El grub-installcomando buscará de manera predeterminada todos los demás discos de Linux que pueda encontrar, incluso si no están mounteditados, y los colocará en el menú de inicio en el nuevo USB de inicio. Por lo general, esto no es deseable, por lo que puede evitarse agregando esta línea a /boot/default/grub.cfg:

GRUB_DISABLE_OS_PROBER=true

NOTA: Se puede agregar un archivo de texto con la clave de cifrado al USB de arranque extraíble.

Craig Hicks
fuente
0

Respuesta simple: no.

Respuesta complicada:

Cifrar un disco o partición borrará todo lo que esté actualmente en ese disco o partición, por lo que para cifrar un disco también debe eliminar el contenido del disco. Debe realizar copias de seguridad de datos adecuadas antes de comenzar. Obviamente, esto significa que debe reinstalar el sistema para utilizar el cifrado de disco completo, no al revés. Esto se debe a que los datos aleatorios se escribirán en todo el disco para dificultar la recuperación de los datos.

Pero, hoy en día no necesita cifrar su partición raíz. Recuerde que si algo falla, está fuera de su sistema sin posibilidades de recuperar los datos. En su lugar, debe considerar solo cifrar su información personal.

Consulte la pregunta relacionada ¿ Cómo cifrar el disco completo después de la instalación?

Braiam
fuente
"Están fuera de su sistema sin posibilidades de recuperar los datos" <--- Eso es incorrecto. Siempre que uno tenga la clave de cifrado, los datos se pueden recuperar con un medio en vivo.
con-f-use el
@ con-f-use tenga en cuenta que hubo un condicional "si algo va mal", lo que significa que si algo increíblemente malo le sucede a la unidad / partición está encriptado.
Braiam el
Bueno, sí, si eres quisquilloso, también debes mantener una copia de seguridad reciente del encabezado LUKS en el disco encriptado. Pero incluiría eso en "clave de cifrado". Aparte de eso, no hay daño en el cifrado completo desde el punto de vista de recuperación de datos. Sin embargo, el hecho de que pueda saber qué versión de Ubuntu está allí, qué programas están instalados, etc. proporciona un posible vector de ataque en discos no totalmente cifrados. También los SSD generalmente lo hacen. Entonces, para los paranoicos todavía no hay forma de evitar el cifrado de disco completo.
uso
"Pero hoy en día no es necesario cifrar su partición raíz". Por favor habla por ti mismo, estoy completamente en desacuerdo. "Cifrar un disco o partición borrará todo lo que se encuentre actualmente en ese disco o partición, por lo que para cifrar un disco también debe eliminar el contenido del disco". De nuevo, no estoy de acuerdo. Truecrypt es un muy buen ejemplo de hacer FDE en Windows con discos existentes. De hecho, es el método de instalación de facto: sin cifrar y, una vez hecho, cifrarlo. No cambia la respuesta en que no es posible el cajero automático en Ubuntu, pero sus declaraciones son muy categóricas e incorrectas.
Cookie
@Cookie, ¿por qué cifrarías una partición que tiene cosas que puedes instalar más tarde? (y por favor, estoy hablando del sistema de usuario común y corriente, nada que ver con servidores corporativos / empresariales que puedan tener cosas instaladas) 2) de lo que estás hablando es de una característica de truecrypt solo disponible para Windows actualizado y si no puede encontrar un sistema de encriptación de Linux que pueda encriptar una partición después de la instalación, mi declaración es correcta ya que en este momento no es posible.
Braiam