[glux] File system criptato su chiave usb, in progress ;)
Andrea
aerdan@inventati.org
Ven 17 Feb 2006 22:11:18 CET
Come sempre il mio sistema è GNU/Debian Sarge 3.1 r0 con aggiornamenti da
security.debian.org
Per portare a termine con successo questa procedura occorre prima aver impostato
la regola udev per la chiave usb.
Quando avrò finito cercherò di fare un doc unico.
---------------------------------------------------------------------------------
Installo il pacchetto:
-cryptsetup (configura i dispositivi a blocchi crittati)
-dmsetup (gestore a basso livello di volumi logici)
-libdevmapper1.01 (librerie per l'accesso a device-mapper)
sono aggiunti:
Adding system startup for /etc/init.d/cryptdisks ...
/etc/rc0.d/S48cryptdisks -> ../init.d/cryptdisks
/etc/rc6.d/S48cryptdisks -> ../init.d/cryptdisks
/etc/rcS.d/S28cryptdisks -> ../init.d/cryptdisks
Vedere docs:
-man crypttab
-man dmsetup
-/etc/crypttab
-man cryptsetup
-/usr/share/doc/cryptsetup
-/sbin/cryptsetup --help
Per utilizzare cryptsetup occorre sicuramente un kernel > 2.6.4 con dm-crypt
compilato (staticamente o come modulo).
Per utilizzare cryptsetup occorre che il dispositivo sia identificato
univocamente vedi regole di udev.
Mi assicuro che il dispositivo non sia già stato montato altrimenti lo script:
/etc/init.d/cryptdisks
ritorna un errore e fallisce.
Aggiungo la linea seguente in /etc/crypttab
cryptousb /dev/cryptohd1 none cipher=aes,size=256,verify
Il primo campo è il nome del file che verrà creato in /dev/mapper/ e sarà il
nostro punto di accesso al filesystem, l'equivalente del primo campo nel file
/etc/fstab ma senza privo del percorso assoluto.
Ora creo un filesystem sul dispositivo montato da cryptsetup:
mkfs.ext3 /dev/mapper/cryptousb
Il modulo kernel Device Mapper permette anche l'utilizzo di file system
journaled quindi RaiserFS e Ext3.
Per avere info sul dispositivo:
# dmsetup ls
cryptousb (254, 0)
# dmsetup info cryptousb
Name: cryptousb
State: ACTIVE
Tables present: LIVE
Open count: 0
Event number: 0
Major, minor: 254, 0
Number of targets: 1
Per altri comandi vedere la man page di dmsetup.
Ora creo un file system sulla chiave usb con il solito:
# mkfs.ext3 /dev/mapper/cryptousb
Monto il file system in /media/cryptousb e verifico il risultato:
# mount /dev/mapper/cryptousb /mnt/cryptousb
# mount
[...]
/dev/mapper/cryptousb on /mnt/cryptousb type ext3 (rw)
In ultimo modifico /etc/fstab e aggiungo la linea:
/dev/mapper/cryptousb /mnt/cryptousb ext3 rw,user,noauto 0 2
A questo punto la procedura per montare e smontare la chiave usb è:
#!/bin/sh
CRYPTSCRIPT=/etc/init.d/cryptdisks
MOUNTCMD=/bin/mount
test -x $CRYPTSCRIPT || exit 0
test -x $MOUNTCMD || exit 0
# Attivo il dispositivo
$CRYPTSCRIPT restart
#Monto il filesystem
$MOUNTCMD /mnt/cryptousb
Al momento ho ancora dei problemi, il mio utente non ha permessi su:
/etc/init.d/cryptdisks
penso di risolvere con sudo ma se qualcuno ha altri suggerimenti... sono ben
accetti. Preferisco non impostare bit di SUID.
--
ð Gli uomini sono fratelli fra loro. Cessano di esserlo quando
¶ la terra viene divisa da steccati e confini.
ñ
² Heinmot-Tayala-Ket, Nez Percé
€
¯ KeyID: 5AF81406 2005-01-03 [scadenza: 2015-01-01]
3 KeyFpr: A4E2 7C7C CFC7 1B1E E405 6443 9E07 AF95 5AF8 1406
Maggiori informazioni sulla lista
glux