Recommandé par Edward Snowden, Qubes OS a la réputation d'être le système d'exploitation desktop le plus sécurisé qui soit. Reste à savoir si son côté relativement intuitif fera pardonner à l'utilisateur sa rugosité de Linux de l'an 2000.

Imaginez que vous êtes un scientifique dans un laboratoire. Vous avez à votre disposition un coin paillasse pour les manipulations classiques, un coin stérile avec bec Bunzen pour les cultures bactériennes, un coin hotte pour les produits toxiques, et un coin paperasse où vous devrez enlever vos gants en latex pour ne pas salir vos stylos. C’est ainsi qu’on peut se visualiser Qubes OS : un système d’exploitation répondant à des normes strictes de sécurité, où chaque activité est compartimentée, et où votre tube de bacilles de Koch ne risque pas de se renverser sur votre barre chocolatée.

La compartementalisation de Qubes OS incite à ouvrir les fenêtres en double voire en triple, une pour chaque qube…

Mais qu’est-ce que Qubes OS ? Qubes OS est développé en open source depuis 2010 par la Polonaise Joanna Rutkowska, la première version datant de septembre 2012. Contrairement aux apparences, ce n’est pas exactement un Linux. Ce serait plutôt une distribution de l’hyperviseur Xen, une « couche de virtualisation » servant à faire tourner des machines virtuelles (ou VM), ici appelées qubes. Une grappe de systèmes d’exploitation réunis sur un même bureau, en quelque sorte. Qubes est notamment utilisé par Edward Snowden et est considéré comme parmi ce qu’il y a de plus sécurisé en matière de système d’exploitation. C’est un OS de desktop au sens strict, contrairement à un Whonix tournant sous machine virtuelle ou à un Tails sur clé USB.

Tout comme un chimiste amateur n’aimerait pas vivre dans un laboratoire, utiliser Qubes comme système d’exploitation principal serait bien lourd au quotidien. C’est plutôt un OS pour « burner PC », comme il existe des burner phones réservés aux activités sensibles. Au niveau de son utilisation, Qubes OS nous ramène à la joie bricoleuse du Linux du tournant du millénaire. C’est certes infiniment plus simple qu’un Linux en kit comme Arch ou Gentoo, mais cela demande nettement plus de bidouille que n’importe quelle distribution user-friendly. Les bugs rencontrés ne sont jamais les mêmes d’installation en installation ; la seule garantie est qu’il y en aura. Deux acronymes pour s’en sortir : GIYBF (Google is your best friend) et RTFM (Read the fucking manual).

Alternativement, vous pouvez lire cet article.

Installation

Qubes OS nécessite 4 Go de RAM en configuration minimum, ce qui est beaucoup comparé aux 2 Go d’un Windows 10, au 1 Go d’un Fedora ou aux 512 Mo d’un Ubuntu. Nous vous référons à notre guide pour l’installation par clé USB ; le test de Qubes sur une clé live est encore en phase expérimentale. Pour ceux qui y auraient pensé, faire tourner Qubes dans une machine virtuelle de type VMWare ou VirtualBox est presque mission impossible.

Premier écueil : le hardware. De nombreuses machines ont des soucis plus ou moins graves de compatibilité avec Qubes. D’après le site, faire tourner Qubes sur un MacBook nécessite par exemple d’abondantes lignes de code à l’installation pour avoir ne serait-ce qu’un touchpad qui marche. Notre PC de bureau n’aura heureusement pas de problèmes, contrairement à notre laptop LDLC qui souffrira au niveau de ses bus PCI.

L’installeur de Qubes est calqué sur celui de Fedora. Il n’y a pas de réelle difficulté à ce stade. En temps normal, Qubes ne peut pas être installé en double boot à côté d’un autre système d’exploitation, pour éviter d’être contaminé par ce dernier ; si l’on tente un double boot comme on en a l’habitude, l’autre OS deviendra inaccessible. Lors de l’installation, on demande de déterminer un mot de passe pour chiffrer le disque dur. On peut si on le souhaite choisir deux autres passwords, un pour l’utilisateur et un root pour les actions administratives.

Tout clavier azerty doit être précisé dès maintenant, car même si on pourra le paramétrer plus tard en ce qui concerne les qubes, on sera coincé avec le clavier par défaut pour tout ce qui touche à dom0 (voir ci-dessous).

