Monter automatiquement un lecteur chiffré lors de la connexion de l'utilisateur

18

Un répertoire / home chiffré est monté automatiquement pour moi lorsque je me connecte. J'ai un deuxième disque dur interne que j'ai formaté et chiffré avec Disk Utility. Je veux qu'il soit automatiquement monté lorsque je me connecte, tout comme mon répertoire / home crypté. Comment puis-je faire cela?

Il y a plusieurs questions très similaires ici, mais les réponses ne s'appliquent pas à ma situation. Il serait peut-être préférable de fermer / fusionner ma question ici et de modifier la deuxième ci-dessous, mais je pense qu'elle a peut-être été abandonnée (et donc ne jamais être marquée comme acceptée).

Cette solution n'est pas une méthode sécurisée, elle contourne le cryptage.
Celui-ci nécessite une modification fstab, ce qui nécessite la saisie d'un mot de passe supplémentaire au démarrage. Ce n'est pas automatique comme le montage / la maison.
Cette question est très similaire, mais ne s'applique pas à un lecteur chiffré. La solution ne fonctionnera pas pour mes besoins.
En voici un mais c'est pour les disques NTFS, le mien est ext4.

Je peux reformater et rechiffrer le deuxième disque si une solution l'exige. J'ai toutes les données sauvegardées ailleurs.

Tom Brossman
la source
Quel FS utilisez-vous pour le chiffrement? LUKS ou ecrytpfs?
marguerite
@AaronLewis J'utilise simplement l'Utilitaire de disque d'Ubuntu pour formater le disque, puis cochez la case «crypter ce disque». Si je devais deviner, j'irais avec ecryptfs, car c'est ainsi que / home est crypté par défaut. Puisqu'il est si facile à faire, je ne l'ai jamais étudié.
Tom Brossman

Réponses:

5

Vous n'avez plus besoin des solutions ci-dessus.

Conditions préalables:

Remarque: cette méthode est moins sécurisée que le montage manuel d'un lecteur chiffré. Si quelqu'un a un accès physique à votre ordinateur, vous ne faites pas attention à votre mot de passe root ou votre ordinateur a plusieurs utilisateurs / comptes invités, cette méthode n'est pas sécurisée ; le lecteur secondaire reste monté lorsque vous vous déconnectez, mais n'arrêtez pas le système, de sorte que son contenu est visible pour les autres utilisateurs.

Partie 1: crypter le lecteur secondaire.

  1. Dans le tableau de bord Unity, tapez "disques" et appuyez sur Entrée.
  2. Sous "Appareils", cliquez sur le disque dur que vous souhaitez crypter.
  3. Sous "Volumes", cliquez sur le bouton cog / more actions.
  4. Cliquez sur "Formater le volume". Pour le type, choisissez «Chiffré, compatible avec les systèmes Linux». Nommez votre lecteur et donnez-lui une phrase de passe forte.
  5. Cliquez sur "Format"

Partie 2: Montez automatiquement le disque dur au démarrage du système.

  1. Gardez l'application "Disques" ouverte et cliquez sur le rouage.
  2. Cliquez sur "Modifier les options de cryptage".
  3. "Options de cryptage automatique" sera activé et le menu ci-dessous est grisé. Désactivez les options de cryptage automatique.
  4. Saisissez la phrase de passe à partir du moment où vous avez formaté le disque. Cliquez sur OK".

Vous disposez désormais d'un disque dur chiffré qui se montera automatiquement au démarrage de votre ordinateur.

