Slackware Mini-how-to
Copyright (c) 2004 LACAVA ROBERTO è garantito il permesso di copiare,
distribuire e/o modificare questo documento seguendo i termini della Licenza per
Documentazione Libera GNU, Versione 1.1 o ogni versione successiva pubblicata
dalla Free Software Foundation; senza Sezioni Non Modificabili, nessun Testo Copertina.
Una copia della licenza è acclusa nella sezione intitolata "Licenza
per Documentazione Libera GNU".
Criptare una partizione su slackware con dm_crypt (kernel 2.6)
La crittografia e' l'unica risposta adeguata, quando si vuole proteggere veramente la riservatezza dei dati presenti in un computer,
essa infatti grazie a funzioni matematiche complesse ( la crittrografia e' un ramo della matematica) ripara i nostri dati da occhi indiscreti.
I sistemi operativi moderni, prevedono e usano in maniera trasparente molte utility per crittografare i dati, i quali sono piu' o meno efficaci, ma alle volte si svelano disastrosi, facendoci perdere dati e tempo.
Come proteggersi?
La soluzione migliore per linux e' criptare le partizioni/files con la nuova feature del kernel, dm_crypt;
ecco le caratteristiche:
- Usa algoritmi potenti e veloci
- E' trasparente al sistema
- Assicurare delle buone prestazioni
Lista della spesa
Slackware 10.0 (funziona anche su versioni precedenti)
Sorgenti compilati del kernel 2.6 (Testato dal 2.6.7)
Moduli cryptoapi
Loopback con modulo cryptoloop
La prima cosa da fare e' ricompilare il kernel, scaricando la versione "Vanilla" dal sito kernel.org; scegliendo un kernel > 2.6.4 ed abilitando queste scelte:


Se compilati come moduli dovreste avere questi moduli:
twofish
sha256
serpent
des
crc32c
cast5
arc4
sha512
sha1
michael_mic
md4
md5
cast6
blowfish
aes
Preparazione del sistema
Bisogna preparare il sistema ad usare la partizione cryptata, lancia questi comandi per preparare il filesystem e il device loop.
Fai attenzione a cambiare:
aes con l'algoritmo preferito
/dev/loop2 con il device mapper da usare (attenzione alla scelta)
/dev/hda666 con la partizione da cryptare (attenzione alla scelta)
/sbin/losetup -e aes /dev/loop2 /dev/hda666
Password:
Scegli una password minimo di 8 caratteri, diversa da quelle usate si d'ora.
Una volta creato il device mapper /dev/loop2
Puoi procedere con la creazione del filesystem sulla partizione
mkfs.ext2 /dev/loop2
Si preferisce il filesystem ext2 poiche' non effettua nessun caching dei dati, che in alcuni casi potrebbero far perdere i dati presenti nella partizione cryptata
Puoi Adesso montare la partizione nella cartella preferita
Cambia la cartella di destinazione: /mnt/dati
mount -t ext2 /dev/loop2 /mnt/dati
Script d'avvio: /etc/rc.d/rc.cryptospace
Una volta compilati ed installati i moduli, scaricati questo piccolo file shell scritto da me per automotizzare la procedura di creazione e attivazione di una partizione cryptata:
#!/bin/bash
### Inserisci qui la partizione del sistema da crittografare
CRYPT=/dev/hda666
### Inserisci qui la partizione LOOP da usare
LOOP=/dev/loop2
#### Selezionare la cartella dove montare la partizione criptata
DEST=/crypt
### Seleziona un algoritmo di compressione
### decommentando quello preferito
#ALG=twofish
#ALG=sha256
#ALG=serpent
#ALG=des
#ALG=cast5
#ALG=sha512
#ALG=sha1
#ALG=cast6
#ALG=blowfish
ALG=aes
case "$1" in
start)
echo -n "Initializing encrypted space...."
/sbin/losetup -e $ALG $LOOP $CRYPT
/bin/mount -t ext2 $LOOP $DEST
/bin/chmod 1777 $DEST
echo "done."
;;
stop)
echo -n "Umounting encrypted User space..."
/bin/umount $DEST
/sbin/losetup -d $LOOP
/bin/sync
echo "done."
;;
status)
/bin/mount | /bin/grep loop
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0{start|stop|restart|status}"
exit 1
esac
Oppure scaricarla da qui rc.cryptospace
cd /etc/rc.d
wget http://www.baslug.org/vega/rc.cryptospace
chmod a+x /etc/rc.d/rc.cryptospace
***** ATTENZIONE!!! (WARNING !!!) *****
Modifica il file shell con i tuoi dati
altrimenti potresti perdere alcuni dati...
Modifiche del sistema
Una volta scaricato o ricopiato il file, puoi procedere alla modifica dei file d'avvio di slackware
edita il file /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
Ed aggiungi le righe come segue:
if [ -x /etc/rc.d/rc.cryptospace ]; then
. /etc/rc.d/rc.cryptospace start
fi
Aggiungi queste righe all'unizio del file, sotto la dichiarazione del PATH; /etc/rc.d/rc.6
if [ -x /etc/rc.d/rc.cryptospace ]; then
. /etc/rc.d/rc.cryptospace stop
fi
Lo script alla partenza del sistema, chiederà la password per decifrare i dati presenti nella partizione
Attenzione,
Dm_crypt e' presente solo con kernel successivi al 2.6.4 |