Paquet Debian

Signer un dépôt Apt

Facebooktwitterredditpinterestlinkedinmail

Si vous avez suivi les articles précédents, vous savez désormais créer un paquet Deb et créer un dépôt Apt. Nous allons maintenant décrire la signature des paquets et du dépôt à l’aide GnuPG.

On va commencer par l’installer :

Générer la clé GPG de signature

Note: Il peut être intéressant de créer la clé avec le compte root si c’est lui qui met à jour reprepro. Ce n’est pas obligatoire et si vous ne souhaitez pas le faire, vous pourrez modifier un peu le script /var/reprepro/update pour manipuler les droits. Je vous laisse voir les modifications à y apporter dans ce cas.

Nous allons commencer par générer la clé. L’opération prend un certain temps, que je ne peux préciser puisque j’ai fini par baisser les bras et aller me coucher en laissant tourner GNU PG toute la nuit.

Rien de compliqué, on laisse systématiquement les valeurs par défaut. Je reprends :

Selon Debian, l’utilisation d’un commentaire, comme dans l’exemple « le poète », est déconseillée. On ne signe pas quelque chose en mettant ce type de commentaire, ce à quoi j’adhère.

C’est maintenant que l’on s’attaque à la partie extrêmement longue, la génération de la clé à proprement parler :

La paire de clés privée / publique est comme toujours au format binaire. Contrairement à cette dernière, une représentation ASCII de la clé publique utilise un jeu réduit de symboles qui transite très facilement par tout moyen de communication. Nous allons maintenant générer cette représentation texte qui permettra à vos usagers de faire confiance à votre dépôt Apt comme à vos paquets Deb.

Signer un paquet Deb

Si vous utilisez la procédure Debian pour créer vos paquets, dpkg-buildpackage détectera automatiquement votre clé et l’utilisera pour les signer.

Avec la procédure simplifiée que nous avons vu ensemble, ce ne sera pas le cas. Nous allons utiliser dpkg-sig.

Entre le moment où vous avez créé votre paquet Deb et le moment ou vous l’avez ajouté à votre dépôt Apt, vous allez maintenant pouvoir le signer :

Builder étant le rôle du signataire. On n’a pas besoin ici de préciser la clé à utiliser, dpkg-sig va prendre la clé binaire que nous venons de créer dans votre profil utilisateur.

Signer un dépôt Apt

Nous allons maintenant voir comment signer votre dépôt, ce qui épargnera à vos utilisateurs lors de l’installation avec apt-get les avertissements du type :

Si vous avez mis en place votre dépôt Apt comme nous l’avons vu dans l’article précédent, vous pouvez le réinitialiser en supprimant sa base de données et la partie frontale :

Nous allons mettre à jour notre configuration de distribution et y intégrer la directive SignWith à chaque distribution que nous souhaitons signer :

Lorsque SignWith vaut yes, reprepro ira chercher la clé dans votre profile. Vous pouvez aussi au lieu de yes indiquer l’ID de la clé. Vous pouvez retrouver cet id grâce à la commande :

Il s’agit ici de la partie F787300E de la ligne qui commence par sub.

Enfin, nous allons modifier les options de reprepro pour qu’il nous demande le mot de passe de la clé :

Installer la signature du dépôt Apt

Pour pouvoir bénéficier de votre dépôt signé, vos utilisateurs vont devoir installer votre signature dans leur configuration Apt. Au premier chapitre de cet article, nous avons créé une version texte de votre clé publique, que nous avons enregistré dans le fichier [votre adresse email].gpg.key à l’aide de la commande gpg --armor.

Nous allons placer cette clé à la racine du serveur web afin qu’elle soit facilement téléchargeable. Dans notre configuration d’exemple, il s’agit du dossier /var/www/html/.

Vos utilisateurs peuvent désormais l’ajouter en une seule ligne de commande :

Après un apt-get update, vous constaterez que vos apt-get install n’affichent plus d’avertissement à l’installation de vos paquets Deb.

Facebooktwitterredditpinterestlinkedinmail

Un commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *