![]() |
apt-secure(8) |
![]() |
apt-secure − Gestion de l'authentification d'archive avec APT
Depuis sa version 0.6, apt sait vérifier la signature du fichier Release de chaque archive. On s'assure ainsi que les paquets de cette archive ne peuvent pas être modifiés par quelqu'un qui ne possède pas la clé de la signature du fichier Release.
Quand un paquet provient d'une archive sans signature ou d'une archive avec une signature dont apt ne possède pas la clé, ce paquet n'est pas considéré comme fiable et son installation provoquera un avertissement. Pour l'instant, apt−get ne signale que les archives sans signature ; les prochaines versions pourraient rendre obligatoire la vérification des sources avant tout téléchargement de paquet.
Les interfaces apt-get(8), aptitude(8) et synaptic(8) possèdent cette nouvelle fonction de certification.
D'une archive apt jusqu'à l'utilisateur, la confiance se construit en plusieurs étapes. Apt−secure est la dernière étape. Faire confiance à une archive ne signifie pas que les paquets qu'elle contient sont exempts de code malveillant, mais signifie que vous faites confiance au responsable de l'archive. C'est ensuite au responsable de l'archive de faire en sorte que l'archive soit fiable.
Apt−secure n'examine pas la signature d'un paquet. Certains programmes peuvent le faire comme debsig−verify ou debsign, qu'on peut trouver dans les paquets debsig−verify et devscripts.
La chaîne de confiance dans Debian commence quand un responsable de paquet envoie un nouveau paquet ou une nouvelle version d'un paquet dans l'archive. Cet envoi, pour être effectif, doit être signé avec la clé d'un responsable qui se trouve dans le trousseau des responsables Debian (disponible dans le paquet debian−keyring). Les clés des responsables de paquet sont signées par d'autres responsables, suivant des procédures préétablies pour s'assurer de l'identité des propriétaires de la clé.
Une fois que le paquet envoyé a été vérifié et inclus dans l'archive, la signature du responsable est enlevée, une somme MD5 du paquet est calculée et mise dans le fichier Packages. Une somme MD5 de tous les paquets est ensuite calculée et mise dans le fichier Release. Ce fichier est signé par la clé de l'archive. Cette clé, qui est recréée chaque année, est distribuée par le serveur FTP. Elle se trouve aussi dans le trousseau Debian.
Un utilisateur peut consulter la signature du fichier Release, extraire la somme MD5 d'un paquet et la comparer avec la somme du paquet qu'il a téléchargé. Avant la version 0.6, seule la somme du paquet téléchargé était vérifiée. Maintenant on peut vérifier aussi la signature du fichier Release.
Cette façon de faire est différente d'une vérification de la signature d'un paquet. Elle vise à empêcher deux types d'attaque possibles :
• Attaque réseau de type « homme au milieu ». Sans vérification de signature, quelqu'un de malveillant peut s'introduire au milieu du processus de téléchargement et insérer du code soit en contrôlant un élément du réseau, routeur, commutateur, etc. soit en détournant le trafic vers un serveur fourbe (par usurpation d'adresses).
• Attaque par compromission d'un miroir sur le réseau. Sans vérification de signature, quelqu'un de malveillant peut compromettre un miroir et modifier les fichiers. Ainsi tous ceux qui téléchargent les paquets de ce miroir propagent du code malveillant.
Cependant cette méthode ne protège pas contre une compromission du serveur Debian lui−même (qui signe les paquets) ni contre la compromission de la clé qui sert à signer les fichiers Release. Mais elle peut compléter la signature des paquets.
Le programme qui gère la liste des clés utilisées par apt s'appelle apt−key. Il peut ajouter ou supprimer des clés. Cette version installe automatiquement les clés qui servent à signer l'archive Debian et les différents répertoires de paquets.
Pour ajouter une clé, vous devez d'abord la télécharger. Il vaut mieux utiliser un canal fiable pour ce téléchargement. Ensuite vous l'ajoutez avec la commande apt−key et vous lancez la commande apt−get update pour télécharger et vérifier le fichier Release.gpg de l'archive que vous avez configurée.
Si vous voulez signer les archives dont vous avez la responsabilité, vous devez :
• créer un fichier Release à la racine de l'archive, s'il n'existe pas déjà. Vous pouvez le créer avec la commande apt−ftparchive release (fournie dans le paquet apt−utils).
• le signer, avec la commande gpg −abs −o Release.gpg Release.
• publier l'empreinte de la clé. Ainsi les utilisateurs de votre archive connaîtront la clé qu'ils doivent importer pour authentifier les fichiers de l'archive.
Chaque fois que le contenu de l'archive change, le responsable doit refaire les deux premières étapes.
apt.conf(5), apt-get(8), sources.list(5), apt-key(8), apt-ftparchive(1), debsign(1) debsig-verify(1), gpg(1)
Pour des informations plus complètes, vous pouvez consulter l'infrastructure debian pour la sécurité [1] un chapitre du manuel Debian sur la sécurité (disponible dans le paquet harden−doc) et le Strong Distribution HOWTO [2] par V. Alex Brennen.
Page des bogues d'APT [3] . Si vous souhaitez signaler un bogue à propos d'APT, veuillez lire /usr/share/doc/debian/bug−reporting.txt ou utiliser la commande reportbug(1).
APT a été écrit par l'équipe de développement APT apt@packages.debian.org.
Cette page a été écrite à partir des travaux de Javier Fernández−Sanguino Peña, Isaac Jones, Colin Walters, Florian Weimer et Michael Vogt.
Jérôme Marant, Philippe Batailler, Christian Perrier bubulle@debian.org (2000, 2005, 2009, 2010), Équipe de traduction francophone de Debian debian−l10n−french@lists.debian.org
Veuillez noter que cette traduction peut contenir des parties non traduites Cela est volontaire, pour éviter de perdre du contenu quand la traduction est légèrement en retard sur le contenu d'origine.
Jason Gunthorpe
Copyright © 1998-2001 Jason Gunthorpe
1. |
l’infrastructure debian pour la sécurité |
http://www.debian.org/doc/manuals/securing-debian-howto/ch7.en.html
2. |
Strong Distribution HOWTO |
http://www.cryptnet.net/fdp/crypto/strong_distro.html
3. |
Page des bogues d’APT |
http://bugs.debian.org/src:apt
![]() |
apt-secure(8) | ![]() |