L’heure du test — fork 2 — Qubes OS

Posté par  . Édité par Nils Ratusznik, Davy Defaud, ZeroHeure, palm123, Nÿco, Benoît Sibaud et esdeem. Modéré par ZeroHeure. Licence CC By‑SA.
35
4
juil.
2017
Distribution

L’heure du test est un rendez‐vous pour les tests et guides d’installation de distributions, en exposant leurs avantages et inconvénients. Ce fork présente Qubes OS, un système d’exploitation libre qui prétend ne pas être une distribution !
Logo Qubes OS

Qubes OS est un système d’exploitation focalisé sur la sécurité. Il se situe à mi‐chemin entre une distribution classique et un hyperviseur. Il s’appuie sur l’hyperviseur Xen et propose un système sécurisé basé sur l’isolation.

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.

Aller plus loin

  • # Une présentation en Juillet 2016

    Posté par  . Évalué à 9.

    M.Benjamin Sonntag a fait une présentation de cet OS (que j’utilise depuis) lors de PSES_2016, je vous invite grandement à la visionner :

    Qubes - le nouvel OS sécurisé pour hacktivistes

    Enjoy =]

  • # Pour gérer un fichier, pas besoin de gestionnaire

    Posté par  . Évalué à 2.

    Elle est intégrée dans Thunderbird et dans le gestionnaire de fichier**s** et se lance en quelques secondes

  • # Fichiers et sauvegarde

    Posté par  . Évalué à 3.

    Pas mal, deux questions quand même :

    • Quid du partage de fichiers entre VM ?
    • Est-il facile d'exporter une VM pour utiliser ailleurs, sauvegarder… ?
    • [^] # Re: Fichiers et sauvegarde

      Posté par  . Évalué à 3. Dernière modification le 04 juillet 2017 à 15:08.

      Concernant le partage de fichiers entre VM, je pense que ce n'est pas simple. C'est probablement faisable avec des outils réseau: on stocke les données dans une VM 'data' qui va faire du partage de fichiers sur le réseau, et on configure le pare-feu pour que les VM puissent communiquer et y accéder en NFS. Il faut bricoler un peu…

      Niveau sauvegarde, en 3 clics on a une sauvegarde chiffrée de n’importe quel template(s) / VM(s), il faut simplement qu'ils soient éteints. On peut les redéployer aussi simplement. Du coup, en cas d’inquiétude lors des changements de version, on fait une sauvegarde de toutes les VM, on réinstalle le nouveau système 'from scratch', et on redéploie les sauvegardes!
      https://www.qubes-os.org/doc/backup-restore/

      • [^] # Re: Fichiers et sauvegarde

        Posté par  (site web personnel) . Évalué à 5. Dernière modification le 04 juillet 2017 à 20:19.

        Autre exemple : modprobe 9p (c'est royal.)
        Reste la question : quoi partager?

        • [^] # Re: Fichiers et sauvegarde

          Posté par  . Évalué à 2.

          Des choses comme le source d'une lib chope sur le net et dont on a besoin? Ou le binaire monolithique de busybox parce que toutes les distrib ne laissent pas tout et dont on a besoin pour faire des tests sur une vm de test?
          Pourquoi pas le fichier envoye par un collegue dont on a besoin?

          J'aime bien l'idee de ce systeme, mais j'ai des doutes justement sur l'utilisabilite…

          • [^] # Re: Fichiers et sauvegarde

            Posté par  (site web personnel) . Évalué à 6.

            … mais j'ai des doutes justement sur l’utilisabilité…

            Bah pour le savoir il faut l'utiliser.
            Pour l'avoir utilisée quelques temps, c'est vrai que QubesOS demande un petit apprentissage, un peu de gymnastique (le copiè-collé par ex.). Mais au final j'ai beaucoup appris sur ma pratique. Cloisonnant les activités, c'est le but des VM (n'avoir qu'une VM par facilité et tout mélanger n'est vraiment pas son but), Qubes nous permet de réfléchir sur notre usage de l'informatique au quotidien. C'est très formateur et révélateur. Par exemple, depuis j'utilise plusieurs profils de Firefox (associé à Firejail pour certains).

            Tout en étant simple d'utilisation elle reste orientée hacktiviste/militaire. Pas faite pour la famille Michu a priori. L'essayer n'est peut-être pas l'adopter mais adopter de bonne pratiques. Et puis c'est une occasion de découvrir Xen et Fedora :)

            « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

        • [^] # Re: Fichiers et sauvegarde

          Posté par  (site web personnel, Mastodon) . Évalué à 3.

          modprobe 9p

          Ouah, ça semble bien amusant ce truc-là. J'utilise beaucoup sshfs, parce que c'est trop efficace, mais là, ce 9p, je pense qu'il y a de quoi faire…

    • [^] # Re: Fichiers et sauvegarde

      Posté par  . Évalué à 4.

      Quid du partage de fichiers entre VM ?

      Il n'y a pas de mécanisme natif d'échange de fichiers entre VM "temps réel" (genre Samba), probablement pour éviter le canal d'attaque sur le protocole ou les données. D'un point de vue réseau les VM sont isolées entre elles. Il existe des commandes et une adaptation du Window Manager pour envoyer des fichiers unitaires de façon maîtrisée d'une VM à l'autre. La remontée de données vers le domaine 0 est une purge délibérée car il ne faut pas le faire. Le gag c'est quand on veut monter une VM sur la base d'une ISO, qui a un moment donné a été téléchargée…

      Est-il facile d'exporter une VM pour utiliser ailleurs, sauvegarder… ?

      oui, il y a de mémoire des commandes qui permettent de le faire dans les menus du gestionnaire de VM. Ce sont de toute façon des fichiers avec un nom connu dans des répertoires connus, donc faisable aussi à la main.

    • [^] # Re: Fichiers et sauvegarde

      Posté par  . Évalué à 1.

      Quid du partage de fichiers entre VM ?

      D’après cette page, c'est assez simple.

    • [^] # Re: Fichiers et sauvegarde

      Posté par  . Évalué à 1.

      Sinon, un moyen simple de partager des fichiers entre plusieurs VM, c'est de mettre les fichiers directement dans le template. Mais il faut que les VM utilisent le template en question, et elles ont un accès aux fichiers en lecture seule…

      Il y a une discussion en cours sur le sujet : https://groups.google.com/forum/#!topic/qubes-users/8VmnkWelZ5g

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.