Déchiffrer son dossier personnel lors de l’identification avec pam-mount

Cas d’utilisation

Un ordinateur partagé avec plusieurs utilisateurs dont un (moi) souhaite chiffrer ses données. Je ne veux pas qu’il soit nécessaire d’entrer une phrase de passe au démarrage, ni utiliser eCryptfs (qui chiffre chaque fichier séparément). Le but est donc d’utiliser ma partition chiffrée LUKS (Linux Unified Key Setup) et d’utiliser mon mot de passe utilisateur comme phrase de passe pour déchiffrer puis monter cette partition (il est donc important d’utiliser un mot de passe identique à une des phrases de passe utilisée pour débloquer la clé de chiffrement).

Le chiffrement de la partition ne sera pas abordé ici, pour Ubuntu, vous pouvez par exemple vous référer ici : http://doc.ubuntu-fr.org/cryptsetup

Mise en place

Premièrement, vous aurez besoin du module PAM (Pluggable Authentication Module) pam-mount :

sudo aptitude install pam_mount

Ensuite, il vous faudra, le cas échéant, commenter la ligne qui sert à monter votre partition chiffrée dans /etc/fstab ainsi que la ligne correspondante dans /etc/crypttab pour éviter que le système tente de déchiffrer et monter cette partition au démarrage (avant l’identification).

Il faut maintenant indiquer à pam-mount quelle est la partition à monter en ajoutant la ligne suivante au fichier/etc/security/pam_mount.conf.xml juste avant </pam_mount> (en remplaçant jernst par le nom d’utilisateur correspondant) :

<volume user="jernst" fstype="crypt" path="/dev/sda2" mountpoint="/data" />

Il ne reste plus qu’à configurer PAM en ajoutant la ligne suivante à la fin des fichiers /etc/pam.d/common-session et /etc/pam.d/common-auth

# added for libpam-mount
@include common-pammount

Finalement, dans cet exemple, il faut encore déplacer toutes vos données personnelles vers votre partition chiffrée, puis faire un lien symbolique entre votre dossier personnel et /data.

Derniers mots

Cette technique a aussi l’avantage de vous permettre d’allumer votre ordinateur sans qu’une phrase de passe vous soit immédiatement demandée, ce qui est particulièrement utile dans des pays où la protection de votre vie privée peut vous valoir un séjour en détention ou un mauvais quart d’heure à la douane (il suffit alors de vous identifier avec un autre utilisateur).

Finalement si quelqu’un a une idée pour permettre une hibernation dans ce cas de figure (i.e. sans que la clé de chiffrement ne soit compromise, ce qui serait le cas avec une partition de SWAP), je suis preneur.

Mise à jour 14 juin 2009 : Il semblerait que depuis Jaunty, pam_mount ajoute automatiquement « session optional        pam_mount.so » dans les fichiers qui se trouvent dans pam.d ; si vous avez une telle ligne, il n’est pas nécessaire d’ajouter les lignes indiquées dans l’article à la fin de ces fichiers.

4 commentaires »

  1. Oui mais dans ton cas, tu consacre 1 partition de ton disque à 1 utilisateur… autant dire que c’est pas très optimal dans le cas d’un poste multi-utilisateurs, tu dois te retaper tout et prévoir suffisamment d’espace non-partitionné sur ton disque !

    L’idéal ce serait de combiner ça avec un montage « loop » qui permet de faire d’un fichier une partition.

    Autre (plus petit) inconvénient : tu n’as qu’un seul mot de passe pour le chiffrement ET la connexion et donc si l’on arrive à cracker l’un des deux, on a automatiquement accès à l’autre. Autrement dit, le plus faible des deux systèmes de chiffrement protège tes données et ta connexion. Ce n’est pas un problème pour l’instant, mais risque de l’être dans une dizaine d’année quand le moindre eeepc arrivera à cracker les mots de passe hashé en sha1 ou md5 ;-)

    Répondre

    jernst Reply:

    @yoho
    > autant dire que c’est pas très optimal dans le cas d’un poste multi-utilisateurs

    C’est clair, là ça joue bien pour mon cas (deux utilisateurs), mais je ne ferai pas ça dans un setup plus « compliqué » ; dans ce cas, je préférerai eCryptFS ou le cryptage d’une partition contenant tous les homedirs avec plusieurs passphrase. Néanmoins, eCryptFS n’est vraiment pas très stable selon mon expérience et il n’était pas possible jusqu’à il y a peu de crypter le nom des fichiers.

    > Autre (plus petit) inconvénient : tu n’as qu’un seul mot de passe pour le chiffrement ET la connexion et donc si l’on arrive à cracker l’un des deux, on a automatiquement accès à l’autre.

    Effectivement, mais si on ne veut pas devoir saisir deux mots de passe, je ne vois pas d’autre moyen de le faire…

    > Ce n’est pas un problème pour l’instant, mais risque de l’être dans une dizaine d’année quand le moindre eeepc arrivera à cracker les mots de passe hashé en sha1 ou md5

    Ce jour là, sha1 et md5 ne sera plus utilisé pour hasher ces mots de passes/phrases de passe ;-)

    Merci pour ton message.

    Répondre

    Commentaire by yoho — 26 mars 2009 @ 14:06

  2. [...] Si vous souhaitez faire la même opération mais en réduisant la partition plutôt qu’en l’agrandissant, vous pouvez vous référer à cet article sur le forum Ubuntu (en anglais). Si vous souhaitez déverrouiller votre partition chiffrée automatiquement lors de votre connexion (en utilisant votre mot de passe comme phrase de passe), vous pouvez lire mon article sur le sujet. [...]

    Ping by Copier et agrandir une partition chiffrée | Jonathan Ernst — 14 juin 2009 @ 9:54

  3. je veux offrir mes services a PAM

    Répondre

    Commentaire by CADET RITHODEL — 17 septembre 2009 @ 23:23

Flux RSS des commentaires de cet article. TrackBack URL

Laisser un commentaire