Cómo crear un USB encriptado para proteger datos sensibles.
2011-12-04 por David Guillermo
kaiser ~ # dd if=/dev/urandom of=/media/dguillermo/key bs=1024k count=2950 Ok, ahora que tenemos nuestro archivo, sólo nos quedaría encriptarlo, (yo compilo el Kernel Linux específico para mi máquina y sus características específicas, no comparto esa idea de usar un Kernel genérico con "20 drivers de sonido" cuando tengo una sola tarjeta de sonido). AES, Blowfish, Twofish, RC5, RC6, Serpent.
losetup -e Blowfish /dev/loop0 /media/dguillermo/key Esto nos pedirá una clave, la cual será la que usaremos para montar nuestra partición, una vez hayamos introducido la clave, tendremos que formatear esa partición, aquí lo mismo de antes depende de lo que tu kernel soporte, yo uso XFS,y llevo tiempo usándolo en la partición donde tengo los ficheros multimedia y "noto" que me va mejor que EXT4, para gustos Sistemas de Archivos ;-Þ
kaiser ~ # mkfs.xfs -f /dev/loop0 (en mi caso)
kaiser ~ # mkfs.ext4 -f /dev/loop0 (si te decantas por este sistema de archivos)
kaiser ~ # losetup -d /dev/loop0Ok, ahora les cuento el detalle para tener controlado el pendrive y añadimos una línea a udev, pero primero tenemos que saber qué modelo de USB y su Serial, lo cual descubrimos de la siguiente manera:
kaiser ~ # lsusb (vemos donde está nuestro pendrive) y después hacemos:
kaiser ~ # lsusb -v -s 009 (en mi caso) ahora añadimos el serial a /etc/udev/rules.d/97-usbkey.rules
kaiser ~ # echo "ATTRS{serial}=="AA0000000000XXXX", SYMLINK+="key" " > /etc/udev/rules.d/97-usbkey.rules
/media/dguillermo/key /media/j0d3/key xfs defaults,noauto,loop,encryption=blowfish,user 0 0
kaiser ~ # mkdir -p /media/j0d3/key
kaiser ~ # chown user:user -R /media/j0d3/*
#!/bin/bashDe está manera ya montamos y desmontamos nuestra partición de una forma fácil, sólo le damos permiso de ejecución, hacemos un link a xkey xkey+ xkey-
media=( "" /media/dguillermo/{/,key} )
umedia=( "" /media/j0d3/key /media/dguillermo/ )
case ${0##*/} in
xkey+ )
for fs in 2
do
mount /media/j0d3/key
done
;;
xkey- )
keychain --agents ssh --stop all
for fs in 1 2
do
/bin/umount ${umedia[$fs]}
done
;;
xkey )
[[ $(/bin/mount|/bin/grep -c "/media/j0d3/key/" ) -eq 1 ]] && {noticia}- || {noticia}+
;;
* )
;;
esac
kaiser ~ # chmod +x xkey
kaiser ~ # ln -s xkey xkey+
kaiser ~ # ln -s xkey xkey-
kaiser ~ # vim ~/.bashrc (y añadimos el directorio en la linea del Path):
Si no estás familiarizado con este formato, te aconsejo que lo pongas de primero
Path="~/bin:......" (guardamos los cambios)
source .bashrc
kaiser ~ # mv ~/.ssh/ /media/j0d3/key/
kaiser ~ # ln -s /media/j0d3/key/.ssh ~/.ssh/
kaiser ~ # mv ~/.config/chromium/Default /media/j0d3/key/ (está demás decir, que hay que tener el navegador cerrado para realizar está operación) ;-Ð
kaiser ~ # ln -s /media/j0d3/key/.config/chromium/Default ~/.config/chromium/Default
kaiser ~ # xkey-
kaiser ~ # cd /media/j0d3/key/
kaiser ~ # mkdir .ssh ; cp ~/path/config/que/copiamos/del/~/.ssh/
kaiser ~ # ln -s /media/j0d3/key/.ssh ~/.ssh
kaiser ~ # mkdir -p .config/chromium/
kaiser ~ # mv ~/.config/chromium/Default /media/j0d3/key/.config/chromium/