'\" t .\" Title: apt-secure .\" Author: Jason Gunthorpe .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 23\ \&novembre\ \&2024 .\" Manual: APT .\" Source: APT 3.3.3 .\" Language: French .\" .TH "APT\-SECURE" "8" "23\ \&novembre\ \&2024" "APT 3.3.3" "APT" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NOM" apt-secure \- Gestion de l\*(Aqauthentification d\*(Aqarchive avec APT .SH "DESCRIPTION" .PP Depuis sa version\ \&0\&.6, \fBapt\fR sait v\('erifier la signature du fichier Release de chaque d\('ep\(^ot\&. On s\*(Aqassure ainsi que les paquets dans l\*(Aqarchive ne peuvent pas \(^etre modifi\('es par quelqu\*(Aqun qui ne poss\(`ede pas la clef de la signature du fichier Release\&. \(`A partir de la version\ \&1\&.1, \fBapt\fR exige que les d\('ep\(^ots fournissent des informations r\('ecentes d\*(Aqauthentification pour une utilisation libre du d\('ep\(^ot\&. Depuis la version\ \&1\&.5, les modifications dans les informations contenues dans le fichier Release sur le d\('ep\(^ot, doivent \(^etre confirm\('ees avant qu\*(AqAPT continue \(`a appliquer les mises \(`a jour depuis ce d\('ep\(^ot\&. .PP Attention\ \&: toutes les interfaces de gestion de paquets comme \fBapt-get\fR(8), \fBaptitude\fR(8) et \fBsynaptic\fR(8) poss\(`edent cette fonction de certification, aussi cette page de manuel utilise APT pour se r\('ef\('erer \(`a l\*(Aqensemble d\*(Aqentre elles, pour des raisons de simplicit\('e\&. .SH "CONFIGURATION UTILISATEUR" .PP Les clefs devraient \(^etre incluses dans leur \&.sources correspondants en embarquant leur clef au format ASCII\-armored dans l\*(Aqoption Signed\-By\&. Pour ce faire, remplacez la ligne vide par un point, et indentez toutes les lignes de deux espaces\&. Voir \fBsources.list\fR(5) pour plus d\*(Aqinformations\&. .PP Sinon, les clefs peuvent \(^etre plac\('ees dans /etc/apt/keyrings pour les clefs locales ou dans /usr/share/keyrings pour les clefs g\('er\('ees par des paquets, puis r\('ef\('erenc\('ees par l\*(Aqoption Signed\-By: /etc/apt/keyrings/example\-archive\-keyring\&.asc dans un fichier \&.sources ou en utilisant deb [signed\-by=/etc/apt/keyrings/example\-archive\-keyring\&.asc] \&.\&.\&. dans le format patrimonial \&.list\&. Cela peut \(^etre utile pour les versions d\*(AqAPT ant\('erieures \(`a la version\ \&2\&.4 qui ne prennent pas en charge les clefs embarqu\('ees\&. Les clefs au format ASCII\-armored doivent utiliser une extension \&.asc et les clefs sans armure une extension \&.gpg\&. .PP Pour g\('en\('erer des clefs en utilisant GnuPG, utilisables avec APT, vous devez utiliser la commande \fBgpg \-\-export\-options export\-minimal [\-\-armor] \-\-export\fR \&. Les solutions ant\('erieures impliquant \fB\-\-keyring file \-\-import\fR ne fonctionnent plus avec les versions r\('ecentes de GnuPG car elles utilisent un nouveau format interne (\(Fo\ \&GPG keybox database\ \&\(Fc)\&. .PP Veuillez noter qu\*(Aqune installation par d\('efaut poss\(`ede d\('ej\(`a toutes les clefs pour obtenir en toute s\('ecurit\('e des paquets des d\('ep\(^ots par d\('efaut, aussi, g\('erer les clefs n\*(Aqest n\('ecessaire que si vous souhaitez ajouter des d\('ep\(^ots de tierces parties\&. Le paquet \fBextrepo\fR peut \(^etre utilis\('e pour g\('erer facilement plusieurs d\('ep\(^ots externes\&. .SH "D\('EP\(^OTS NON SIGN\('ES" .PP Si une archive poss\(`ede un fichier Release non sign\('e ou pas de fichier Release du tout, les versions actuelles d\*(AqAPT refuseront par d\('efaut d\*(Aqen t\('el\('echarger des donn\('ees dans les op\('erations \fBupdate\fR\&. M\(^eme si un frontal tel que \fBapt-get\fR(8) est forc\('e de t\('el\('echarger, il demandera une confirmation explicite si une installation inclut un paquet d\*(Aqune archive non authentifi\('ee\&. .PP Vous pouvez contraindre les clients APT \(`a n\*(Aq\('emettre que des avertissements en configurant l\*(Aqoption \fBAcquire::AllowInsecureRepositories\fR \(`a true\&. L\*(Aqoption allow\-insecure=yes de \fBsources.list\fR(5) peut aussi permettre \(`a des d\('ep\(^ots individuels d\*(Aq\(^etre non s\('ecuris\('es\&. Veuillez noter que les d\('ep\(^ots non s\('ecuris\('es sont fortement d\('econseill\('es et toutes les options pour contraindre APT \(`a continuer \(`a les prendre en charge devront \(^etre \('eventuellement supprim\('ees\&. Les utilisateurs disposent aussi de l\*(Aqoption \fBTrusted\fR pour d\('esactiver m\(^eme les avertissements, mais il faut \(^etre s\(^ur de comprendre ses implications d\('etaill\('ees dans \fBsources.list\fR(5)\&. .PP Un d\('ep\(^ot qui auparavant \('etait authentifi\('e, mais qui perdrait cet \('etat lors d\*(Aqune op\('eration \fBupdate\fR envoie un message d\*(Aqerreur \(`a tous les clients d\*(AqAPT quelle que soit l\*(Aqoption d\*(Aqautoriser ou d\*(Aqinterdire l\*(Aqutilisation de d\('ep\(^ots non s\('ecuris\('es\&. L\*(Aqerreur peut \(^etre contourn\('ee par le r\('eglage suppl\('ementaire de \fBAcquire::AllowDowngradeToInsecureRepositories\fR \(`a true, ou, pour des d\('ep\(^ots individuels avec l\*(Aqoption allow\-downgrade\-to\-insecure=yes de \fBsources.list\fR(5)\&. .SH "D\('EP\(^OTS SIGN\('ES" .PP D\*(Aqune archive APT jusqu\*(Aq\(`a l\*(Aqutilisateur, la cha\(^ine de confiance se construit en plusieurs \('etapes\&. \fBApt\-secure\fR est la derni\(`ere \('etape\&. Faire confiance \(`a une archive ne signifie pas que les paquets qu\*(Aqelle contient sont exempts de code malveillant, mais signifie que vous faites confiance au responsable de l\*(Aqarchive\&. C\*(Aqest ensuite au responsable de l\*(Aqarchive de faire en sorte que l\*(Aqarchive soit fiable\&. .PP \fBApt\-secure\fR n\*(Aqexamine pas la signature d\*(Aqun paquet\&. Certains programmes peuvent le faire comme \fBdebsig\-verify\fR ou \fBdebsign\fR, qu\*(Aqon peut trouver dans les paquets debsig\-verify et devscripts\&. .PP La cha\(^ine de confiance dans Debian commence, par exemple, quand un responsable de paquet envoie un nouveau paquet ou une nouvelle version d\*(Aqun paquet dans l\*(Aqarchive\&. Cet envoi, pour \(^etre effectif, doit \(^etre sign\('e avec la clef d\*(Aqun responsable qui se trouve dans un des trousseaux des responsables de paquet Debian (disponibles dans le paquet debian\-keyring)\&. Les clefs des responsables de paquet sont sign\('ees par d\*(Aqautres responsables, suivant des proc\('edures pr\('e\('etablies pour s\*(Aqassurer de l\*(Aqidentit\('e des propri\('etaires de la clef\&. Des proc\('edures similaires existent dans toutes les distributions bas\('ees sur Debian\&. .PP Une fois que le paquet envoy\('e a \('et\('e v\('erifi\('e et inclus dans l\*(Aqarchive, la signature du responsable est enlev\('ee, une somme de contr\(^ole du paquet est calcul\('ee et mise dans le fichier Packages\&. Une somme de contr\(^ole de tous les paquets est ensuite calcul\('ee et mise dans le fichier Release\&. Ce fichier est sign\('e par la clef de l\*(Aqarchive pour la version courante de la distribution et distribu\('ee en m\(^eme temps que les paquets et les fichiers Packages sur les miroirs\&. Les clefs sont dans le trousseau de clefs de l\*(Aqarchive fournies par le paquet debian\-archive\-keyring\&. .PP Un utilisateur peut consulter la signature du fichier Release, extraire la somme de contr\(^ole d\*(Aqun paquet et la comparer avec la somme du paquet qu\*(Aqil a t\('el\('echarg\('e, ou tout simplement compter sur APT pour faire ces op\('erations automatiquement\&. .PP Cette fa\(,con de faire est diff\('erente d\*(Aqune v\('erification de la signature d\*(Aqun paquet\&. Elle vise \(`a emp\(^echer deux types d\*(Aqattaque possibles\ \&: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Attaque r\('eseau de type \(Fo\ \&homme au milieu\ \&\(Fc\&. Sans v\('erification de signature, quelqu\*(Aqun de malveillant peut s\*(Aqintroduire au milieu du processus de t\('el\('echargement et ins\('erer du code soit en contr\(^olant un \('el\('ement du r\('eseau, routeur, commutateur, etc\&., soit en d\('etournant le trafic vers un serveur fourbe (par usurpation d\*(Aqadresses)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Attaque par compromission d\*(Aqun miroir sur le r\('eseau\&. Sans v\('erification de signature, quelqu\*(Aqun de malveillant peut compromettre un miroir et modifier les fichiers\&. Ainsi tous ceux qui t\('el\('echargent les paquets de ce miroir propagent du code malveillant\&. .RE .PP Cependant cette m\('ethode ne prot\(`ege pas contre une compromission du serveur principal lui\-m\(^eme (qui signe les paquets) ni contre la compromission de la clef qui sert \(`a signer les fichiers Release\&. Mais elle peut compl\('eter la signature des paquets\&. .SH "MODIFICATIONS DES INFORMATIONS" .PP Le fichier Release renferme, en plus des sommes de contr\(^ole pour les fichiers du d\('ep\(^ot, des informations g\('en\('erales sur le d\('ep\(^ot comme l\*(Aqorigine, le nom de code ou le num\('ero de la version\&. .PP Ces informations apparaissent \(`a plusieurs endroits, aussi, le propri\('etaire d\*(Aqun d\('ep\(^ot devrait toujours s\*(Aqassurer de leur exactitude\&. Par ailleurs, les configurations de l\*(Aqutilisateur, comme \fBapt_preferences\fR(5), peuvent d\('ependre de ces informations et les utiliser\&. Depuis la version\ \&1\&.5, l\*(Aqutilisateur doit par cons\('equent confirmer de fa\(,con explicite les modifications pour signaler qu\*(Aqil est suffisamment pr\('epar\('e, par exemple, pour la nouvelle version majeure de la distribution fournie dans le d\('ep\(^ot (comme indiqu\('e par exemple par le nom de code)\&. .SH "CONFIGURATION DU D\('EP\(^OT" .PP Si vous voulez signer les archives dont vous avez la responsabilit\('e, vous devez\ \&: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIcr\('eer un fichier Release \(`a la racine de l\*(Aqarchive\fR, s\*(Aqil n\*(Aqexiste pas d\('ej\(`a\&. Vous pouvez le cr\('eer avec la commande \fBapt\-ftparchive release\fR (fournie dans le paquet apt\-utils)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIle signer\fR, avec les commandes \fBgpg \-\-clearsign \-o InRelease Release\fR et \fBgpg \-abs \-o Release\&.gpg Release\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIpublier l\*(Aqempreinte de la clef\fR\&. Ainsi les utilisateurs de votre archive conna\(^itront la clef qu\*(Aqils doivent importer pour authentifier les fichiers de l\*(Aqarchive\&. Le mieux est de diffuser sa clef dans son propre paquet de trousseau comme le fait Debian avec debian\-archive\-keyring pour ensuite distribuer automatiquement les mises \(`a jour et les transitions de clefs\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fIfournir les instructions pour ajouter l\*(Aqarchive et la clef\fR\&. Si les utilisateurs ne peuvent r\('ecup\('erer de fa\(,con s\(^ure votre clef, la cha\(^ine de confiance d\('ecrite plus haut est rompue\&. La fa\(,con d\*(Aqaider les utilisateurs \(`a ajouter votre clef de l\*(Aqarchive d\('epend de l\*(Aqarchive et de l\*(Aqaudience cible\ \&: cela va d\*(Aqun paquet de trousseau inclus dans une autre archive que des utilisateurs ont d\('ej\(`a configur\('ee (comme les d\('ep\(^ots par d\('efaut de leur distribution) \(`a la mobilisation du web de confiance\&. .RE .PP Chaque fois que le contenu de l\*(Aqarchive change, (suppression ou ajout de nouveaux paquets) le responsable doit refaire les deux premi\(`eres \('etapes\&. .SH "VOIR AUSSI" .PP \fBapt.conf\fR(5), \fBapt-get\fR(8), \fBsources.list\fR(5), \fBapt-ftparchive\fR(1), \fBdebsign\fR(1), \fBdebsig-verify\fR(1), \fBgpg\fR(1) .PP Pour des informations plus compl\(`etes, vous pouvez consulter \m[blue]\fBl\*(Aqinfrastructure Debian pour la s\('ecurit\('e\fR\m[]\&\s-2\u[1]\d\s+2 un chapitre du manuel Debian sur la s\('ecurit\('e (aussi disponible dans le paquet harden\-doc) et le \m[blue]\fBStrong Distribution HOWTO\fR\m[]\&\s-2\u[2]\d\s+2 par V\&. Alex Brennen\&. .SH "BOGUES" .PP \m[blue]\fBPage des bogues d\*(AqAPT\fR\m[]\&\s-2\u[3]\d\s+2\&. Si vous souhaitez signaler un bogue \(`a propos d\*(AqAPT, veuillez lire /usr/share/doc/debian/bug\-reporting\&.txt ou utiliser la commande \fBreportbug\fR(1)\&. .SH "AUTHOR" .PP APT a \('et\('e \('ecrit par l\*(Aq\('equipe de d\('eveloppement APT \&. .SH "AUTEURS DES PAGES DE MANUEL" .PP Cette page a \('et\('e \('ecrite \(`a partir des travaux de Javier Fern\('andez\-Sanguino Pe\(~na, Isaac Jones, Colin Walters, Florian Weimer et Michael Vogt\&. .SH "TRADUCTEURS" .PP J\('er\(^ome Marant, Philippe Batailler, Christian Perrier (2000, 2005, 2009, 2010), bubu et Jean\-Pierre Giraud (2004, 2017\-2024) et l\*(Aq\('equipe de traduction francophone de Debian .PP Veuillez noter que cette traduction peut contenir des parties non traduites\&. Cela est volontaire, pour \('eviter de perdre du contenu quand la traduction est l\('eg\(`erement en retard sur le contenu d\*(Aqorigine\&. .SH "AUTEURS" .PP \fBJason Gunthorpe\fR .RS 4 .RE .PP \fB\('Equipe de d\('eveloppement d\*(AqAPT\fR .RS 4 .RE .SH "NOTES" .IP " 1." 4 l'infrastructure Debian pour la s\('ecurit\('e .RS 4 \%https://www.debian.org/doc/manuals/securing-debian-manual/ch07 .RE .IP " 2." 4 Strong Distribution HOWTO .RS 4 \%http://www.cryptnet.net/fdp/crypto/strong_distro.html .RE .IP " 3." 4 Page des bogues d'APT .RS 4 \%https://bugs.debian.org/src:apt .RE