{{tag>Bionic Focal sécurité BROUILLON}}
------
======Chiffrement de fichiers et de partitions avec VeraCrypt======
=====Historique=====
VeraCrypt est un logiciel de chiffrement de fichiers et de partitions qui reprend la suite de **TrueCrypt**.\\
Ce fork, principalement développé par le Français Mr Mounir Idrassi, a débuté quelques mois avant la fermeture brutale de son prédécesseur.
=====Concept=====
VeraCrypt est un programme gratuit de chiffrement de partition qui fonctionne sous GNU/Linux, MacOS et Windows. Il est sous double licence Apache v2.0 et collective TrueCrypt v3.1.
A compléter
Veracrypt chiffre des volumes (fichiers, partitions) ou des systèmes d'exploitation entiers, à la volée. C'est à dire qu'il monte un volume chiffré, dans lequel vous mettez ce que vous voulez. Il est possible de cacher ces fichiers/partitions/OS chiffrés.
Les algorithmes de chiffrement proposés sont nombreux et utilisables en cascade.
Évidemment, Veracrypt est open-source, multi-plateforme et utilisable en mode portable (sur une clef-usb).
=====Installation=====
Il y a plusieurs méthodes d'installation.
-La première consiste à télécharger Veracrypt sur le site officiel et à le décompresser dans un dossier. Certaines dépendances, selon les versions d'Ubuntu et de Veracrypt, sont requises. L'installation est parfois plus complexe pour une machine tournant sous une [[wpfr>architecture ARM]]. Auquel cas, l'installation par PPA peut être plus facile.
-La seconde consiste à ajouter un PPA. Cette solution est efficace lorsqu'il y a un problème de comptabilité (avec les [[wpfr>Chromebook]] notamment, et les architectures ARM), et facilite la mise à jour.
====Installation en passant par le site officiel====
Pour installer VeraCrypt, il faut d'abord récupérer la dernière version disponible sur le site officiel [[https://www.veracrypt.fr/en/Downloads.html|VeraCrypt]]. On peut choisir de télécharger un fichier compressé contenant des programmes d'installation générique, ou bien plus spécifiquement passer par une installation en téléchargeant le paquet propre à son système. L'installation générique est la plus simple.
===Vérification des fichiers téléchargés===
Cette étape (optionnelle, mais importante pour un logiciel de ce type) consiste à vérifier, au moyen de [[:gnupg]], que les fichiers téléchargés sont bien ceux mis en ligne par [[https://www.veracrypt.fr|VeraCrypt]]
Les commandes sont bien décrites [[http://www.mattnworb.com/post/16019918033/how-to-verify-a-pgp-signature-with-gnupg|ici]].
Les étapes sont:
* créer votre propre signature (si ce n'est déjà fait),
* télécharger la clé publique figurant sur le site de Veracrypt,
* inclure cette clé publique dans son trousseau de clés. On peut tester si l'[[:gnupg#verifier_l_empreinte|empreinte]] de la clé publique qu'on vient d'inclure est identique à celle figurant sur le site. Si c'est le cas, on peut autoriser l'utilisation de la clé publique,
* télécharger la signature numérique (fichier gpg) de l'archive figurant sur le site,
* authentifier la signature du paquet au moyen de la clé publique.
===Installation===
Décompresser l'archive dans le dossier de votre choix.\\
Puis lancer le [[terminal|terminal]] dans ce dossier (clic droit sur le dossier, puis « ouvrir dans un terminal »)\\
Ensuite lancer le fichier voulu, suivant votre architecture (32 ou 64 bits) et le type d'interface voulu (graphique (gui) ou par console).\\
\\
Voici l'exemple pour une architecture 64 bits avec le mode graphique, de la version 1.24 de VeraCrypt :
./veracrypt-1.24-Update4-setup-gui-x64
(À modifier selon le nom du fichier, bien sûr)
**NB** : Le mot de passe sudo sera demandé au cours d'une installation standard. Mais on peut aussi utiliser Veracrypt sans l'installer. Nous allons développer ce point ci-dessous dans __utilisation portable__
=== Installation pour la version 20.04 (Focal) ===
Si choix d'utiliser en mode commande, télécharger [[https://launchpad.net/veracrypt/trunk/1.24-update7/+download/veracrypt-console-1.24-Update7-Ubuntu-20.04-amd64.deb|le logiciel]] puis l'installer avec cette commande
sudo dpkg -i $HOME/Téléchargements/veracrypt-console-1.24-Update7-Ubuntu-20.04-amd64.deb
Si choix d'utiliser en mode graphique, télécharger [[https://launchpad.net/veracrypt/trunk/1.24-update7/+download/veracrypt-1.24-Update7-Ubuntu-20.04-amd64.deb|le logiciel]] puis l'installer avec ces commandes
sudo dpkg -i $HOME/Téléchargements/veracrypt-1.24-Update7-Ubuntu-20.04-amd64.deb
sudo apt --fix-broken install
veracrypt sait ouvrir au maxima 64 fichiers simultanément.
{{:applications:veracrypt:vera-0.png?600|}}
===Ménage===
Une fois le programme installé, vous pourrez supprimer l'archive téléchargée ainsi que les fichiers décompressés dans votre dossier.
===Bug?===
Si un message d'erreur évoquant "dmsetup" apparaît à la première utilisation, il faut [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>dmsetup]]** (voir [[https://forum.ubuntu-fr.org/viewtopic.php?id=1989257|ici]]).
==== Installation par PPA ====
Le PPA peut fonctionner quand l'installation initiale en passant par le site officiel ne fonctionne pas. Notamment sur les chromebook.
* [[:PPA|Ajouter le PPA]] **ppa:unit193/encryption**((https://launchpad.net/~unit193/+archive/encryption)) dans vos sources de logiciels;
* [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Recharger la liste des paquets]];
* [[:tutoriel:comment_installer_un_paquet|Installer le paquet]] **[[apt>veracrypt]]**.
====Mode portable====
* Reprendre les étapes d'installation 3.1 : Téléchargement sur le site officiel, vérification des paquets, décompression de l'archive
* Puisque c'est pour un usage portable, télécharger les version pour tous les différents types de système d'exploitation que vous pouvez rencontrer. Pour Windows, vous pouvez installer un exécutable sur une clé USB qui ne nécessitera pas une élévation (admin) des privilèges. Ici, c'est un tuto pour utiliser VeraCrypt en mode portable sous Linux. L'installation ne nécessite pas non plus de privilèges root, mais pour monter une partition ou un volume, la plupart des systèmes Linux demandent une élévation des privilèges.
Lorsque vous exécutez le script de l'archive décompressé, vous avez deux options : Avec installation ou sans. Sélectionnez sans.
VeraCrypt est placé sous forme compressée dans /tmp
S'y rendre et décompresser l'archive
NB : Jusque là, être root n'est pas nécessaire, ce qui vous permet de l'utiliser sur une machine autre que la vôtre
Une fois le dossier décompressé, l'archive peut être supprimée
Chercher le fichier VeraCrypt dans le dossier de l'archive décompressé dans /tmp
Le rendre exécutable
L'exécuter
Enjoy ;)
Selon les autorisations du système, vous pouvez avoir besoin des privilèges administrateur pour monter un volume (et pas pour le déchiffrer)
Pour éviter d'avoir à réaliser cette procédure à chaque usage de VeraCrypt en mode portable (les fichiers ainsi placés dans /tmp sont supprimés à chaque redémarrage de la machine), copier/coller les fichier obtenu à la fin de cette opération (en somme, le dossier de l'archive décompressé dans /tmp.) Vous n'aurez qu'à le copier/coller dans les machine hôte Linux que vous visiterez dans le répertoire /tmp ;) Puis à cliquer sur l'exécutable
=====Utilisation=====
A compléter.
Noter qu'il existe de nombreux tutos sur le net. Voici quelques fonctionnalités : Créer des conteneurs chiffrés (fichiers, partitions), les cacher, chiffrer un OS…
==== Lancement ====
Le lancement peut se faire en sélectionnant son icône dans la liste des applications installées ou par un terminal par la commande
veracrypt
Avec la version ubuntu 23.04 (Lunar), le lancement est uniquement possible en [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22675226#p22675226|ligne de commande]] après avoir fait une [[https:/veracrypt#installation_par_ppa.|installation par PPA.]]
export WXSUPPRESS_SIZER_FLAGS_CHECK=1 && veracrypt
====Création de volume caché (hidden volume)====
1) Suivre les instructions de [[https://www.veracrypt.fr/en/Documentation.html|VeraCrypt]].
2) Pour accéder au volume caché créé selon les instructions, sélectionner le volume non-caché, et rentrer la phrase de passe (mot de passe) du volume caché.
Ne pas oublier que le volume caché peut être accroché à un [[https://www.hostingpics.net/viewer.php?id=727432Vera.png|fichier]] qui sera détruit pendant l'opération et que le nombre de volumes ouverts simultanément est inférieur à 64.
====Utilisation de VeraCrypt sans demande de mot de passe root (sudo)====
Nous allons montrer comment permettre à un utilisateur lambda d'utiliser VeraCrypt avec sudo sans lui donner le mot de passe root. Avec cette commande, n'importe quel user choisi pourra taper
« sudo veracrypt » dans son terminal et utiliser VeraCrypt comme si il était root, sans avoir eu à taper le mot de passe root.
Donc, une fois VeraCrypt installé, vous pouvez l'utiliser. Cependant, les droits super-utilisateur sont exigés pour monter/démonter les volumes. Or vous avez peut être des utilisateurs qui partagent votre machine et qui doivent utiliser VeraCrypt, mais vous, vous n'avez aucune envie de leur donner votre mot de passe root. Il est possible de leur octroyer le privilège d'exécuter un ou des programmes précis (en l'occurrence VeraCrypt) en tant que root. Pour cela, on va éditer le fichier /etc/sudoers avec la commande :
"sudo visudo''
et ajouter à la fin :
''%**user** ALL=(root) NOPASSWD:/usr/bin/veracrypt''
Remplacer **user** par le nom du(des) utilisateur(s) à qui on accorde le droit d'utiliser VeraCrypt en tant que "sudo".
-Cela signifie que **user** a le droit d'exécuter le programme "/usr/bin/veracrypt" en tant que (root) sans "NOPASSWD" demande de mot de passe.
Attention, même si aucun mot de passe n'est requis, l'utilisateur doit écrire "sudo" devant la commande
=====Un contexte d'utilisation=====
Sous ubuntu, création d'une partition de 103 Go. Formatage avec veracrypt de la totalité de l'espace en NTFS. Puis transfert du logiciel ubuntu avec la commande RSYNC. Puis création d'un fichier "MASQUE" par la commande TOUCH. Puis formatage NTFS par veracrypt en deux entités de ce fichier: Une publique de petite taille (0,9 Go), une cachée de 19 go nécessitant un autre mot de passe. Puis utilisation de RSYNC pour transférer un gros répertoire (4 Go) dans la partie publique du fichier. Puis tentative de montage de la partie cachée du fichier qui est refusée avec le message classique de lancer deux fois la commande **chkdsk ** pour réparer.
Sous windows, montage sur A: par veracrypt de la partition. On y retrouve toute la structure ubuntu et le fichier spécial. Montage sur B: du fichier spécial avec le mot de passe normal. On y retrouve tout le répertoire copié. Puis démontage de B: et remontage avec l'autre mot de passe. Ce montage est impossible. Le contrôle en mode graphique ne fonctionnement pas. Mais la commande FSCK répare.
Bilan: Attention de ne pas faire déborder la partie publique du fichier. Cela va déduire pas mal de chose dans la partie cachée. Sa réparation va certainement aussi déduire pas mal de choses dans la partie publique.
Nouveau contexte en version 22.04 avec fichier caché fabriqué en EXFAT dans une partition EXFAT. Le fichier a été rempli à 100% et cela n'a pas débordé.df -h | egrep 'EXFAT|vera'
/dev/sdb13 254M 129M 126M 51% /media/a/EXFAT
/dev/mapper/veracrypt1 126M 126M 0 100% /media/veracrypt1
=====Liens externes=====
* [[https://www.veracrypt.fr|Site officiel]],
* [[https://linuxg.net/install-veracrypt-on-ubuntu/|Source (installation par PPA)]]
* Si seulement besoin de chiffrer quelques fichiers, penser à [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22718012#p22718012|cryptomator.]]
* [[:tutoriel/donnees_stockees_dans_un_systeme_de_fichiers_zfs#introduction|Solution alternative avec ZFS]]