MD5 a ses défauts et n'est donc pas un très bon choix pour certaines méthodes de chiffrement, mais elle est très bien adaptée à la vérification des fichiers. Il fonctionne en créant une somme de contrôle d'un fichier et en comparant le résultat au original. Cela signifie que s'il y a des modifications dans un fichier, il n'y a aucun moyen qu'il puisse produire une valeur de digestion similaire à l'original. La valeur reste constante, peu importe où généré ou combien de fois plus longtemps que le fichier reste inchangé.
Pour ce guide, nous chercherons des moyens de générer une valeur de hachage MD5 d'un fichier. Cela vous permettra de vérifier l'intégrité des fichiers à partir de sites distants ou sur votre machine locale.
Installer md5sum
Dans les systèmes Linux et presque majeurs UNIX et UNIX, ils sont préinstallés avec un outil MD5. Le plus courant est md5sum. Par défaut, vous devriez le trouver disponible dans votre système.
$ quel md5sumSi vous n'avez pas l'installation de l'outil, vous pouvez utiliser le gestionnaire de packages de votre système.
Debian / Ubuntu
Sur Ubuntu et d'autres distributions basées sur Debian, utilisez APT comme:
Rehl / centos
Sur Rehl et Centos, utilisez Yum comme:
Arc / manjaro
Si vous êtes sur Manjaro ou d'autres distributions basées sur une arche, utilisez Pacman en utilisant la commande:
Feutre
Enfin, sur les systèmes Fedora, utilisez la commande DNF comme:
Générer md5sum d'un fichier
Avec l'outil installé, nous pouvons procéder et générer un MD5SUM pour un fichier. Vous pouvez utiliser n'importe quel fichier de base disponible dans votre système. Dans mon exemple, j'utilise les / etc / hôtes disponibles dans les systèmes Linux.
Pour générer le MD5SUM d'un fichier, utilisez simplement la commande md5sum suivie du nom de fichier, que vous pouvez voir dans la commande ci-dessous:
sudo md5sum / etc / hôtesLa commande ci-dessus doit générer une valeur de hachage du fichier comme indiqué dans la sortie ci-dessous:
F0EA6F62E5A12ED9AEE557B23842C6F6 / ETC / HOSTSUne fois que le contenu du fichier change, la valeur md5sum devient complètement différente. Par exemple, ajoutez une valeur au fichier / etc / hosts.
sudo nano / etc / hôtesAjoutez l'entrée suivante dans le fichier (n'hésitez pas à passer à toutes les manières qui vous semblent appropriés).
192.168.0.20 Host localSi vous essayez de calculer la valeur MD5 du fichier avec le nouveau contenu comme:
sudo md5sum / etc / hôtesLa valeur de hachage est différente comme indiqué dans la sortie ci-dessous:
F4B7F54D5B85A9E73E3C8960C6E9319E / ETC / HOSTSSi vous revenez le fichier à son contenu d'origine, la valeur MD5SUM est similaire à l'original, vous permettant de savoir quand un fichier a changé.
NOTE: La valeur MD5 sera similaire à l'original même si le fichier est renommé. En effet.
Vérifiez les fichiers en ligne
Supposons que vous souhaitiez vérifier l'intégrité d'un fichier et vous assurer qu'il est infiltré. Pour ce faire, tout ce dont vous avez besoin est la valeur MD5 d'origine. Dans mon exemple, j'utilise un package Deb simple de MySQL à partir de la ressource ci-dessous:
https: // dev.mysql.com / téléchargements / mysql /
Téléchargez le fichier avec wget en utilisant la commande comme:
wget https: // dev.mysql.com / get / downloads / mysql-8.0 / libmysqlclient21_8.0.25-1debian10_amd64.debUne fois le fichier téléchargé:
Vérirons maintenant la valeur MD5 à l'aide d'une commande:
$ md5sum libmysqlclient21_8.0.25-1debian10_amd64.debSi le fichier n'a pas été modifié de quelque manière que ce soit, vous devez obtenir une valeur similaire à celle de l'original comme indiqué:
62ea69f71defbfdac7a60c124f5769c7 libmysqlclient21_8.0.25-1debian10_amd64.debConclusion
Ce tutoriel a examiné une méthode simple pour vérifier la somme de contrôle MD5 des fichiers et vérifier leur état de modification.
Voici un exercice rapide pour vous.
Exercer
Créez un script bash simple qui vérifie si une valeur MD5 de fichier a une modification enregistrée toutes les 5 minutes. Si le fichier a changé, supprimez le fichier et fermez le système.
Cela devrait être un exercice amusant!