Plongée dans le nexus

Au démarrage, Qubes OS demande le mot de passe de déchiffrement du disque dur. Le lancement est assez lent, le temps que le déchiffrement opère. On se logue ensuite normalement en tant qu’utilisateur. Pour des raisons de sécurité, Qubes n’est pas censé admettre plusieurs comptes. S’affiche alors une version spartiate du bureau Xfce, le desktop notamment utilisé par la distribution Xubuntu et qui mise plus sur la légereté que sur l’esthétique. Bienvenue dans dom0 – et graphiquement dans les années 2000.

Dom0 est un nexus entre les mondes. C’est de là que partent tous les qubes. Si ce sanctuaire venait à être compromis, ce serait game over. Ce n’est donc pas un endroit pour entreposer ses affaires et utiliser ses logiciels : ce serait comme si on menait ses expériences de chimiste sur le sol du laboratoire ! Même si ce bureau Xfce peut théoriquement contenir des dossiers et des fichiers, il n’en sera rien de facto. Il sert donc surtout de papier peint décoratif, comme dans l’interface Gnome Shell de Fedora.

Se lance automatiquement le gestionnaire de machines virtuelles, salle de contrôle des qubes. On y trouve dom0 et trois machines pour le pare-feu, le proxy et Tor ; le bouton le plus à droite de la barre permet d’afficher tous les qubes, même éteints. Dans le « menu démarrer » du bureau se trouve la liste des qubes et les applications présentes dans chacun d’eux. Chaque qube est assigné à une couleur pour être différencié d’un coup d’œil, et chaque fenêtre de logiciel a un contour coloré de la couleur de son qube. C’est moche mais efficace.

Les qubes installés par défaut, plus « deb » et « win7 » que nous avons créés nous-mêmes. Sous la colonne « state », les points verts désignent les qubes allumés.

Qubes OS vient avec quelques qubes par défaut : personal (jaune), work (bleu), untrusted (rouge), vault (noir) et anon-whonix (rouge). Mis à part le dernier, dédié à Tor, ils sont exactement identiques d’un point de vue logiciel et seul leur usage les différenciera. Ils s’allument de préférence depuis le gestionnaire de VM ; on peut lancer directement une application liée à un qube, mais c’est plus capricieux. Il faut parfois cliquer plusieurs fois sur l’application dans le menu pour qu’elle se décide à démarrer.

Les qubes peuvent être découpés en deux partie : une partie propre et isolée, l’AppVM, contenant uniquement des fichiers personnels ; et une partie commune, le TemplateVM, qui permet à tous les qubes de se servir des mêmes fichiers système et applications. Par exemple, les quatre premiers qubes mentionnés précédemment utilisent un même template Fedora. Toute application qu’on aurait tenté par ignorance d’installer directement sur une AppVM est détruite une fois le qube éteint (c’est du vécu). Par ailleurs, les AppVM sont dépourvues de bureau. La création d’un qube (c’est-à-dire d’une AppVM) à partir d’un template pré-existant se fait très facilement depuis le gestionnaire.

Le cloisonnement en qubes est plutôt intuitif et s’avère vite intellectuellement plaisant, surtout quand on est une personne multitâche. Les multibureaux révèlent bien mieux leur utilité sous Qubes que sous d’autres distribution Linux, vu qu’il est naturel de mettre chaque qube sur son propre bureau. On regrettera des soucis d’ergonomie comme un clic droit très casse-pieds à l’intérieur du gestionnaire de VM, un passage peu fluide entre les bureaux ou encore le fait qu’on ne puisse pas double-cliquer sur le haut d’une fenêtre pour la maximiser.

Le copier-coller de texte entre qubes ne se fait pas aussi facilement qu’à l’intérieur même d’un d’entre eux, mais on prend vite le coup de main. Ctrl+C dans le qube de départ, Ctrl+Shift+C pour signifier qu’on veut sortir la sélection du qube, Ctrl+Shift+V dans le qube d’arrivée pour y faire rentrer la sélection, puis Ctrl+V là où on le souhaite. Pour envoyer un fichier dans un autre qube, il faut faire un clic droit et spécifier la destination. On ne peut rien échanger avec dom0 sans passer par un terminal.

