&apt-docinfo;
apt-secure 8
apt-secure Certification d'archive avec APT

## Description

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 paquets &apt-get;, &aptitude; et &synaptic; possèdent cette nouvelle fonction de certification.

## Archives fiables

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 fiabilisation 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 le paquet vérifié et archivé, 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 créée chaque année et distribuée par le serveur FTP 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 :

- L'attaque 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).

- L'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 garantit 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.

## Configuration

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.

## Configuration d'une archive

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.

## Voir aussi

&apt-conf;, &apt-get;,&sources-list;, &apt-key;, &apt-ftparchive;, &debsign;, &debsig-verify;, &gpg;

Pour des informations plus substantielles, vous pouvez consulter l'infrastructure debian pour la sécurité un chapitre du manuel Debian sur la sécurité (disponible dans le paquet harden-doc) et le Strong Distribution HOWTO par V. Alex Brennen.

&manbugs; &manauthor;

## Auteurs

Cette page a été écrite à partir des travaux de Javier Fernández-Sanguino Peña, Isaac Jones, Colin Walters, Florian Weimer et Michael Vogt.

&traducteur;