tryion
la source
1
Bien que je sois sûr que quelqu'un aura une utilité pour cela, ce n'est pas une réponse à la question posée, qui spécifie que le montage secondaire doit se produire lors de la connexion de l'utilisateur, par opposition au démarrage du système. Cela rend la déclaration initiale selon laquelle "vous n'avez plus besoin des solutions ci-dessus" inappropriée, et j'invite l'auteur à reformuler la réponse en conséquence.
mc0e
2
Je pense que vous vous trompez ici. Autrement dit, le montage secondaire se produit lors de la connexion de l'utilisateur (uniquement sur le compte sur lequel l'opération que j'ai mentionnée a été effectuée) et pas une seconde avant. Lorsque ma femme se connecte à son compte Ubuntu sur le même ordinateur, le lecteur n'est pas monté. Si elle essaie de le monter, il demande la clé de cryptage. Je maintiens, vous n'avez pas besoin des réponses ci-dessus.
tryion
1
D'accord, c'est de loin le moyen le plus simple, car je suis le seul utilisateur de la machine. Cela ne fonctionnera pas pour tout le monde, mais si vous avez une installation Ubuntu et que vous êtes l'utilisateur principal / administrateur, c'est la voie à suivre. Il devrait vraiment y avoir une grande case à cocher "Faire fonctionner cela exactement comme crypté / home" quelque part, c'est un cas d'utilisation simple.
Tom Brossman
@tryion La partition LUKS est déverrouillée au démarrage du système, mais pas montée. Ainsi, dès que l'ordinateur est allumé, il est aussi accessible qu'une partition non chiffrée. Le mot de passe est stocké en texte clair dans /etc/crypttab. Aucun mot de passe utilisateur n'est nécessaire pour accéder à la partition. Ce paramètre équivaut donc à ne pas avoir de chiffrement du tout et ne répond pas à la question.
Victor
Existe-t-il des options pour le stocker ailleurs en utilisant libsecret pour décrypter pour un utilisateur spécifique, et existe-t-il un guide cli pour cela pour les utilisateurs non GUI / sans tête.
MrMesees
10

Lorsque j'ai écrit cette réponse il y a quelques années, c'était la meilleure façon de mettre en œuvre la solution. Je suggère maintenant que vous regardiez la réponse suivante en utilisant plutôt mount.ecryptfs_private.

Je cherchais également un moyen de monter automatiquement un deuxième volume eCryptfs. La collection suivante de scripts et de modifications de configuration montera en toute sécurité et automatiquement votre volume lors de la connexion, soit à l'interface graphique soit à l'interface CLI.

