Sommaire
Prérequis matériels
D’un point de vue matériel, Qubes OS est compatible avec la plupart des composants. Cependant, si vous avez du matériel très récent ou très ancien, l’installation peut être compliquée ou impossible. En cas de doute, consultez la table de compatibilité matérielle et / ou le fil de discussion des utilisateurs.
Pour résumer, votre processeur doit être du type x86-64 et devrait avoir des fonctionnalités dédiées à la virtualisation (Intel VT-x / AMD-v). Vous devez également disposer d’au moins 4 Gio de mémoire vive (8 Gio devraient être largement suffisants pour la plupart des utilisateurs) et 32 Gio d’espace disque. Il est recommandé d’utiliser un SSD et une puce graphique Intel intégrée.
Installation
Avant d’installer Qubes OS, vérifiez les paramètres de votre BIOS. Les réglages exacts vont dépendre de votre matériel. Le conseil général est d’activer toutes les options liées à la virtualisation et de désactiver toutes les options liées à l’UEFI. En cas de problèmes, consultez le fil de discussion des utilisateurs.
L’installation est relativement classique, et on trouve sur YouTube de très bons tutoriels. Par exemple, pour l’installation de Qubes OS 3.2, il y a ce tutoriel en anglais. Il y a également un tutoriel en français pour l’installation de Qubes OS 3.1.
Configuration
Lors de l’installation, on peut choisir d’installer la configuration par défaut. Elle est très utile pour prendre en main Qubes OS. Et comme toute configuration générique, vous vous rendrez vite compte qu’elle convient mal à vos usages. On présente ici certaines spécificités de Qubes, ainsi qu’une configuration typique, et une configuration plus avancée.
Dom0
C’est le chef d’orchestre. Dans la version 3.2, il est basé sur Fedora et contrôle l’hyperviseur, l’interface graphique et les périphériques d’entrée (clavier, souris…). Pour des raisons de sécurité, il a un accès au réseau qui est filtré et limité aux mises à jour.
Les modèles
Les modèles (templates), correspondent à des distributions GNU/Linux. On y accède uniquement en ligne de commande pour gérer les paquets installés. L’équipe de développement de Qubes OS propose trois modèles :
- Fedora, le modèle par défaut, on est actuellement sur la version 24 ;
-
Fedora-minimal, une version minimaliste du modèle par défaut ;
-
Debian, on est actuellement sur la version 8 (Jessie).
La communauté propose également des modèles pour Whonix, Ubuntu et Archlinux.
Les machines virtuelles (VM) basées sur un modèle
De nombreuses machines virtuelles peuvent être basées sur un même modèle. Pour chaque machine virtuelle, on spécifie un maximum de mémoire vive et d’espace disque accessible. Une machine virtuelle basée sur un modèle dispose de quelques répertoires en propre :
-
/home
;
-
/usr/local
;
-
/rw/config
.
Toute modification des fichiers présents dans les autres répertoires est faite avec une copie à la volée (copy on write) et n’est pas pérenne, elle sera détruite lorsque la machine virtuelle va être éteinte ou redémarrée.
Les machines virtuelles « classiques »
On peut également créer des machines virtuelles « classiques » qui ne sont pas basées sur un modèle. On leur associe un maximum de mémoire vive et d’espace disque accessible, et l’on peut y installer une distribution GNU/Linux ou BSD classique, ou bien Windows.
Les machines virtuelles « jetables »
Elles s’appuient sur le modèle par défaut défini par l’utilisateur, se lancent en quelques secondes et ne disposent d’aucun stockage pérenne. Elles permettent d’ouvrir des fichiers douteux sans compromettre la machine virtuelle d’origine.
Par exemple, depuis Thunderbird, un clic droit sur une pièce jointe de type PDF propose d’ouvrir le document dans une machine virtuelle jetable. On peut également utiliser un navigateur Internet dans une machine virtuelle « jetable » pour explorer un site qui n’est pas de confiance.
Configuration typique
Dans une configuration typique, on va avoir trois modèles et une série de machines virtuelles :
- Un modèle A, Fedora minimaliste complété par des pilotes réseau :
- une machine virtuelle, on lui attribue en exclusivité la ligne PCI reliée à la carte réseau ;
- un modèle B, Fedora minimaliste :
- une machine virtuelle, elle fera office de pare‐feu entre la machine virtuelle « Internet » et les autres machines virtuelles ;
- un modèle C, Fedora classique avec tous les logiciels utilisés régulièrement :
- une machine virtuelle « secret », jamais connectée au réseau, pour stocker des données confidentielles,
- une palanquée de machines virtuelles connectées au réseau à travers le pare‐feu ; idéalement, chaque machine virtuelle va correspondre à un usage spécifique : « travail », « banque », « réseaux sociaux », etc.,
- une machine virtuelle dédiée aux visio‐conférences, on lui attribue un accès exclusif au micro et à la webcam.
Configuration atypique
De nombreux ordinateurs portables ont deux cartes réseau, une filaire et une sans‐fil. On aura alors deux machines virtuelles réseau, chacune avec un accès exclusif à l’une des cartes, et un pare‐feu dédié. On pourra également créer un pare‐feu qui fera office de réseau privé virtuel (VPN). Chaque machine virtuelle pourra alors utiliser :
- le pare‐feu relié à la connexion réseau filaire ;
- le pare‐feu relié à la connexion réseau sans‐fil ;
- le pare‐feu du réseau privé virtuel, relié à l’une des connexions réseau.
On pourra dédier une machine virtuelle à la gestion des périphériques USB, ces derniers étant une valeur sure en termes d’infections. On pourra également dédier une machine virtuelle à la gestion du chiffrement GPG, de sorte que les clefs privées ne sortent pas de cette machine virtuelle.
Avantages et inconvénients
L’avantage principal de Qubes OS, c’est le niveau de sécurité plus élevé qu’il procure. On peut très simplement attribuer à une machine virtuelle un accès exclusif à un périphérique. De plus, si une machine virtuelle a une activité suspecte, on peut la détruire et en générer une nouvelle en quelques clics. Et ce, sans interférer avec les autres machines virtuelles.
Le pendant de cette sécurité plus élevée, c’est une utilisation plus complexe. L’installation d’un logiciel supplémentaire dans un modèle se fait en ligne de commande, ce qui rebutera plus d’un néophyte. De plus, il faut une certaine discipline ou hygiène dans l’utilisation quotidienne. Ainsi, lorsque l’on est sur le navigateur de la machine virtuelle « banque », il faut éviter d’ouvrir compulsivement un onglet pour aller sur YouTube ou Facebook…
Globalement, Qubes OS n’est pas accessible au grand public. Néanmoins, après un bref apprentissage, toute personne ayant déjà vu un terminal s’y retrouve. L’ergonomie est relativement bonne. On peut copier‐coller des éléments sélectionnés entre machines virtuelles simplement (Ctrl
+ C
puis Ctrl
+ Maj
+ C
, suivi de Ctrl
+ Maj
+ V
puis Ctrl
+ V
). Et depuis le navigateur de fichiers, un clic droit sur un dossier ou un fichier permet de le copier ou de le déplacer vers une autre machine virtuelle.
Un inconvénient majeur de Qubes OS est la gestion du ou des processeurs graphiques. Lorsqu’il n’y a qu’un processeur graphique sur la machine, Dom0 en a une utilisation exclusive. Les machines virtuelles disposent alors d’une accélération graphique limitée, ce qui est pénalisant pour jouer ou regarder des vidéos en haute définition. Il serait possible d’utiliser simultanément plusieurs processeurs graphiques, mais c’est complexe et risqué.
Un avantage majeur de Qubes OS est la machine virtuelle « jetable ». Elle est intégrée dans Thunderbird et dans le gestionnaire de fichiers et se lance en quelques secondes, ce qui permet d’ouvrir sereinement des liens et des fichiers douteux.
On notera que Qubes OS intègre nativement Whonix et se trouve donc dans la lignée de TAILS ou Subgraph OS : c’est un outil qui permet de renforcer la sécurité et la confidentialité des données et de leurs échanges. Ce qui est probablement inestimable pour certains utilisateurs.
Remarques
La version 4.0 de Qubes devrait arriver prochainement. Les spécifications matérielles vont changer et il faudra utiliser du matériel implémentant la virtualisation de second niveau (SLAT).
La majorité des membres de l’équipe de développement sont liés à Invisible Things Lab. C’est l’entreprise qui a financé le projet lors de son lancement.