Précédent   Forum des professionnels en informatique > Systèmes > Linux > Sécurité
Sécurité Vos questions sur la sécurité sous Linux/Unix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 30/12/2009, 16h15   #1
Invité de passage
 
Inscription : juin 2008
Messages : 52
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 52
Points : 2
Points : 2
Par défaut cryptage de ma partition racine

Bonsoir,
je souhaite crypter ma partition root de mon système debian et mettre la clé de cryptage sur une clé USB.

voici les étapes que j'ai suivi mais ca ne marche pas
alors je demande de l'aide.

voici ma configuration:

je monte un système raid1 logiciel sur 4 disques

sdb est l'image de sda
sdd est l'image de sdc

il y a 3 partitions sur sda(sda1 -->/ ; sda2 ---> boot sda3 ---> swap)

après la configuration raid1 logiciel voici comment les choses se présentent sans la partition swap:

dans /dev/md1 il y a (sda1 et sdb1)
dans /dev/md2 il y a (sda2 et sdb2)

sans formater le /dev/md1 je fais ce qui suit:

cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/md1
Après la saisie de la commande, on saisi le mot ‘YES’ (en majuscule) à la première invite et un passphrase que nous devons retenir pour dechiffer la partition à chaque démarrage du système.

après on Déverrouille le volume chiffré, je fais
cryptsetup luksOpen /dev/vg1/md1 cryptroot (cryptroot est le nom donnée à ma partition déverrouillé.
on peut accéder au périphérique en utilisant /dev/mapper/cryptroot
je formate le volume crypté en système de fichiers de type ext3.
mkfs.ext3 /dev/mapper/cryptroot

Ensuite, il faut ajuster /etc/mdadm/mdadm.conf (qui ne contient aucune information sur nos nouveaux tableaux RAID encore) à la nouvelle situation et tapant la commande suivante:

:~# cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig

:~# mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Maintenant, nous allons monter /dev/mapper/cryptroot
mkdir /mnt/cryptroot
mount /dev/mapper/cryptroot /mnt/cryptroot

ensuite modifier le fichier /etc/fstab en remplacant /dev/sda1 en /dev/mapper/cryptroot
dans le fichier /etc/mtab /dev/mapper/cryptroot est deja present.
ensuite déclarer le volume crypté dans le fichier /etc/crypttab :
echo "cryptroot /dev/md1 none luks" > /etc/crypttab
on copie les contenus de /dev/sda1 vers /dev/mapper/cryptroot.
cp -dpRx ./ /mnt/cryptroot

maintenant, il faut monter la clé de chiffrement sur support externe
Montage de la clé USB

Nous formatons le disque en système de fichiers ext3 et créons un point de montage media/ext_keys :

:~# mkfs.ext3 /dev/sdg1

:~# mkdir /media/usb_key

:~# mount /dev/sdg1 /media/ usb_key
Nous créons un fichier avec une extension .key que nous nommons pass.key
Ajout de la key

On ajoute la key comme clé de la partition
:~# cryptsetup luksAddKey /dev/cryptroot /media/ usb_key /pass.key

Montage automatique de la clé USB

Nous devons faire en sorte que la clé USB soit monté automatiquement au démarrage du système. Nous éditons donc le fichier /etc/fstab en y déclarant la clé USB en fin de ligne comme suit:
/dev/sdg1 /media/cle_usb auto defaults,noauto 0 0

Remplaçons dans /etc/crypttab l’option ‘none’ par /media/ usb_key /pass.key de sorte à ce que le fichier se présente comme suit:
et la suite
cryptroot /dev/md1 none luks,keyscript=/sbin/keyscript.sh
Editons enfin le fichier /etc/default/cryptdisks et insérons /media/sdg1 dans l’option CRYPTDISKS_MOUNT comme suit :

vi /etc/default/cryptdisks

[...]

CRYPTDISKS_MOUNT=’’/media/sdg1’’

[...]

dans le fichier keyscript.sh voici le scrypte
#!/bin/sh
#Fichier /sbin/keyscript.sh

KEY=root.key
USB=/dev/sda1

/sbin/modprobe usb-storage

[ -d /usb ] || /bin/mkdir /usb

#Remarquez le 1>&2. Quand ce script est appelé,
#tout ce qui sort sur stdout est considéré comme étant la key,
#on redirige donc stdout dans stderr.

/bin/busybox echo "Patientez le temp de monter la partition." 1>&2

if [ ! -f /usb.mount ]
then
stat=1
for i in 1 2 3 4 5 6 7 8 9 10 #on evite {0..10}, c'est un shell minimum.
do
if [ -b $USB ]
then
/bin/mount -t vfat -o ro,umask=277 $USB /usb
stat=$?
break
else
/bin/busybox echo -n . 1>&2
/bin/sleep 1
fi
done
fi

/bin/busybox echo 1>&2

if [ $stat -eq 0 ]
then
/bin/busybox touch /usb.mount
if [ -e /usb/$KEY ]
then
/bin/cat /usb/$KEY
/bin/umount /usb
/bin/busybox rm /usb.mount
else
/bin/busybox echo "Impossible de trouver le fichier : $KEY" 1>&2
/lib/cryptsetup/askpass "Veuillez entrer votre passphrase : "
fi
else
/bin/busybox echo "Impossible de monter la partition." 1>&2
/lib/cryptsetup/askpass "Veuillez entrer votre passphrase : "
fi

/bin/busybox rmdir /usb

mais ça ne marche pas
mipou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2010, 16h15   #2
Membre éprouvé
 
Ingénieur sécurité
Inscription : février 2007
Messages : 433
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Australie

Informations professionnelles :
Activité : Ingénieur sécurité
Secteur : Industrie

Informations forums :
Inscription : février 2007
Messages : 433
Points : 414
Points : 414
Salut,
J'ai regardé en diagonal, mais ta démarche à l'air bonne. Par contre, je me rappelle avoir utilisé un script similaire qui ne marchais pas. Je crois me rappeler que l'erreur était que cat renvoi un retour ligne à la fin du fichier, ce qui invalidai ma clé.
Oubli pas de remplacer 1>&2 par 1>&2.
Je me rappelle aussi que tout ce qui sort sur la sortie standard est considéré comme la clé, donc fais bien attention.
J'ai un script fonctionnel chez moi, je regarderai bientôt.
Pour augmenter la sécurité, tu peux générer une clé aleatoire depuis /dev/random et t'en servir dans ton pass.key.
Ah aussi, oublie pas de mettre à jour l'initramfs à chaque changement du script, sinon tes changements ne seront pas pris en compte.
Bon courage.
dahtah est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 06h57.


 
 
 
 
Partenaires

Hébergement Web