Pour ouvrir un document suspect sans courir le risque de voir son qube définitivement compromis, il existe des DisposableVM, immédiatement détruites après utilisation. On peut en ouvrir une en cliquant droit sur le fichier en question, ou alors, si on souhaite utiliser Firefox, lancer ce dernier dans le menu démarrer comme pour n’importe quel qube. Ces qubes jetables sont par défaut de template Fedora et prennent la couleur du qube à partir duquel ils sont lancés.

Ci-dessous, quand nous ouvrons un PDF téléchargé dans le qube « work », il s’affiche dans un qube jetable de couleur bleue, utilisant le visionneur de documents de Fedora et qui disparaîtra une fois la fenêtre fermée.

Remarquez le qube « disp3 » à la troisième ligne du gestionnaire. Deux autres qubes jetables avaient été créés précédemment dans la même session.

Installer un Windows (ou un autre OS)

Qubes OS contient par défaut quatre templates : Fedora, Debian et les deux moitiés gateway et workstation de Whonix, un OS sécurisé axé sur la navigation via Tor et destiné à ne fonctionner que dans des machines virtuelles. Seuls certains Linux peuvent être installés via un template. Manque de chance, la création d’un template Ubuntu est rendue très complexe (digne de l’installation d’un Arch sur une machine normale) par le fait que Canonical n’autorise pas la redistribution d’un Ubuntu modifié.

Installer un Windows 7 dans Qubes est facile, que ce soit depuis un DVD ou un ISO téléchargé dans un des qubes. (Dans le dernier cas, il faut au préalable remonter la limite maximum de stockage du qube, fixée par défaut à 2 Go). On ne passe alors pas par un template mais par une HVM – hardware virtual machine, soit l’équivalent des VM telles qu’on les connaît par exemple dans VirtualBox. Tout OS dont on a l’ISO peut théoriquement y être installé, mais c’est beaucoup moins vrai en pratique : Windows 10 ne fonctionne pas, et si Ubuntu est sensé être installable, nous y avons échoué.

Une HVM se crée dans le terminal de dom0 avec quelques lignes simples que nous devrons recopier entièrement à la main vu que le copier-coller de texte ne fonctionne pas entre dom0 et un qube. Elle se gère vaguement comme un qube normal, mais avec un vrai bureau, pas de copier-coller avec les autres qubes et pas de son. La RAM allouée est fixe, par défaut à 512 petits Mo, qu’il faut remonter sous peine de voir le pauvre Windows suffoquer. Ce dernier se connecte à Internet sans manœuvre supplémentaire.

Le curseur Windows suit paresseusement celui de Qubes, sans traîner trop pour que ce soit gênant. Le Windows vit sa vie et fait ses mises à jour, quoi qu’il n’arrive pas à redémarrer seul et il doit être relancé manuellement après s’être éteint. Chez nous, mieux vaut éteindre le Windows avant de mettre l’ordinateur en veille. Sinon, Qubes reste bloqué dans un état éveillé mais où il ne réagit à rien et n’affiche aucune image, et doit être redémarré.

Installer des logiciels : ça se complique

Le MP3 étant un format propriétaire d’un institut de recherche allemand, il n’est généralement pas fourni par défaut dans les distributions Linux. Sous un Fedora normalement constitué, nous nous rendrions dans la logithèque, chercherions « mp3 », installerions les codecs non libres, et le tour serait joué. Mais ce que nous ne verrions pas, c’est que Fedora part chercher lesdits codecs dans un dépôt, RPM Fusion, qu’il n’inclut pas par défaut. Et quand Qubes OS voit un petit Fedora dans un petit qube essayer d’installer un dépôt étranger, il ne lui en donne tout simplement pas l’autorisation – ce serait beaucoup trop dangereux ! Cette permission doit être donnée dans le terminal de dom0.

Exit l’interface graphique pour installer des applications

La logithèque Fedora apprécie particulièrement mal les proxys de Qubes, et se contente presque toujours de montrer des catégories vides. Exit l’interface graphique pour installer des applications. Mais même là, pour nous qui avons l’habitude de télécharger des .rpm (l’équivalent du .deb des systèmes Debian/Ubuntu, et grossièrement des installeurs en .exe de Windows) et de les installer en double-cliquant dessus, voire en ligne de commande si nécessaire… le bât blesse. En effet, le .rpm est rangé, comme tous les fichiers personnels, dans une AppVM. Mais comment l’installer alors dans une TemplateVM, où il n’y a aucun fichier perso ? Quand on sait que ni LibreOffice ni aucun équivalent ne sont livrés par défaut avec Qubes, c’est assez embarassant.

