Defendiendo contra la malvada criada, cómo manejar la eliminación de la partición / boot

11

Al usar el cifrado de disco completo LUKS, ¿cómo protegerías a las criadas malvadas ?

El malvado ataque de mucama es cuando alguien obtiene acceso físico a su computadora mientras usted está ausente y compromete la partición no encriptada / de arranque para capturar su contraseña de FDE la próxima vez que inicie su computadora

Una de las soluciones es dejar su partición / boot en una memoria USB que siempre esté con usted (la criada no puede acceder a ella), pero qué sistema de archivos debo usar y cómo configuro mi sistema para manejar con gracia la eliminación de la memoria USB (y, por lo tanto, la partición / boot en sí)?

Estoy usando CentOS, pero las respuestas genéricas, distro-agnósticas son, por supuesto, bienvenidas. Gracias.


fuente

Respuestas:

5

Finalmente lo descubrí. Esto todavía se siente muy sucio y sucio porque el sistema nunca se da cuenta de que /bootno se puede montar y tendrá que montarlo manualmente antes de hacer cualquier cosa que pueda escribirle (piense en las actualizaciones del sistema, etc.), pero aparte de eso, funciona perfectamente .

  • prepare su unidad flash con una sola partición con el indicador de inicio configurado. Puede ejecutarlo shred -n 1 -v /dev/sdXpara borrarlo por completo, incluidos los sectores de arranque anteriores; Una vez hecho esto, ejecute fdiskpara crear una partición y mkfsel sistema de archivos que elija.
  • monte su unidad flash en algún lugar, /mnt/booto incluso funcionará /newbootbien.
  • moverse sobre todo desde /bootla unidad flash con mv /boot/* /newboot.
  • edite su /etc/fstaby cambie el UUID de la partición de arranque original (o cree una entrada si no hay ninguna) para que coincida con la de su unidad flash. Puede obtener el UUID con lsblk -o name,uuid. Agregue también la noautoopción para que la unidad no se monte automáticamente para poder quitarla tan pronto como el sistema comience a arrancar (una vez que se carga el núcleo) sin correr el riesgo de corromper el FS.
  • desmonte la partición de arranque original y la unidad flash ( umount /boot && umount /newboot) y monte la unidad flash; si su entrada de fstab es correcta, simplemente puede ejecutarla mount /booty la montará automáticamente según el UUID especificado en fstab.
  • regenere la configuración de su gestor de arranque para reflejar los UUID y la posición "física" de la nueva partición, para GRUB la unidad flash aparecerá como el primer disco duro en la computadora ( hd0). Si está de acuerdo con el uso de los scripts de configuración GRUB predeterminados proporcionados por la mayoría de las distribuciones, puede ejecutar grub-mkconfig -o /path/to/grub.cfgy generará el archivo de acuerdo con las particiones montadas actualmente y / o fstab. Tenga en cuenta que para CentOS 7, lo correcto grub.cfgse encuentra realmente en /boot/grub2/grub.cfg.

Cuando realice cualquier operación que pueda acceder a la partición de arranque, conecte su memoria USB y ejecútela mount /boot. Una vez hecho esto, puedes correr umount /boot. Tenga en cuenta que el último comando puede tardar unos minutos en completarse porque está volcando los búferes al disco (el disco en sí es lento, por lo que el núcleo guarda algunas operaciones de escritura para acelerar las cosas).


fuente
No está sucio en absoluto, es la forma más obvia de hacerlo. ¡Gracias por escribirlo!
dbanet
0

Otro enfoque para este problema en particular es usar el TPM para almacenar una clave de cifrado, pero la defensa depende del usuario para que sea efectiva. Una solución rudimentaria basada en RHEL7 es tpm-luks ( https://github.com/GeisingerBTI/tpm-luks ).

La forma en que funciona es en el arranque, cada paso del proceso de arranque mide el siguiente y almacena esta medición en los PCR en el TPM. Una vez que se completa el proceso de arranque, tpm-luks verifica el estado de los PCR contra una configuración de "bien conocido". Si se encuentra en una configuración "conocida", el TPM abrirá la clave LUKS y tpm-luks pasará estos datos para desbloquear la partición LUKS raíz.

Debido a que todo lo importante se mide con un hash criptográfico, esencialmente no hay forma de que una criada malvada reemplace su GRUB / kernel / ramdisk para recopilar nefastamente su frase de contraseña FDE. Como una ventaja adicional, ¡no necesitas una frase de contraseña FDE en absoluto! En teoría, podría eliminar por completo la frase de contraseña legible para humanos y confiar completamente en tpm-luks, pero si sigue esa ruta, probablemente sea una buena idea almacenar su encabezado LUKS y mantenerlo como una copia de seguridad.

Como mencioné, esto requiere cierta diligencia en el usuario. Si ha dejado la computadora desatendida y se le presenta una solicitud de frase de contraseña, probablemente sea una mala idea escribirla hasta que haya realizado algunas investigaciones. En ese punto, debe iniciar en un entorno de CD en vivo y echar un vistazo para ver si hay un error en tpm-luks, o si la /bootpartición realmente se alteró. Todavía está dejando la /bootpartición sin cifrar, pero si se modifica algo importante, el disco principal nunca se descifra.

John Wallace
fuente