Comment vérifier l'intégrité d'une image ISO de distribution Linux

Comment vérifier l'intégrité d'une image ISO de distribution Linux

Lorsque nous décidons d'installer un système d'exploitation basé sur le noyau Linux, la première chose que nous faisons est de télécharger son image d'installation, ou ISO, à partir du site officiel de la distribution. Avant de procéder à l'installation réelle, cependant, il est crucial de vérifier l'intégrité de l'image, pour être sûr que c'est ce qu'il prétend être, et personne ne l'a compromis. Dans ce tutoriel, nous verrons les étapes de base que nous pouvons suivre pour accomplir cette tâche.

Dans ce tutoriel, vous apprendrez:

  • Quelle est la différence de base entre le cryptage GPG et la signature
  • Comment télécharger et importer une clé publique GPG à partir d'un serveur clé
  • Comment vérifier une signature GPG
  • Comment vérifier la somme de contrôle d'un ISO
Comment vérifier l'intégrité de l'image ISO

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Indépendant de la distribution
Logiciel gpg, sha256sum (devrait être installé par défaut)
Autre Aucune autre exigence
Conventions # - Commands Linux à exécuter avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Commands Linux à exécuter en tant qu'utilisateur non privilégié régulier


Les étapes impliquées dans la vérification de l'intégrité d'un ISO téléchargé sont essentiellement deux:

  1. Vérification de la signature du fichier contenant la somme de contrôle de l'ISO
  2. La vérification de la somme de contrôle fournie dans le fichier est la même de celle de l'ISO réelle

Ici, nous verrons comment effectuer les deux étapes.

Étape 1

Vérification de la signature GPG du fichier de somme de contrôle

Pour être sûr qu'un ISO que nous avons téléchargé n'a pas été modifié, il y a une chose simple à faire: vérifier que sa somme de contrôle correspond à celle indiquée dans le fichier qui est généralement disponible sur la même page, l'ISO a été téléchargé à partir de. Il n'y a qu'un seul problème: comment pouvons-nous être sûrs que ce fichier lui-même n'a pas été modifié? Nous devons vérifier sa signature GPG! Soit dit en passant, qu'est-ce qu'une signature GPG et quelle est la différence entre la signature et le chiffrement avec GPG?

Cryptage vs signature

Le cryptage GPG est basé sur l'utilisation de paires clés. Chaque utilisateur génère une clé privée et publique: la première, comme son nom l'indique, est strictement personnelle et doit être maintenue aussi en sécurité que possible; Ce dernier peut plutôt être distribué et accessible librement par le public. Il y a essentiellement deux choses que nous pouvons faire avec GPG: le cryptage et la signature.

Disons que nous avons deux personnes: Alice et Bob. S'ils veulent bénéficier de l'utilisation de GPG, la première chose qu'ils doivent faire est d'échanger leurs clés publiques.

Si Alice veut envoyer un message privé à Bob et veut être sûr que seul Bob est capable de lire le message, elle doit le crypter avec la clé publique de Bob. Une fois le message crypté, seule la clé privée de Bob pourra le déchiffrer.

C'est le cryptage GPG; L'autre chose que nous pouvons faire avec GPG est de créer une signature numérique. Supposons qu'Alice veut distribuer un message public cette fois: tout le monde devrait être en mesure de le lire, mais une méthode est nécessaire pour vérifier que le message est authentique et a été vraiment écrit par Alice. Dans ce cas, Alice devrait utiliser sa clé privée pour générer un signature numérique; Pour vérifier la signature d'Alice, Bob (ou toute autre personne) utilise la clé publique d'Alice.



Un exemple réel - téléchargement et vérification d'Ubuntu 20.04 ISO

Lorsque nous téléchargeons une ISO à partir d'un site officiel, nous devons également télécharger, pour le vérifier, nous devons également télécharger le fichier de somme de contrôle correspondante et sa signature. Faisons un exemple réel. Supposons que nous voulons télécharger et vérifier l'ISO de la dernière version d'Ubuntu (20.04). Nous naviguons vers la page de version et faisons défiler vers le bas de la page; Là, nous trouverons la liste des fichiers qui peuvent être téléchargés:

