Qu'est-ce que la confiance en matière de gestion des paquets ?

Comprendre la confiance
Faire confiance à d'autres clés

La possibilité pour apt d'accéder à de nombreuses sources de paquets conduit à un risque potentiel en matière de sécurité. Supposons que vous ajoutiez une archive publiée par Jean-Kevin Lepirate à votre fichier sources.list afin d'installer le paquet ubersuper de Jean-Kevin. Il est possible que l'archive de Jean-Kevin contienne aussi ses propres versions « personnalisées » de paquets comme libc6 ou ssh... et ces versions vont voler vos informations personnelles ou ouvrir des portes dérobées sur votre système ! Si ces paquets ont un numéro de version supérieur à ceux des paquets Debian légitimes, apt les installera sur votre système à la prochaine mise à jour, sans se soucier de rien, permettant à Jean-Kevin de faire sa sale besogne dans votre dos. Jean-Kevin pourrait aussi modifier votre miroir des archives Debian et remplacer les logiciels légitimes par ses versions corrompues.

Heureusement, les nouvelles versions d'apt et d'aptitude, comme celle qui est documentée dans ce manuel, intègrent des mécanismes de protection pour contrer ce genre d'attaque. apt utilise de puissants mécanismes de sécurité basés sur le célèbre logiciel de chiffrement GPG pour vérifier que les paquets qui sont distribués depuis les miroirs officiels Debian sont bien les mêmes que ceux qui ont été envoyés par les responsables de paquets Debian. aptitude vous avertira alors si vous tentez d'installer un paquet depuis une source non-Debian, ou si vous tentez de mettre à jour un paquet provenant d'une source Debian vers une version qui ne vient pas d'une source Debian.

[Avertissement]Avertissement

Les mécanismes de sécurité d'apt fournissent une garantie presque totale que le contenu de votre miroir est identique au contenu de l'archive Debian principale. Néanmoins, ce n'est pas une panacée. Par exemple, il existe théoriquement de nombreuses façons de mettre un paquet corrompu dans l'archive Debian principale.

S'assurer que vous n'installez des logiciels que depuis des sources fiables vous apportera un degré important de protection contre les paquets malveillants, mais ça ne peut pas éliminer tous les risques inhérents à l'installation de logiciels.

Comprendre la confiance

apt permet à l'administrateur d'une archive de fournir une signature de l'index de l'archive. Cette signature, qui (pour des raisons pratiques) ne peut pas être falsifiée, indique que les fichiers indiqués dans l'index sont bien ceux que l'administrateur avait l'intention de mettre dans l'archive : c'est-à-dire que le contenu de l'archive n'a pas été corrompue depuis sa création[9]. La signature peut être vérifiée en s'assurant qu'elle correspond à la clé publique de l'administrateur. La clé publique de l'archive Debian est distribuée avec apt, typiquement sur votre CD Debian.

Quand aptitude télécharge l'index d'une archive, il vérifie si l'index est bien signé. S'il ne l'est pas, aptitude ne fera pas confiance aux paquets de cette archive (voir plus bas pour savoir ce que cela signifie). S'il a une signature mais que celle-ci est incorrecte ou ne peut être vérifiée, un avertissement sera affiché et aptitude refusera de faire confiance aux paquets de cette archive.

Plus tard, quand vous lancerez un processus d'installation, aptitude vérifiera si les paquets viennent de sources fiables. Si un paquet douteux est sur le point d'être installé, ou si un paquet est mis à jour d'une version fiable vers une version non fiable, un avertissement est affiché et vous avez la possibilité d'interrompre le téléchargement :

[avertissement de paquets ou versions non sûrs]

Faire confiance à d'autres clés

Il peut être pratique de faire en sorte qu'apt fasse confiance à d'autres archives, en plus de l'archive Debian principale. Pour chaque archive à laquelle vous voulez faire confiance, vous devez récupérer la clé publique utilisée pour signer l'index des paquets de cette archive. C'est habituellement un fichier texte dont le nom finit par .asc. Il doit être fourni par l'administrateur du serveur ou téléchargeable depuis un serveur de clés publiques. Pour plus d'information sur ce que sont les clés publiques et comment les récupérer, consultez la page web de GPG.

La liste des clés auxquelles apt fait confiance est stockée dans le fichier porte-clés /etc/apt/trusted.gpg. Une fois que vous avez la clé GPG, vous pouvez l'ajouter à ce fichier en exécutant la commande gpg --no-default-keyring --keyring /etc/apt/trusted.gpg --import nouvelleclef.asc. aptitude fera alors confiance à toutes les archives signées avec la clé contenue dans nouvelleclef.asc.

[Avertissement]Avertissement

Une fois que la clé d'une archive a été ajoutée au porte-clés d'apt, il lui sera accordé autant de confiance qu'aux miroirs Debian eux-mêmes ! Vous ne devriez faire cela que si vous êtes absolument sûr que la clé que vous ajoutez est la bonne et que la personne qui détient cette clé est à la fois fiable et compétente.



[9] Comme indiqué plus haut, cela n'indique pas que les paquets dans l'archive sont sûrs ou non malveillants ; cela montre simplement qu'ils sont d'origine.