web-dev-qa-db-fra.com

Lecteur crypté automatiquement à la connexion de l'utilisateur

Un répertoire/home crypté est automatiquement monté pour moi lorsque je me connecte. J'ai un deuxième disque dur interne que j'ai formaté et crypté avec Utilitaire de disque. 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 d'éditer la seconde ci-dessous, mais je pense qu'elle a peut-être été abandonnée (et par conséquent 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 l'édition de fstabname__, ce qui nécessite la saisie d'un mot de passe supplémentaire au démarrage. Ce n'est pas automatique comme monter/à 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 lecteurs NTFS, le mien est ext4.

Je peux reformater et chiffrer le second disque si une solution l'exige. J'ai toutes les données sauvegardées ailleurs.

18
Tom Brossman

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 crypté. Si quelqu'un a un accès physique à votre ordinateur, si vous utilisez votre mot de passe root sans précaution ou si votre ordinateur a plusieurs comptes d'utilisateurs/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 afin que son contenu soit visible par les autres utilisateurs.

Partie 1: Crypter le lecteur secondaire.

  1. Dans le tiret Unity, tapez "disques" et appuyez sur Entrée.
  2. Sous "Périphériques", cliquez sur le disque dur que vous souhaitez chiffrer.
  3. Sous "Volumes", cliquez sur le bouton cog/more actions.
  4. Cliquez sur "Format Volume". Pour le type, choisissez "Crypté, 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. Laissez l'application "Disks" 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 sera grisé. Désactivez les options de cryptage automatique.
  4. Entrez la phrase de passe à partir du moment où vous avez formaté le disque. Cliquez sur OK".

Vous avez maintenant un disque dur crypté qui se montera automatiquement au démarrage de votre ordinateur.

5
tryion

Lorsque j’ai écrit cette réponse il ya quelques années, c’était la meilleure façon de mettre en œuvre la solution. Je suggérerais maintenant que vous regardiez la réponse suivante utilisant mount.ecryptfs_private à la place.

Je recherchais également un moyen de monter automatiquement un deuxième volume eCryptfs. La collection suivante de scripts et de modifications de configuration montera votre volume de manière sécurisée et automatique lors de la connexion, sur l'interface graphique ou l'interface de ligne de commande.

Il existe une meilleure solution en cours de création (bien que, à mon avis, elle ne soit pas prête pour un montage automatique lors de la connexion de l'utilisateur, ce script aura donc 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 chiffrement de votre répertoire personnel avec eCryptfs, de sorte que le script et les fichiers contenant le mot de passe permettant de dérouler votre phrase secrète soient chiffrés. Si vous laissez votre ordinateur déverrouillé avec un shell racine 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 d'un mot de passe ni laisser la phrase secrète dans un fichier lisible par l'utilisateur.

Un inconvénient connu de ces scripts est que votre deuxième volume ne sera pas démonté lors de la déconnexion, de sorte qu'il ne convient pas particulièrement aux systèmes multi-utilisateurs.

Ma solution est mise en œuvre avec plusieurs parties, deux scripts Shell, un qui effectue le montage proprement dit et un autre qui lui sert de wrapper.

C'est le script de wrapper qui valide si le répertoire est déjà monté, sinon, il appellera le script de montage à l'aide de 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, comme suit.

Notez que ce script suppose que le cryptage des noms de fichiers est activé. Sinon, vous devrez modifier le script pour gérer la détection (consultez ecryptfs-recover-private) ou 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 eCryptfs mount:

/ 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 saisir votre mot de passe Sudo.

Ajoutez les éléments suivants à/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 lors de la connexion.

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

Pour monter automatiquement le second volume eCryptfs lors de la connexion à un shell bash, vous souhaitez modifier votre fichier ~/.bashrc. Ajouter ce qui suit:

/home/johnf/scripts/automount_ecryptfs

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

10
johnf

Construire sur la réponse de @ johnf mais en utilisant mount.ecryptfs_private à la place:

  • /home/bob/ (par exemple, sur un disque SSD) crypté, en utilisant la magie normale du répertoire personnel crypté d'Ubuntu.
  • /media/hdd/bob_extra/ (par exemple, sur un disque dur) crypté, à monter sur /home/bob/extra. Cela devrait monter automatiquement à la connexion, comme le fait le répertoire home.
  • utiliser 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 exécutant 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

installation automount

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.

9
rcoup

Créez un script dans votre répertoire personnel crypté: ~/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 aux "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 point de montage /storage et modifier l'UUID dans le script ci-dessus (recherchez-le avec blkid).

1
Raul Laasner

Procéder comme suit devrait être sécurisé. L'utilisation de la phrase secrète empêche les autres utilisateurs d'accéder au volume, même s'il est monté.

1.Open Disks, choisissez le lecteur et cliquez sur le volume LUKS. Cliquez sur les roues dentées et désélectionnez "User Session Defaults". Choisissez "Déverrouiller au démarrage du système" et "Demander une autorisation supplémentaire pour déverrouiller": enter image description here

2.Cliquez sur le volume du disque (sous le volume LUKS). Cliquez sur les roues dentées et désélectionnez "User Session Defaults". Choisissez "Monter au démarrage du système" et "Afficher dans l'interface utilisateur": enter image description here

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

0
ElToro1966

Je crains que cela ne va pas être 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.

Pensez à ce que "automatiquement" signifie et comprenez que automatiquement signifie qu'ils verront également vos données.

0
Dustin Kirkland