Ayuda OnLine de GULiC
Encriptado del directorio home de tu usuario en Debian Lenny
Ten tu home encriptado en 4 pasos, para evitar fugas de datos si te roban tu portátil, o te lo dejas por ahi olvidado, o simplemente para que otros usuarios de tu equipo (incluso root) lo tengan más difícil para verlos.
El reto: Quieres que tu home esté en una partición encriptada, y con pam-mount, que cuando hagas login, reutilice la clave del login como clave para desencriptar la partición.
El reto es la configuración más sencilla. Hay configuraciones más complejas, pero como quiero sencillez para hacerlo en todos mis equipos… se queda así. Para este ejemplo, supongamos que el usuario alberto quiere tener la partición /dev/sda6 para su home. Bueno, esto no es una suposición, es la realidad
. Hacer esto en Debian Lenny son 4 pasos:
- Instalamos el software:
apt-get install cryptsetup cryptmount libpam-mount
- En /etc/pam.d/common-login, /etc/pam.d/common-*dm (o sea en los servicios en los que creas necesario montar tu home, salvo ssh -mirar nota al pie-) apendizar al final:
@include common-pammount
- Buscamos una particion vacía y la formateamos como encriptada (pide la password, poner la del login)
luksformat -t ext3 /dev/sda6
- Contenido de /etc/security/pam_mount.conf.xml donde definimos que unidades se desencriptan al hacer login el usuario:
<xml version="1.0" encoding="utf-8" ?> <!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd"> <pam_mount> <debug enable="0" /> <volume user="alberto" path="/dev/sda6" fstype="crypt" mountpoint="/home/alberto" /> </pam_mount>
Cuando se activa esto, el sistema queda configurado así para todos los usuarios. Repitiendo los dos últimos pasos, podemos habilitar esto para otros usuarios, y que cada uno cuando hace login, monte lo que necesite, y se desmonte al hacer logout. Las nuevas unidades no tienen porque ser discos internos pueden ser incluso usb.
Si se te ofrece montar manualmente la particion escribes lo siguiente y te preguntará la clave:
mount -t crypt /dev/sda6 /mnt/tmp/
Ojo: Si cambias la contraseña del usuario, debes cambiar la contraseña de la partición encriptada. Esto se hace como root, con
cryptsetup luksDump /dev/sda6 # mirar cryptsetup luksAddKey /dev/sda6 # agregar clave a la existente cryptsetup luksDump /dev/sda6 # mirar cryptsetup luksRemoveKey /dev/sda6 0 # quitar la previa cryptsetup luksDump /dev/sda6 # mirar
Como has visto, luks permite que un dispositivo tenga varias claves de desencriptado, simplemente agregándolas. Además, el parámetro ‘user=xxx’ del fichero xml es opcional. Estas dos cosas nos permitirían poder hacer unidades comunes que cuando entre uno de hasta 8 usuarios, se monten.
Otra nota: Si usas crontab -e frecuentemente, ten en cuenta que mientras el equipo esté encendido y no has hecho login, está lanzándose pero sobre un directorio vacío. Por tanto, es necesario que agregues comprobaciones de existencia de cosas antes de ejecutar tus scripts. Si no, te expones a que se te llene el correo de mensajes de error de cron. De esta forma:
*/15 * * * * test -d ~/bin/ && ~/bin/leer_correo.sh
Y por ultimo, si encriptas un dispositivo removible y lo llevas a un gnome o kde, el uso es transparente ya que lo detectan y pide la clave. Y en un windows también se pueden leer, tienes que usar http://www.freeotfe.org/ (pero entiendo que los tienes que formatear en vfat o ntfs).
Actualizacion 1: La primera configuración tenía un problema, y es que al incluirlo en common-session y common-auth, cosas por ejemplo como ‘cron’ sufrían cuando pammount les pedia contraseña. Por tanto, hay que ser más conservador, y meter pammount solo en los servicios que usemos que hagan login. Con ssh hay que hacer algún cambio más. Toda la información en:
zless /usr/share/doc/libpam-mount/README.Debian.gz
- blog de amd77
- Añadir nuevo comentario
- 419 lecturas
- Enviar Blog entry