Ubuntu 20.04 Page de versement

En supposant que nous voulons vérifier et installer la version «Desktop» de la distribution, nous devons saisir les fichiers suivants:

  • Ubuntu-20.04-desktop-amd64.ISO
  • Sha256sums
  • Sha256sums.GPG

Le premier fichier est l'image de distribution elle-même; le deuxième fichier, Sha256sums, contient la somme de contrôle de toutes les images disponibles, et nous avons dit que nous avons besoin de vérifier que les images n'ont pas été modifiées. Le troisième fichier, Sha256sum.GPG contient la signature numérique de la précédente: nous l'utilisons pour vérifier qu'il est authentique.

Une fois que nous avons téléchargé tous les fichiers, la première chose que nous devons faire est de vérifier la signature GPG du fichier de somme de contrôle. Pour ce faire, nous devons utiliser la commande suivante:

gpg --verrifier les sha256sums.gpg sha256sums 

Quand plus d'un argument est fourni au GPG --vérifier Commande, la première est supposée être le fichier qui contient la signature et les autres pour contenir les données signées, qui dans ce cas est la somme de contrôle de l'image Ubuntu. Si la distribution dont nous travaillons actuellement n'est pas Ubuntu, et c'est la première fois que nous vérifions une image Ubuntu, la commande doit renvoyer le résultat suivant:

GPG: Signature fait le 23 avril 2020 03:46:21 PM CEST GPG: Utilisation de la clé RSA D94AA3F0EFE21092 GPG: Impossible de vérifier la signature: pas de clé publique 


Le message est clair: GPG ne peut pas vérifier la signature car nous n'avons pas la clé publique associée à la clé privée qui a été utilisée pour signer des données. Où nous pouvons obtenir la clé? Le moyen le plus simple est de le télécharger à partir d'un servante: Dans ce cas, nous utiliserons servante.ubuntu.com. Pour télécharger la clé et l'importer dans notre clés, nous pouvons fonctionner:

$ gpg - Keyserver Keyserver.ubuntu.com --recv-keys d94aa3f0efe21092 

Prenons un moment pour expliquer la commande ci-dessus. Avec le -servante Option, nous avons spécifié le serveur de clés que nous souhaitons utiliser; le -keys recv L'option, plutôt, prend un id clé comme argument, et est nécessaire pour référencer la clé qui doit être importée du serveur de clés. Dans ce cas, l'ID de la clé que nous voulons rechercher et importer est D94AA3F0EFE21092. La commande doit produire cette sortie:

GPG: clé D94AA3F0EFE21092: clé publique "Ubuntu CD Image Automatic Signing Key (2012)" GPG importé: Nombre total traité: 1 GPG: importé: 1 

Nous pouvons vérifier que la clé est maintenant dans notre clés en lançant la commande suivante:

$ gpg - clés de liste 

Nous devons facilement trouver l'entrée par rapport à la clé importée:

Pub RSA4096 2012-05-11 [SC] 843938DF228D22F7B3742BC0D94AA3F0EFE21092 UID [Inconnu] Ubuntu CD Image Automatic Signing Key (2012)  

Maintenant que nous avons importé la clé publique, nous pouvons nous soutenir pour vérifier Sha256sum signature:

gpg --verrifier les sha256sums.gpg sha256sums 

Cette fois, comme prévu, la commande a réussi et nous avons été informés d'une bonne signature:

GPG: Signature Made Thu 23 avril 2020 03:46:21 PM CEST GPG: Utilisation de la clé RSA D94AA3F0EFE21092 GPG: bonne signature de "Ubuntu CD Image Automatic Signing Key (2012)" [Inconnu] GPG: AVERTISSE une signature de confiance! GPG: Rien n'indique que la signature appartient au propriétaire. Empreinte digitale de la clé primaire: 8439 38df 228d 22f7 B374 2BC0 D94A A3F0 EFE2 1092 


