[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Cifrado manual de particiones (sin LVM)



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Va rapidito un esbozo de una página de ayuda sobre cifrado de
particiones, la idea es desarrollarlo con calma en we en el grupo del
hackmitin, o acá. No es la mejor solución tal vez, sólo es la que a mí
me ha funcionado. Tampoco nos metemos en ésta ocasión con volúmenes
lógicos, usaremos las viejas y confiables particiones estándar. La
próxima semana redactaremos otro con uso de LVM, agradeceremos pues
cualquier apreciación a este borrador.

El tutorial asume que cuando menos se destinó una partición especial a
/home, y se podrá trabajar desde el propio sistema GNU/Linux que ya
tenemos instalado. En caso de tener todo el sistema en una sola
partición, habrá que reparticionar primero con Gparted desde una liveUSB
o un liveCD.

Advertencia: se incluyen instrucciones para respaldar tu información
antes del cambio en tu sistema. No podemos hacernos responsables por
pérdida de información, en todo caso podemos tratar de guiarte si
decidiste seguir este procedimiento u otro con variantes.

= Preparativos =

== Instalar paquetes necesarios ==

=== Debian ===

$ sudo aptitude install cryptsetup scrub

=== Fedora ===

$ su -c 'yum install cryptsetup scrub'

== Respaldar las carpetas de usuario ==

Nota: estos pasos son necesarios si /home está en la partición que vas a
cifrar, si reparticionaste o tienes tu home en una partición distinta a
la del cifrado (por ejemplo si instalaste todo el sistema bajo una
partición), puedes saltar hasta "Creación de la partición cifrada".

Si tienen configurado sudo: $ sudo su
o
Con una cuenta de root estándar: $ su -

== Crear un punto de montaje para /home en tanto ciframos la partición
para home ==

# mkdir /opt/home

== Editar el punto de montaje para /home en las particiones montadas al
inicio del sistema ==

# nano /etc/fstab

Si hay una línea /home, la comentamos escribiendo un # al inicio.

Al final del archivo podemos insertar una nueva línea, sencilla:

/opt/home	/home	none	bind

El "none" es porque no estamos usando "otro" sistema de archivos, tan
sólo queremos "ligar" -bind- el punto /opt/home a /home, mientras
ciframos una partición para /home.

Salimos de nano guardando con Control-O (de output) y Control-X
(Usen vi si quieren ;)

== Copiamos todo bajo el /home actual al espacio provisional ==

# cp -a /home /opt/home

Si tienes duda de lo que hace la opción -a , consulta el manual con
man cp

== Terminamos la sesión para futura referencia ==

# logout
$ logout

== Reinicia el equipo ==

= Creación de la partición cifrada =

(Substituye X por la partición que representa tu futuro home cifrado)

== Primero borramos todos los datos previamente existentes ==

# scrub -p random /dev/sdaX

Nota: en la mayoría de tutoriales de seguridad encontrarás que el
borrado previo al cifrado se hace con dd if=/dev/random of=/dev/sdaX
sin embargo scrub es mucho más rápido y además maneja otros algoritmos
de borrado seguro como el Gutmann. Si quieres hacer pruebas con ambos y
reportarnos cual fue más rápido en tu sistema, sólo anota el resultado
de time. Ejemplo: # time scrub -p random /dev/sda5

== Ahora inicializamos la partición objetivo ==

# cryptsetup -v -y -c aes-xts-plain -s 512 luksFormat /dev/sdaX

Recomendamos el cifrado XTS porque CBC (predeterminado del instalador de
Debian y Fedora) es un poco más lento.

De nuevo para mayor referencia de las opciones: man cryptsetup

== Creamos el sistema de archivos en la partición cifrada ==

=== Pero primero hay que abrirla con la clave que ingresamos ===

# cryptsetup luksOpen /dev/sdaX home

Verificamos que esté presente:

# dmsetup ls

=== Creamos el sistema de archivos cifrado y un punto de montaje ===

# mkfs.ext4 /dev/mapper/home
# mkdir /opt/home_crypt

=== Lo montamos y verificamos que está presente ===

# mount /dev/mapper/home /opt/home_crypt
# df -Th | grep crypt

== Copiamos las carpetas de usuario a la nueva partición cifrada ==

# cp -a /home /opt/home_crypt

== Preparamos el sistema a montar la partición cifrada al reiniciar ==

Recuerde que para guardar sus cambios en nano debe pulsar Control-O

=== Agregue la partición cifrada a /etc/crypttab ===

# nano /etc/crypttab

Incluya esta entrada:

home /dev/sdaX luks

La entrada en /etc/crypttab hace que su computadora le pida su frase de
acceso luks al arrancar

=== Edite su /etc/fstab ===

# nano /etc/fstab

Comenté la entrada actual de /home para referencia insertando un # al
inicio de la línea, y agregue la nueva partición cifrada:

/dev/mapper/home /home ext4 defaults 1 2

=== Verifique que su nuevo home está montado y su espacio libre ===

# mount /home
# df -Th

== Reinicie el sistema ==

# shutdown -r now

= Limpieza final =

Tras reiniciar el sistema si todo funciona correctamente y sus archivos
de usuarios son accesibles, ahora es preciso borrar los respaldos antes
hechos en claro. No tendría sentido realizar el cifrado de su partición
/home si todavía queda su rastro en claro en otra parte.

== Borramos el directorio que usamos previamente como respaldo ==

# rm -Rf /opt/home

== Hacemos un borrado seguro de la información aún presente en disco ==

# scrub -X -p dod /opt/home
# rm -Rf /opt/home

Recuerde: los sistemas operativos normalmente no "borran" un archivo,
sólo olvidan preservar el espacio que ocupaban, para que no sean
ocupados por otros archivos. Esto permitiría a alguien incluso sin
grandes conocimientos técnicos acceder a información sensible.

== Comentario final sobre borrado mediante sobreescritura ==

Si usted prefiere el borrado de mayor seguridad disponible en scrub,
aplicable a archivos individuales, pruebe con el patrón Gutmann:

scrub -p gutmann archivo_sensible

Este borrado es útil en discos magnéticos, pero en dispositivos de
estado sólido como USBs y memorias SD acortará en mucho la vida de su
dispositivo, sin siquiera garantizar el borrado total. En este caso lo
más recomendable es que la información JAMÁS llegue en claro (sin
cifrar) a un medio de almacenamiento. Por ello vale la pena pensar de
antemano en la necesidad de proteger su información sensible (como
claves de acceso, datos personales, etc.)

Referencia: http://en.wikipedia.org/wiki/Gutmann_method

= Referencias =

También a tomar en cuenta para el siguiente tutorial sobre cifrado con
LVM de disco (casi)entero.

Cifrado manual en la Guía de seguridad de Fedora (en castellano):

http://ur1.ca/3du6f

How To Migrate to a full encrypted LVM system (en inglés):

http://www.debian-administration.org/articles/577

*** Invoco las críticas en el nombre del Derecho Humano # 19 :D ***

- -- 
"¿Podemos considerar a Matrix como una red social?" --@naw@identi.ca
Jesús Franco http://identi.ca/tzk
https://we.riseup.net/educar-en-libertad
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJNcGBLAAoJELFRFlXUdQodDLQP/jInIlknmaj8hJOjUWDsn0u2
yKXaesLJ+gwftgkq+QumvgXdFpY2Zgutp9tgYDwM5qnIwcSDTi3/XxE66w7/nWXh
snOcuumwz+U2cPAN82bSA2/sJnD9nRtbPLgcj7CMKutZUKrxqq8L+NOtwjYDyVgh
v13aWptLz1/KPPKBM5TDMlg3sx9LT5FqP8X2qpsFfBULATl7qf6GthMnhjLcGBep
lZUuf26h7SSUNSIb/M3Pd4vlRdB/hrUr4hP0QyyOCFStj57UVz3LMiRn9iFF0m5L
3x+l2B0iC9Dm3bKn/9Vj9+slRYeoA58T7eOd5dQGwycSSkM5Wtecd7Asl+LHNLi8
3du5a6gWb5JLTDyjP4q1zU2VozRJeJk8l533lLjpgb5C/jJNZyqTJKMuU18Bf3VA
OF+kOo0OUamdSv2NmePFtCwZxHmyMMZMKmAl86Fn7hXjcjA1W83CHb+c7T6toiL1
AWqC8vMguPUIiMfdTPmPHn7yWUMm7OFAzr+igqe+YqNUvq94Y3ekKvjfPP7WnvQl
GV+ehgJLGKf2hMOIxpM2RkK3peW3DZh2x3nRq4HnEjkYYyaoBXgzKNU9O0wxqTll
gQFCfovYnDPntp1DC1s64oVzCqZgOT1cnPtyd0YZPoeVmsnXuNedxkeWtqg1xzNT
dOYGJPlG/Y4iazNETFHk
=pXpi
-----END PGP SIGNATURE-----


Reply to: