View previous topic :: View next topic |
Author |
Message |
hashashin n00b
Joined: 22 Sep 2007 Posts: 37
|
Posted: Fri Oct 12, 2007 5:38 pm Post subject: [mini-howto] Sistema totalmente cifrado con luks(act 6/3/11) |
|
|
Nota: Actualizado 06/03/2011
En este mi primer howto y post en este foro vamos a ver como cifrar nuestros discos al instalar gentoo, la partición raíz del sistema, la swap y las otras particiones que tengamos. Me ha motivado el publicar esto porque no he encontrado ningún manual de como hacerlo en castellano y es bastante sencillo y útil sobretodo en portátiles. Depositaremos las keys en un pendrive usb para no tener que introducir una password en cada arranque del sistema al montar la partición raíz.
Este howto es para nuevas instalaciones pero podéis crearos un stage4 de vuestro sistema actual y usarlo en la instalación por ejemplo.
Necesitamos
-livecd Gentoo minimal.
-pendrive o floppy.
Bien, arrancamos el sistema con el livecd, conectamos el pendrive que queremos usar y lo montamos(también valdría un floppy) y ejecutamos:
Code: | # head -c1024 /dev/urandom > /mnt/puntomontaje/.key |
con esto creamos una llave aleatoria de 1024 bits y la guardamos en el dispositivo removible.
Imaginemos que nuestro disco está dividido así:
Quote: | /dev/sda1 >> /boot
/dev/sda2 >> swap
/dev/sda3 >> /
/dev/sda5 >> /home
/dev/sda6 >> /tmp |
Algo recomendable pero opcional seria ejecutar shred en todas las particiones para asegurarnos que todos los datos anteriores son destruidos, esto puede tardar mucho, mucho tiempo:
Code: | # shred -v -n 2 /dev/sda3
# shred -v -n 2 /dev/sda1
# shred -v -n 2 /dev/sda2
# shred -v -n 2 /dev/sda5
# shred -v -n 2 /dev/sda6 |
Una vez echo esto o si os habéis saltado este paso vamos a crear los volúmenes cifrados:
Code: | # cryptsetup luksFormat -s 256 /dev/sda3 |
nos pedirá una clave que luego usaremos para añadir la key que creamos antes. Aunque este pass se puede eliminar una vez añadida la key, es recomendable que sea una pass segura y la conservemos por si el archivo key fuera comprometido y tuviéramos que revocarlo (O sí tú perro se come el floppy/pendrive ).
Hacemos los mismo con el resto de particiones menos con la partición donde tengamos el /boot:
Code: | # cryptsetup luksFormat -s 256 /dev/sda5 |
etc...
Añadimos el archivo key que tenemos en el usb o floppy:
Code: | # cryptsetup luksAddKey /dev/sda3 /mnt/puntomontaje/.key |
Nos pedirá la clave que usamos al formatear la partición.
Hacemos lo mismo con el resto, si queremos podemos crear una key para cada partición y tenerlas en dispositivos removibles diferentes, eso ya es decisión de cada uno y de su nivel de paranoia.
Lo siguiente es hacer la particiones cifradas accesibles al sistema y formatearlas:
Code: | # cryptsetup luksOpen /dev/sda3 root
# cryptsetup luksOpen /dev/sda5 home |
la partición swap y la que usemos como /tmp no hace falta abrirlas ahora.
Si hacemos ahora un:
tendríamos que ver algo parecido a esto:
Quote: | # ls /dev/mapper/
control root home |
Formateamos las particiones cifradas con nuestro sistema de archivos preferido(creo que hay problemas con reiser4), yo usaré reiserfs 3:
Code: | # mkreiserfs /dev/mapper/root
# mkreiserfs /dev/mapper/home |
Ahora seguimos el manual de instalación de gentoo desde después prepare sus discos hasta llegar al punto de configurar el kernel. En el chroot instalamos genkernel y cryptsetup.
Code: | # emerge -av genkernel cryptsetup
# genkernel --menuconfig --luks --dmraid all |
Deberemos entrar en la sección 'Device Drivers' -> 'Multi-device support (RAID and LVM)' y activar soporte para las opciones 'device-mapper' y 'dm-crypt'. Importante compilarlas estáticamente en el kernel así como los drivers necesarios para el usb/floppy y los drivers específicos del disco duro.
Ahora seguimos con el manual de instalación hasta el punto donde tenemos de configurar grub.
El grub.conf quedaria así:
Quote: | title GNU/Linux Gentoo
root (hd0,0)
kernel /kernel-genkernel-x86_64-2.6.36-gentoo-r5 root=/dev/ram0 crypt_root=/dev/sda3 root_key=/.key root_keydev=/dev/sdXX real_root=/dev/mapper/root
initrd /initramfs-genkernel-x86_64-2.6.36-gentoo-r5 |
Explicaré un poco las opciones de luks:
crypt_root=/dev/sda3 >> particion raiz cifrada.
real_root=/dev/mapper/root >> partición raiz una vez "descrifada".
root_key=/.key >> nombre del archivo key
keydev=/dev/sdXX >> unidad removible, si no la encuentra aquí buscará en el resto de dispositivos el archivo key.
Bien ahora retocaremos el archivo /etc/fstab para dejarlo en algo así:
Quote: | /dev/sda1 /boot ext2 noauto,noatime 1 2
/dev/mapper/root / reiserfs noatime 0 1
/dev/mapper/home /home reiserfs noatime 1 2
/dev/mapper/tmp /tmp reiserfs defaults,noexec,noatime,nosuid,nodev 1 2
/dev/mapper/crypt-swap none swap sw 0 0
/dev/cdrom /mnt/cdrom auto noauto,ro,users 0 0
/dev/fd0 /mnt/floppy auto noauto 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
proc /proc proc nodev,nosuid,noexec 0 0 |
Ajustamos también el archivo de cryptsetup: /etc/conf.d/dmcrypt para dejarlo conforme a nuestra configuración:
Quote: | swap=crypt-swap
options='-s 256 -d /dev/urandom -c aes-cbc-essiv:sha256 -h sha256'
source='/dev/sda2
target=tmp
source='/dev/sda6'
key='/.key'
remdev='/dev/sdXX' # unidad removible AJUSTAR
options='-s 256 -d /dev/urandom -c aes-cbc-essiv:sha256 -h sha256'
pre_mount='/sbin/mkreiserfs -f -f ${dev}'
post_mount='chown root:root ${mount_point}; chmod 1777 ${mount_point}'
target=home
source='/dev/sda5'
key='/.key'
options="-c blowfish-cbc-essiv:sha256"
remdev='/dev/sdXX' # unidad removible AJUSTAR
post_mount='chown root:root ${mount_point}; |
Seguimos con el manual de gentoo pero cuando llegue al punto de desmontar las particiones también deberemos ejecutar esto para cerrarlas completamente:
Code: | # cryptsetup luksClose root
# cryptsetup luksClose home |
etc...
Reiniciamos, ahora tendreis un sistema cifrado y deberia preguntar por el pendrive/floppy al montar la partición. _________________ The world will end in 5 minutes. Please log out.
We are Microsoft. Unix is irrelevant. Openness is futile. Prepare
to be assimilated.
Blog
Last edited by hashashin on Sun Mar 06, 2011 2:04 am; edited 7 times in total |
|
Back to top |
|
|
sefirotsama l33t
Joined: 11 Apr 2006 Posts: 791 Location: sefirot@catalunya # cd ~
|
Posted: Mon Oct 15, 2007 7:46 am Post subject: |
|
|
Muy muy bueno, aunque no me atrevo a usarlo con un particion raiz haré pruebas con un disco externo y más tarde puede que con /home y /tmp, todo depende.
Sobretodo gracias por este manual, muy util _________________ Linux User #415604
GnuPG Key: 185F CF01 0FEE D196 D076 65E2 E3EE 52E7 7AA5 4FEB
«Dios no juega a los dados, usa /dev/random.» |
|
Back to top |
|
|
hashashin n00b
Joined: 22 Sep 2007 Posts: 37
|
Posted: Fri Oct 19, 2007 11:57 am Post subject: |
|
|
Yo lo estoy usando en el sobremesa de casa y en el portátil del curro, en ambos sin problemas y sin bajada de rendimiento apreciable. Incluso el sobremesa a sobrevivido a 2 apagones . Parece bastante sólido el tema, (cruzo dedos) igualmente si tenéis algo importante en el disco respaldarlo antes de hacer cosas de estas . Gracias por el comentario.
Salud. _________________ The world will end in 5 minutes. Please log out.
We are Microsoft. Unix is irrelevant. Openness is futile. Prepare
to be assimilated.
Blog |
|
Back to top |
|
|
hashashin n00b
Joined: 22 Sep 2007 Posts: 37
|
Posted: Sun Mar 06, 2011 1:57 am Post subject: |
|
|
He revisado el how-to para ponerlo al día que se había quedado un poco desfasado _________________ The world will end in 5 minutes. Please log out.
We are Microsoft. Unix is irrelevant. Openness is futile. Prepare
to be assimilated.
Blog |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|