L’app store de Debian ne se porte pas mieux que celui de Fedora, mais l’installation en ligne de commande cause moins de problèmes. LibreOffice et VLC s’y installent sans souci. Que ce soit sous Debian ou Fedora, installer un logiciel requiert d’ouvrir le terminal du template, de procéder à l’installation en ligne de commande, d’éteindre le template, et de (re)démarrer le(s) qube(s) concernés, avant éventuellement de rajouter les nouveaux raccourcis dans les menus de ces derniers. Pour rappel, installer par exemple GIMP se fait avec sudo apt-get install gimp sous Debian et sudo dnf install gimp sous Fedora.

Rajout de raccourcis pour le qube « work » dans le menu démarrer de Qubes.

Le monde merveilleux de la bricole

Les périphériques USB sont par défaut rattachés à dom0, avec tous les problèmes de sécurité que cela pose. À partir du gestionnaire de VM, on peut d’un clic droit rattacher tel disque dur externe à tel qube. Chez nous, il reste des bugs au moment de détacher le périphérique d’un qube pour le rattacher à un autre ; il faut parfois redémarrer l’ordinateur pour que cela fonctionne, ou alors le gestionnaire de qubes plante.

Si on veut brancher des clés USB suspectes sans courir de risque, il faut créer un qube USB spécial avec deux lignes de commande et surtout avoir de suffisamment bonnes notions en hardware pour y rattacher les bons bus. Nous avions eu le malheur de créer ce qube USB sans le paramétrer ; au redémarrage, horreur, notre clavier USB était coincé dans ce qube, sans possibilité de communiquer à dom0 le mot de passe de déchiffrement du disque… Nous avons dû réinstaller le système, qui heureusement ne contenait aucun fichier important, et avons compris pourquoi Joanna Rutkowska préconise les claviers et souris non USB.

Attachement standard d’un disque dur USB sur le qube « work », dans le cas où il n’existe pas de qube USB dédié.

Vient le moment de regarder un flux vidéo en live. Premier constat : le qube dans lequel tourne la retransmission devient inutilisable pour d’autres fins. Eh oui, toute la RAM du qube est monopolisée. Deuxième constat : impossible de se mettre en plein écran. C’est une mesure de sécurité : imaginons qu’un qube infecté se mette en plein écran, se déguise pour faire croire qu’il est dom0, et fasse du phishing à l’utilisateur. Cette interdiction du plein écran n’est pas très gênante pour regarder un film téléchargé – dont on pourra toujours agrandir la fenêtre – mais quand il s’agit de streaming, l’immersion en est très atteinte.

Bonne blague, enfin : à votre avis, quand nous avons pris des captures d’écran pour illustrer cet article, dans quel qube les screenshots ont-il atterri ? Évidemment dans dom0, l’endroit où aucun fichier n’est censé entrer. Via un terminal, on peut les exfiltrer vers un vrai qube avec une commande toute simple. On aurait préféré une option pour enregistrer directement les captures d’écran dans tel ou tel qube, mais on comprend que ce soit difficile à implémenter.

Transfert de captures d’écran depuis dom0 vers le qube « work ».

Malgré tout ces désagréments, Qubes OS reste un système d’exploitation étonnamment plaisant à utiliser. Peut-être par le sentiment de sécurité qu’il procure ? Cet OS n’ayant que cinq ans d’existence, nous pouvons espérer que ses prochaines mises à jour le rendront plus accessible à un grand public soucieux de sa sécurité.

Qubes OS

En bref

Qubes OS

Qubes OS est le nec plus ultra de la sécurité sur desktop. C'est un incontournable pour quiconque travaille avec des données sensibles et voyage avec un ordinateur portable.

Rustique, il rebutera en revanche les débutants. Mais ce n'est pas vraiment pour le grand public que cet OS a été conçu.

Top

  • Ultra-sécurisé
  • Relativement intuitif
  • Intellectuellement agréable

Bof

  • Le hardware mal supporté
  • Nécessite beaucoup de bricolage
  • Lourd et disgrâcieux au quotidien

Partager sur les réseaux sociaux