web-dev-qa-db-fra.com

Comment l'utilisateur peut-il monter un conteneur de fichiers crypté dans VeraCrypt?

J'ai un certain nombre de supports externes avec des conteneurs de fichiers cryptés VeraCrypt et je voudrais que les utilisateurs les montent et les utilisent sans leur donner les privilèges root.

Cependant, pour le moment, VeraCrypt demande toujours un mot de passe utilisateur/administrateur, ce qui semble être une opération de montage Sudo-ing:

VeraCrypt fails to mount pdebski not in sodoers

Comment un utilisateur qui ne figure pas dans le fichier sudoers peut-il monter un fichier .hc?

2
Pawel Debski

Je l'ai fait. La solution est adaptée à partir d'ici: https://wiki.archlinux.org/index.php/TrueCrypt#Mount_volumes_as_a_normal_user et de mon autre question concernant la configuration sudoers moderne: ajout de contenu local dans/etc /sudoers.d/ au lieu de modifier directement le fichier sodoers via visudo

  1. Créez un nouveau groupe appelé say veracryptusers et donnez-lui les autorisations nécessaires pour utiliser VeraCrypt sans mot de passe root. Tout utilisateur appartenant à ce groupe pourra utiliser VeraCrypt.

Remarque: ceci considérablement augmente la surface d'attaque pour l'élévation des droits de l'utilisateur. Assurez-vous donc d'ajouter uniquement des utilisateurs de confiance à ce groupe.

# groupadd veracryptusers
  1. Donnons maintenant à ce groupe les autorisations limitées à VeraCrypt:
 $ Sudo visudo -f /etc/sudoers.d/veracrypt
 GNU nano 2.5.3 Fichier: /etc/sudoers.d/veracrypt.tmp 
 
 # Les utilisateurs du groupe veracryptusers sont autorisés à exécuter veracrypt en tant que root. 
% Veracryptusers ALL = (root) NOPASSWD:/usr/bin/veracrypt 

Assurez-vous également que veracrypt et /usr/bin disposent des autorisations appropriées et ne sont PAS inscriptibles par les groupes ni par d’autres:

 $ ls -al /usr/bin/vera*
-rwxr-xr-x 1 racine racine 6341016 €/2016 /usr/bin/veracrypt
$ ls -ald /usr/bin
drwxr-xr-x 2 racine racine 69632 lèvre 25 10h09 /usr/bin

Sinon, un utilisateur malveillant peut remplacer l'exécutable et obtenir le droit root total s'il le souhaite.

Maintenant, redémarrez (ou reconnectez-vous) pour que les membres des groupes soient revalorisés et le tour est joué - vous pouvez monter et démonter vos volumes préférés.

Qui est le gourou maintenant, lui?

0
Pawel Debski

Avertissement: Utilisez la solution @Pawel Debski uniquement si les conditions suivantes sont acceptées:

  • Tout utilisateur ou pirate informatique obtenant accès vers un compte utilisateur du groupe veracryptusers peut exécuter toutes les commandes - en tant que root, en téléchargeant un fichier conteneur préparé contenant un code malveillant s'exécutant en tant que root.

Donc, en utilisant cette solution, vous pouvez envisager d’utiliser un profil utilisateur spécial pour veracrypt. En conséquence, sodo est plus facile à utiliser.

Étapes pour tester le problème de sécurité:

  1. Créer un fichier conteneur (ext2-4)
  2. Copier ou créer un fichier binaire (par exemple, whoami)
  3. Changer le propriétaire du binaire en root
  4. Ajouter setuid au binaire
  5. Appeler le binaire avec un compte d'utilisateur non root

Le binaire sera exécuté avec le privilège root.

Astuce: j'ai ajouté cette solution car l'avertissement de Pawel Debski est discret. Le risque est beaucoup plus grand que l’avantage tant que le système est connecté à Internet.

4
User8461

Vous pouvez autoriser d'autres utilisateurs à exécuter Sudo à accéder à certains programmes uniquement. Par exemple, j'autorise l'utilisateur www-data à exécuter/sbin/ipset pour interdire les utilisateurs qui tentent de pirater mon serveur Web. J'admets que c'était sur un Raspberry Pi exécutant une version modifiée de debian.

J'ai créé un fichier dans le dossier /etc/sudoers.d. Le contenu du fichier était

www-data ALL=(ALL) NOPASSWD: /sbin/ipset
0
Russell Hankins