[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