En lisant la sortie ci-dessus, une question se pose presque certainement: que fait le «Rien n'indique que la signature appartient au propriétaire» Message signifie? Le message apparaît car même si nous avons importé la clé de notre clés, nous ne l'avons pas déclaré comme confiance, et il n'y a aucune preuve réelle qu'elle appartient au propriétaire spécifié. Pour nous débarrasser du message, nous devons déclarer que nous faisons confiance à la clé; Comment nous pouvons être sûrs qu'il doit réellement faire confiance? Il y a deux façons:

  1. Vérifiez personnellement que la clé appartient à l'utilisateur ou à l'entité spécifiée;
  2. Vérifiez qu'il a été signé par une clé en laquelle nous avons déjà confiance, directement ou via une série de clés intermédiaires.

En outre, il existe plusieurs niveaux de confiance que nous pouvons attribuer à une clé; Si vous êtes intéressé par ce sujet (vous devriez certainement être!), et je veux en savoir plus, le manuel de confidentialité GNU est une bonne source d'informations.

Étape 1

Vérification de la somme de contrôle d'image

Maintenant que nous avons vérifié que le Sha256sum La signature est OK, nous pouvons réellement procéder et vérifier que la somme de contrôle de l'image téléchargée correspond à celle réellement stockée dans le fichier, qui a le contenu suivant:

E5B72E9CFE20988991C9CD87BDE43C0B691E3B67B01F76D23F8150615883CE11 * Ubuntu-20.04-desktop-amd64.ISO CAF3FD69C77C439F162E2BA6040E9C320C4FF0D69AAD1340A514319A9264DF9F * Ubuntu-20.04-Live-Server-AMD64.ISO 

Comme vous pouvez le voir sur chaque ligne du fichier, nous avons une somme de contrôle associée à une image. En supposant le Sha256sum Le fichier est situé dans le même répertoire où l'ubuntu 20.04 L'image a été téléchargée, pour vérifier l'intégrité ISO, tout ce que nous avons à faire est d'exécuter la commande suivante:

$ sha256sum -c sha256sum 


sha256sum Le programme est-il utilisé pour calculer et également vérifier le message SHA256. Dans ce cas, nous l'avons lancé en utilisant le -c Option, qui est le court --vérifier. Lorsque cette option est utilisée, il demande au programme de lire les sommes de contrôle stockées dans le fichier passé comme argument (dans ce cas Sha256sum) et le vérifier pour l'entrée associée. La sortie de la commande ci-dessus, dans ce cas, est la suivante:

Ubuntu-20.04-desktop-amd64.ISO: OK SHA256SUM: Ubuntu-20.04-Live-Server-AMD64.ISO: aucun fichier ou répertoire Ubuntu-20.04-Live-Server-AMD64.ISO: échoué ouvrir ou lire SHA256SUM: AVERTISSEMENT: 1 Fichier répertorié n'a pas pu être lu 

À partir de la sortie, nous pouvons voir que le Ubuntu-20.04-desktop-amd64.ISO ISO a été vérifié et sa somme de contrôle correspond à celle indiquée dans le fichier. Nous sommes également informés qu'il était impossible de lire et de vérifier la somme de contrôle du Ubuntu-20.04-Live-Server-AMD64.ISO Image: cela a du sens, car nous ne l'avons jamais téléchargé.

Conclusions

Dans ce tutoriel, nous avons appris à vérifier une ISO téléchargée: nous avons appris à vérifier que sa somme de contrôle correspond à celle fournie dans le fichier de somme de contrôle, et comment vérifier la signature GPG de ce dernier est bon. Pour vérifier une signature GPG, nous avons besoin de la clé publique correspondant à celle privée qui l'a générée: dans le tutoriel, nous avons également vu comment télécharger une clé publique à partir d'un serveur de clés, en spécifiant son identifiant.

Tutoriels Linux connexes:

  • Comment monter l'image ISO sur Linux
  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Comment ouvrir les fichiers ISO sur Ubuntu Linux
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Comment générer et sauvegarder une clés GPG sur Linux
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Comment doubler Kali Linux et Windows 10
  • Téléchargement Linux
  • Ubuntu 20.04 astuces et choses que vous ne savez peut-être pas