En général, l'approche que vous adoptez est toujours la même : vous vérifiez l'empreinte digitale de la clé via un canal que l'attaquant ne peut pas ont manipulé.
Par exemple, dans mon ancienne université, vous pouviez vous rendre à la réception du centre informatique et obtenir un dépliant contenant une liste des empreintes digitales de toutes les clés et de tous les certificats importants. S'il s'agit du serveur d'un ami que vous connaissez personnellement, vous pouvez l'appeler et lui demander de vous lire l'empreinte digitale. S'il s'agit d'un serveur hébergé et géré, certains des fournisseurs d'hébergement les plus soucieux de la sécurité peuvent proposer de vous envoyer les empreintes par courrier.
L'essentiel est : IFF vous avez des raisons de penser que votre connexion réseau est compromise, essayez alors d'obtenir l'empreinte digitale sans utiliser le réseau.
Pour votre Raspberry Pi, il existe plusieurs options très simples :
- Il suffit de connecter un câble réseau de votre ordinateur directement au Raspberry Pi. Boom : il n'y a plus de "milieu" où quelqu'un pourrait monter une attaque de type "Man-in-the-middle".
- Connectez-vous à la console série du Pi depuis votre PC et connectez-vous directement à la console. Boom : il n'y a même plus de réseau.
- Branchez un clavier USB et un écran HDMI sur votre Pi et connectez-vous directement à la console.
- Sortez la carte SD (ou la clé USB ou tout autre support de démarrage), montez le système de fichiers ext2 sur votre PC (si vous n'utilisez pas Linux, vous aurez peut-être besoin d'un logiciel supplémentaire pour cela, ou vous pouvez démarrer sur un LiveCD Linux), et vérifiez la clef dans
/etc/ssh/ssh_host_ecdsa_key
.
Cela répond à la question plus spécifique sur la façon de vérifier la clé hôte. Maintenant, à votre question plus générale :
Je suis novice dans ce domaine et je veux exclure toute attaque de type "man-in-the-middle".
Pour organiser une attaque de type "man-in-the-middle" sur votre réseau local, l'attaquant doit avoir un accès physique à votre infrastructure. Donc, si vous voulez exclure une attaque de type "man-in-the-middle", vous pouvez littéralement tracer vos câbles et rechercher un "man in the middle", c'est-à-dire un dispositif que vous ne reconnaissez pas. Mais attention : ces dispositifs peuvent être minuscules et bien cachés.
Vous pouvez également rechercher des signes d'effraction sur la serrure de votre porte, ou d'autres points d'entrée de votre maison (fenêtres, etc.).
Vous pouvez maintenant effectuer une analyse de plausibilité : qu'est-ce qui est le plus probable, que quelqu'un s'est introduit chez vous et a installé un dispositif dans votre réseau local sans que vous le remarquiez, juste pour voir ce que vous faites avec votre Raspberry Pi ? Ou est-il plus probable que 192.168.1.123 ait été attribué à un autre appareil auparavant (ou que vous ayez mis à jour, réinstallé ou reconfiguré votre Pi) et que l'ancienne clé soit toujours en mémoire cache sur votre PC ?
Si nous parlons d'un WiFi, alors une attaque MitM. no nécessitent un accès physique. Il est donc beaucoup plus probable que quelqu'un soit capable de monter une telle attaque sans que vous vous en rendiez compte. Cependant, la question demeure : que veut l'attaquant en reniflant la connexion entre vous et votre Pi ?
De même, si un appareil de votre réseau local est également connecté à un autre réseau (un réseau WiFi, un réseau de voisinage, l'Internet), cet appareil peut être compromis par les moyens suivants que réseau, et ainsi donner à un attaquant l'accès à votre LAN.
Comme mentionné dans un commentaire ci-dessus, un Raspberry Pi compromis est une chose précieuse, mais tout attaquant compétent saurait le compromettre d'une manière qui ne change pas la clé hôte.