Site perso d'un administrateur systèmes & réseaux

Catégorie : Participer à la gestion de la cybersécurité

En quoi un algorithme de hashage permet d’assurer l’intégrité des données ?

On voit souvent l’affirmation selon laquelle une fonction ou un algorithme de hashage permte d’assurer l’intégrité des données. Concrètement, pourquoi et comment ça marche ? C’est ce qu’on va tenter de comprendre simplement ici.

Qu’est-ce qu’un algorithme de hashage ?

Un algorithme de hashage prend une entrée (ou message) et produit une sortie de taille fixe appelée « haché » ou « digest ». Cette sortie est généralement une séquence de bits ou de caractères. Les algorithmes de hashage couramment utilisés incluent MD5, SHA-1, et les membres de la famille SHA-2 (comme SHA-256).

Caractéristiques des fonctions de hachage cryptographiques

  1. Déterminisme :
    • Une fonction de hachage est déterministe, ce qui signifie que le même message d’entrée produira toujours le même haché. Cela permet de vérifier la consistance des données.
  2. Rapidité :
    • Les fonctions de hachage sont conçues pour être rapides à calculer, ce qui les rend pratiques pour une utilisation fréquente.
  3. Préimage résistante :
    • Il est computationnellement difficile de retrouver le message original à partir de son haché, ce qui protège les données contre certaines formes d’attaques.
  4. Résistance aux collisions :
    • Il est difficile de trouver deux messages distincts qui produisent le même haché. Cela assure que chaque message a un haché unique, renforçant ainsi l’intégrité des données.
  5. Avalanche effect :
    • Une petite modification de l’entrée (même un seul bit) entraîne un changement radical et imprévisible du haché. Cela permet de détecter même les plus petites altérations dans les données.

Assurance de l’intégrité des données

L’intégrité des données signifie que les données n’ont pas été altérées ou corrompues. Voici comment les fonctions de hachage contribuent à cette assurance :

  1. Vérification de l’intégrité :
    • Lorsque des données sont envoyées ou stockées, leur haché est souvent calculé et transmis ou stocké avec elles. Plus tard, pour vérifier que les données n’ont pas été modifiées, le haché des données reçues ou récupérées est recalculé et comparé au haché original. Si les deux hachés correspondent, les données sont considérées comme intactes.
  2. Détection de la corruption :
    • Si les données sont altérées de quelque manière que ce soit, même légèrement, le haché recalculé sera différent du haché original, signalant que l’intégrité des données a été compromise.

Exemple pratique

Prenons un exemple concret pour illustrer :

Calcul initial du haché :

  • Supposons que vous avez un fichier appelé document.txt. Vous calculez son haché en utilisant un algorithme de hachage comme SHA-256 :
sha256sum document.txt
  • Le résultat pourrait être quelque chose comme 3a7bd3e2360a3e756b81d7ba7e65a7ff.

Transmission et stockage :

Vous envoyez document.txt à un collègue et incluez le haché 3a7bd3e2360a3e756b81d7ba7e65a7ff.

Vérification de l’intégrité :

Votre collègue reçoit document.txt et recalcule son haché en utilisant la même commande :

sha256sum document.txt

Si le haché recalculé correspond à 3a7bd3e2360a3e756b81d7ba7e65a7ff, cela signifie que le fichier n’a pas été modifié pendant la transmission.

En bref

Les algorithmes de hachage assurent l’intégrité des données en fournissant un moyen simple et efficace de vérifier que les données n’ont pas été altérées. Grâce aux caractéristiques uniques des fonctions de hachage, telles que la résistance aux collisions et l’effet avalanche, même les plus petites modifications des données peuvent être détectées, garantissant ainsi que les données restent intactes et fiables.

Qu’est-ce que le « checksum » et comment ça fonctionne ?

Lorsque vous téléchargez des fichiers et/ou des exécutables sur diverses sources, vous avez très probablement déjà rencontré des lignes « checksum » qui donnent un hash comme information. A quoi ça sert concrètement ?

Principe de fonctionnement du checksum

Les checksums ou sommes de contrôle (hash) sont utilisés pour s’assurer de l’intégrité des fichiers téléchargés. Ils permettent de vérifier que le fichier que vous avez téléchargé est exactement celui que l’auteur a mis à disposition et qu’il n’a pas été altéré ou endommagé pendant le processus de téléchargement.

Source de l’image : Wikipedia

Cela est particulièrement important pour les fichiers exécutables, car une altération peut signifier la présence de logiciels malveillants.

Pour vérifier un checksum, vous pouvez suivre ces étapes générales :

  1. Téléchargez le fichier que vous souhaitez vérifier.
  2. Localisez le checksum fourni par l’auteur sur le site où vous avez téléchargé le fichier. Cela peut être directement à côté du lien de téléchargement ou sur une page dédiée aux checksums.
  3. Utilisez un outil de vérification de checksum pour calculer le checksum du fichier que vous avez téléchargé. Voici comment vous pouvez le faire selon votre système d’exploitation :
    • Sur Windows :
      • Vous pouvez utiliser une application comme HashCheck ou 7-Zip pour vérifier les checksums. 7-Zip, par exemple, offre une option dans le menu contextuel pour calculer le hash d’un fichier.
      • Alternativement, vous pouvez utiliser PowerShell
      • Get-FileHash C:\chemin\vers\votre\fichier -Algorithm SHA256 (Remplacez SHA256 par l’algorithme utilisé pour le checksum, tel que MD5 ou SHA1, si nécessaire)
      • Sur macOS :
        • Ouvrez le Terminal et utilisez la commande suivante shasum -a 256 /chemin/vers/le/fichier (Changez 256 en 1 ou 512 selon l’algorithme utilisé – SHA1, SHA256, etc.).
      • Sur Linux :
        • Dans un terminal, utilisez une commande similaire à celle de macOS. Par exemple sha256sum /chemin/vers/le/fichier Adaptez la commande à l’algorithme utilisé (par exemple md5sum pour MD5).
  4. Comparez le checksum calculé avec celui fourni sur le site web. Si les deux checksums correspondent, votre fichier est conforme à l’original. Si ce n’est pas le cas, il peut être corrompu ou altéré.