Il existe une meilleure solution en cours de création (bien que je ne pense pas tout à fait prêt pour le montage automatique lors de la connexion de l'utilisateur, en tant que tel, ce script aura une durée de vie limitée.):

ecryptfs sur un disque dur trop petit - comment ajouter des liens dans le cryptage?

La sécurité des scripts dépend du cryptage de votre répertoire personnel avec eCryptfs afin que le script et les fichiers avec le mot de passe pour déballer votre phrase secrète soient cryptés. Si vous laissez votre ordinateur déverrouillé avec un shell root ouvert après la connexion, il sera possible d'accéder aux mots de passe, cependant l'utilisation de sudo NOPASSWD permet un montage sécurisé de la partition sans nécessiter la saisie du mot de passe ou laisser la phrase secrète dans un fichier lisible par l'utilisateur.

Une déficience connue de ces scripts est que votre deuxième volume ne sera pas démonté à la déconnexion, en tant que tel, il n'est pas particulièrement adapté aux systèmes multi-utilisateurs.

Ma solution est implémentée en plusieurs parties, deux scripts shell, l'un qui effectue le montage réel et l'autre qui sert de wrapper pour cela.

C'est le script wrapper qui valide si le répertoire est déjà monté, s'il ne l'est pas alors il appellera le script de montage en utilisant sudo:

/ home / johnf / scripts / automount_ecryptfs

#!/bin/bash

MOUNT_POINT=/home/johnf/slow

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  sudo /home/johnf/scripts/mount_other_ecryptfs
fi

Ce script appelle / home / johnf / scripts / mount_other_ecryptfs qui est comme suit.

Notez que ce script suppose que le cryptage du nom de fichier est activé.Si vous ne le faites pas, il sera nécessaire de modifier le script pour gérer la détection (regardez ecryptfs-restore-private) ou vous pouvez supprimer l'option de montage ecryptfs_fnek_sig.

Voici le script / home / johnf / scripts / mount_other_ecryptfs:

#!/bin/bash

ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG=`head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
ECRYPTFS_FNEK_SIG=`tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`

printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}

Vous devrez également créer un fichier contenant votre mot de passe, ce fichier sera utilisé par la commande de montage eCryptfs:

/ home / johnf / scripts / ecryptfs_passphrase:

passwd=secret_passphrase

Vous devez modifier les autorisations sur plusieurs fichiers:

chmod +x /home/johnf/scripts/automount_ecryptfs
sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase

Avant de créer les scripts, vous devez créer une configuration sudoers pour permettre l'exécution du script de montage à l'aide de sudo sans entrer votre mot de passe sudo.

Ajoutez ce qui suit à / etc / sudoers (ou à un fichier dans /etc/sudoers.d). Vous voudrez remplacer johnf par votre nom d'utilisateur. Il est nécessaire d'utiliser un chemin absolu vers le script de montage.

johnf   ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs

La dernière étape consiste à appeler le script automount_ecryptfs à la connexion.

Sur Ubuntu Unity (et probablement gnome), utilisez l'applet Startup Applications pour créer un nouveau programme de démarrage qui appelle / home / johnf / scripts / automount_ecryptfs.

Pour monter automatiquement le deuxième volume eCryptfs lors de la connexion dans un shell bash, vous souhaiterez modifier votre fichier ~ / .bashrc. Ajoutez ce qui suit:

/home/johnf/scripts/automount_ecryptfs

Avec cette configuration en place, vous devez maintenant monter automatiquement votre deuxième volume eCryptfs.

johnf
la source
Wow, bonne réponse! Surévalué et accepté. Je ne peux pas encore le tester mais cela semble très complet.
Tom Brossman
L'auteur de mount.ecryptfs_privatenow recommande l'utilisation ecryptfs-mount-private, également par lui, qui est un script wrapper pour mount.ecryptfs_private. thesimplecomputer.info/… peut valoir la peine d'être lu pour les mérites relatifs d'ecryptfs et de LUKS.
mc0e
9

En s'appuyant sur la réponse de @ johnf mais en utilisant plutôt mount.ecryptfs_private :

  • chiffré /home/bob/(par exemple sur un SSD), en utilisant la magie du répertoire d'accueil chiffré normal d'Ubuntu.
  • crypté /media/hdd/bob_extra/(par exemple sur un disque dur), à monter sur /home/bob/extra. Cela devrait se monter automatiquement lors de la connexion, tout comme le répertoire home.
  • utilisez les mêmes clés / informations d'identification pour les deux.

le créer

mkdir /media/hdd/bob_extra
cp /home/bob/.ecryptfs/Private.sig /home/bob/.ecryptfs/extra.sig
echo "/media/hdd/bob_extra /home/bob/extra ecryptfs none 0 0" > /home/bob/.ecryptfs/extra.conf

Essaye-le

mount.ecryptfs_private extra

en cours d'exécution mount, vous devriez voir:

...
/media/hdd/bob_extra on /home/bob/extra type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=12345678abcdef,ecryptfs_fnek_sig=abcdef12345678)

à démonter:

sudo umount /media/hdd/bob_extra

configuration du montage automatique

Créez /home/bob/bin/automount_ecryptfs.extra, qui le montera s'il n'a pas déjà été monté.

#!/bin/bash

MOUNT_POINT=/home/bob/extra

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  mount.ecryptfs_private extra
fi

Rendez-le exécutable ( chmod +x), puis ajoutez-le dans /home/bob/.bashrc:

...
/home/bob/bin/automount_ecryptfs.extra

Ajoutez-le également aux applications de démarrage de Gnome.

rcoup
la source
+1 Merci pour la réponse. J'ai maintenant une configuration beaucoup plus compliquée avec plusieurs SSD et des liens symboliques vers un lecteur partagé, donc je ne pourrai pas tester cela. J'espère que le cryptage de plusieurs disques durs sera aussi simple que le cryptage / home un jour.
Tom Brossman
Voir aussi ecryptfs-mount-privatece qui est similaire plus en vedette. Par exemple, il peut utiliser automatiquement une clé du trousseau de clés de l'utilisateur.
mc0e
Cette réponse concerne le montage d'un répertoire privé eCryptfs. La question concernait le montage d'une partition LUKS créée avec l' utilitaire Disks .
Victor
1

Créez un script dans votre répertoire personnel chiffré ~/scripts/mount_storage.sh::

#!/bin/bash

sudo cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file ~/keys/storage_keyfile
sudo mount /dev/mapper/storage /storage

Ajouter à "Applications de démarrage":

sh ~/scripts/mount_storage.sh

Ajouter à /etc/sudoers:

%sudo   ALL= NOPASSWD: /sbin/cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file *
%sudo   ALL= NOPASSWD: /bin/mount /dev/mapper/storage /storage

Vous devez avoir créé le /storagepoint de montage et changer l'UUID dans le script ci-dessus (trouvez-le avec blkid).

Raul Laasner
la source
Existe-t-il un moyen simple d'exécuter un script comme celui-ci chaque fois qu'un port USB est branché?
naught101
Je n'ai pas essayé cela moi-même, donc je ne peux pas le dire avec certitude, mais je ne vois pas pourquoi. Vous devez créer une règle udev qui cible un périphérique USB spécifique et exécute le script ci-dessus. Ce message pourrait être un point de départ, par exemple.
Raul Laasner
0

Je crains que cela ne soit pas une réponse populaire ...

Il ne sera pas possible de monter automatiquement une partition chiffrée sans contourner la sécurité du chiffrement lui-même.

Réfléchissez à ce que signifie « automatiquement » et comprenez que cela signifie automatiquement qu'ils pourront également voir vos données.

Dustin Kirkland
la source
J'ai utilisé «en toute sécurité» subjectivement, je pouvais le supprimer de la question. Je veux juste que le lecteur crypté plein de photos soit monté lorsque je me connecte, tout comme / home. Je sais que cela est théoriquement possible, car j'ai un troisième lecteur (également crypté) comme destination pour Déjà Dup. Ce lecteur n'est monté que lorsque l'utilitaire de sauvegarde démarre. Entièrement automatique, j'ai la clé enregistrée, donc je ne la saisis pas à chaque fois. Je suis à l'aise avec le fait que toutes mes clés soient traitées automatiquement après avoir entré mon mot de passe sur l'écran de connexion. Une idée de comment y arriver? Merci.
Tom Brossman
3
Automatiquement dans ce contexte signifie qu'il doit être monté après avoir entré votre mot de passe de connexion. Votre mot de passe de connexion peut être la clé, ou plus souvent la clé de la clé, de votre partition chiffrée. Ceci est raisonnablement sécurisé (donnant un bon mot de passe de connexion).
Javier Rivera
Il ne sera pas monté automatiquement sur un autre ordinateur, c'est pourquoi la plupart d'entre nous chiffrent certains disques. Dans mon cas, c'est un disque que j'utilise pour faire des sauvegardes. Je travaille dans un espace partagé et je sais que l'un d'entre vous avec beaucoup de connaissances pourra contourner tout ce que je fais avec l'accès physique à mon disque / ordinateur: je veux juste réduire l'accessibilité à mes fichiers pour que n'importe qui d'autre puisse ne le fais pas.
Ramon Suarez du
En en faisant un processus automatique, serait-il possible que quelqu'un qui vole votre ordinateur puisse accéder à la clé de votre disque dur supplémentaire crypté ?? (puis bien sûr monter et accéder à cette HD)
miguelfg
Scénario simple et évident: je branche une clé USB à un serveur du bureau pour sauvegarder les données. Je ramène la clé USB à la maison pour assurer des sauvegardes hors site en cas de problème sur le serveur. Quelqu'un s'introduit dans ma voiture et prend le disque USB pendant que je suis au magasin sur le chemin du retour. Maintenant, ils doivent 1) savoir où se trouve le serveur et 2) s'introduire dans le bureau pour décrypter le disque. Cette partie est beaucoup plus difficile que "branchez-la simplement sur votre ordinateur à la maison".
Ernie
0

La procédure suivante doit être sécurisée. Le fait d'exiger la phrase secrète empêche les autres utilisateurs d'accéder au volume, même s'il est monté.

1.Ouvrez les disques, choisissez le lecteur et cliquez sur le volume LUKS. Cliquez sur les roues dentées et désélectionnez "Paramètres par défaut de la session utilisateur". Choisissez "Déverrouiller au démarrage du système" et "Exiger une autorisation supplémentaire pour déverrouiller": entrez la description de l'image ici

2.Cliquez sur le volume du disque (sous le volume LUKS). Cliquez sur les roues dentées et désélectionnez "Paramètres par défaut de la session utilisateur". Choisissez "Monter au démarrage du système" et "Afficher dans l'interface utilisateur": entrez la description de l'image ici

Vous pouvez également choisir d'exiger une authentification supplémentaire pour monter le volume, mais dans ce cas, le montage ne serait pas automatique pour l'utilisateur en question.

ElToro1966
la source