Comment créer un checksum pour les fichiers que je partage ?

Pour créer un checksum pour les fichiers que vous souhaitez partager, vous pouvez utiliser différents outils et méthodes selon votre système d’exploitation. Voici comment procéder sous Windows, macOS et Linux :

Sur Windows

  1. Utiliser PowerShell :
    • Ouvrez PowerShell en recherchant « PowerShell » dans le menu démarrer.
    • Utilisez la commande suivante pour créer un checksum SHA256 pour votre fichier : Get-FileHash -Path "C:\chemin\vers\le\fichier" -Algorithm SHA256
    • Vous pouvez remplacer SHA256 par un autre algorithme tel que MD5, SHA1, SHA384, ou SHA512 selon vos besoins.
  2. Utiliser des outils tiers :
    • Des applications comme HashMyFiles ou 7-Zip peuvent également créer des checksums. Avec 7-Zip, vous pouvez cliquer avec le bouton droit sur le fichier, sélectionner 7-Zip, puis « CRC SHA » > « SHA-256 ».

Sur macOS

  1. Utiliser le Terminal :
    • Ouvrez le Terminal.
    • Pour créer un checksum SHA256, utilisez la commande suivante : shasum -a 256 /chemin/vers/le/fichier
    • Remplacez 256 par 1 ou 512 pour utiliser SHA1 ou SHA512.

Sur Linux

  1. Utiliser le Terminal :
    • Ouvrez un terminal.
    • Pour générer un checksum SHA256, entrez : sha256sum /chemin/vers/le/fichier
    • Pour d’autres algorithmes, remplacez sha256sum par md5sum, sha1sum, sha512sum, etc., selon l’algorithme désiré.

Partager le checksum

Après avoir généré le checksum, il est courant de partager le hash généré avec le fichier. Vous pouvez créer un fichier texte contenant le checksum et l’ajouter au téléchargement ou le lister sur la page web où les fichiers sont téléchargés. Assurez-vous que le checksum est facilement accessible et clairement indiqué pour que les utilisateurs puissent le vérifier après avoir téléchargé le fichier.

Monitorer un serveur Debian avec Centreon

Partons du principe que le serveur Debian est déjà prêt ; sur Centreon, ne pas oublier de vérifier que le module « Linux » est bien installé.

Commencer par installer et activer SNMP :

apt-get install snmpd snmp
systemctl enable snmpd

Puis configurer le fichier /etc/snmp/snmpd.conf

J’ajoute la communauté correspondant à celle enregistrée dans Centreon préalablement “public” pour les tests (bien sûr veiller à changer le nom de la communauté plus tard car trop basique donc peu sécurisé) : 

agentAdrress udp:0.0.0.0:161
view centreon included .1.3.6.1
rocommunity public default

Après avoir configuré le nouvel hôte et les services CPU et Mémoire (pour l’exemple), attendre que Centreon rafraîchisse ses infos : 

Et voilà !

Monitorer un serveur Windows 2019 avec Centreon

Commencer par installer Centreon sur une machine virtuelle en suivant la procédure d’installation manuelle sur une VM vierge sur l’IP de votre choix (exemple : 192.168.100.13)

Comme le processus est assez simple je n’ai pas pris la peine de capturer toutes les étapes d’installation (de plus j’aurais pu utiliser la VM prête à l’emploi disponible sur le site de Centreon)

Monitoring du serveur Windows 2019

Voici les étapes suivies qui permettent de remonter les informations du serveur Windows dans Centreon : 

  • Activer SNMP sur le serveur (ajout de fonctionnalité) :

Ensuite, configurer le service SNMP de façon à ce qu’il donne accès à ses informations au serveur : 

Via la commande services.msc, ouvrir la fenêtre de configuration : 

Dans les propriétés, donner accès au serveur centos

Configurer l’agent de façon à ce qu’il ait accès à tout :

Enfin redémarrer le service de façon à ce qu’il soit bien exécuté : 

Configuration côté Centreon

S’assurer d’avoir bien activé le module windows SNMP

Ensuite, configurer l’hôte comme ceci :

Puis ajouter un service permettant de surveiller la mémoire du serveur pour un premier test : 

Enfin, exporter la configuration du poller pour lancer un premier scan :

En parallèle, forcer gorgoned à se relancer directement en ligne de commande via la commande suivante :

systemctl restart cbd centengine gorgoned

Ce qui permet au poller de se lancer et de récupérer des premières données sur la mémoire : 

Ajouter quelques services puis attendu quelques heures pour voir des rapports remonter :

Et voilà, désormais Centreon reçoit bien l’activité du serveur Windows !

Fièrement propulsé par WordPress & Thème par Anders Norén