Paquets martiens : concept et relation avec la supervision

Un nom aussi curieux, Paquets Martians, a été inventé dans la norme RFC 1812 et pour être exact, il parle d’adresses martiennes (contenues, bien sûr, dans un paquet martien). Au siècle dernier, les médias ont beaucoup diffusé la possibilité de trouver la vie sur la planète Mars, et pour cette raison les ingénieurs ont défini cette catégorie comme ça pour les colis qui ne devraient pas arriver et dont on « connaît » pas son origine. Comme la réalité dépasse toujours la fiction, nous avons aujourd’hui des appareils perchés sur la planète rouge qui envoient les données collectées – nous supposons que dans des paquets UDP, qui n’ont pas besoin de reconnaissance d’arrivée, en raison des distances énormes – directement à l’administration National Aeronautics and Space (NASA), il est donc totalement exclu qu’ils nous parviennent, ou pas directement au moins.
Un des travaux de supervision implique également des équipes d’observabilité d’un système et c’est ce que nous ferons aujourd’hui ; chaque jour, quelque chose de nouveau.

«

Adresses IP et paquets martiens

Dans un article précédent nous avons expliqué en détail ce que sont des réseaux privés et des réseaux publics, en attribuant des adresses IP à chacun de nos appareils (IPAM) et nous avons fait quelques exemples numériques en système binaire pour déterminer si une adresse IP appartenait à un certain sous-réseau. Nous avons fait tout cela de manière très simplifiée et pas du tout académique, mais de manière didactique et pragmatique ; ici, nous ferons de même.

Les ordinateurs appartenant à un réseau privé ou public communiquent au moyen de paquets de données grâce à la technologie Ethernet, bien connue et mise en œuvre dans le monde entier. Chaque paquet de données contient l’adresse de destination ainsi que d’autres champs spécifiques, tels que la durée de vie utile (Time To Live ou TTL), dont il est soustrait au fur et à mesure qu’il est transmis et transmis par chaque ordinateur ou périphérique jusqu’à qu’il atteint sa destination. S’il est retransmis plusieurs fois, le moment viendra où le paquet « meurt » et est simplement rejeté (cela aide à décongestionner le réseau, les paquets ne doivent pas errer indéfiniment). Si le paquet était de type UDP, il n’y a pas de problème, car il n’est pas nécessaire de renvoyer une réponse comme c’est le cas avec TCP. Pour cette raison, il existe un autre champ qui est l’adresse source, à laquelle le paquet est retourné indiquant s’il pourrait être livré, si le TTL est terminé, etc.
Bien que ce qui précède soit totalement valable pour les réseaux privés et publics, nous allons nous situer dans un réseau public, c’est-à-dire notre ordinateur connecté directement à un modem et de là à Internet.

“ Dans ce scénario, un paquet martien est tout ce qui atteint l’un de vos appareils et qui contient une adresse de destination et/ou une adresse source appartenant à un ensemble d’adresses IP réservées à un usage spécial. “

Nous avons déjà vu que les réseaux privés ont trois groupes spécialement réservés et qu’ils sont bien connus, mais il existe d’autres adresses réservées à des fins très spéciales telles que 192.88.99.0/24, qui étaient censées être utilisées pour rediriger le trafic entre IPv4 et IPv6. Tout paquet qui nous parvient avec cette adresse, 192.88.99.X (pour X entre 0 et 254), y compris d’autres adresses spéciales, est simplement un paquet martien qui doit être jeté immédiatement.

Routeurs et ponts

Un appareil, pour non seulement parler d’ordinateurs, a généralement une seule adresse IP attribuée, mais il se peut qu’il en ait deux ou plus. Nos ordinateurs portables en sont le meilleur exemple : ils peuvent être câblés à un réseau et connectés sans fil à un autre réseau.
Imaginez maintenant que par Ethernet votre ordinateur soit connecté à Internet et avec une adresse IP publique et via Ubuntu vous placez un point d’accès sans fil, attribuez des adresses IP au reste de vos ordinateurs, etc. (c’est un bon travail et cela donne beaucoup à faire, mais la pratique rend parfait). Nous avons dessiné un schéma pour vous :

Réseau local pour tester les paquets martiens

Évidemment, notre ordinateur connecté au modem fonctionne comme un pont et en même temps comme un routeur, qui reçoit des requêtes sur Internet de nos ordinateurs car nous l’avons configuré comme passerelle par défaut (192.168.1.1 dans notre exemple graphic) nous prendrons les paquets et dans le champ de l’adresse source nous mettrons l’adresse IP publique et enverrons le paquet. Nous garderons également une trace de qui a demandé quoi, de sorte que lorsqu’ils vous répondent, vous pouvez transmettre ce résultat de paquet à votre ordinateur de réseau local. C’est ce qu’on appelle la traduction d’adresse réseau et n’importe quelle distribution GNU/Linux peut être configurée pour cela ; dans notre cas personnel, nous utilisons Debian/Ubuntu.
Maintenant, notre toute nouvelle imprimante réseau a été, par notre erreur, configurée et réglée avec une adresse IP 192.168.0.70 (nous le répétons : notre simplification est au maximum) ; car là nous aurons un excellent exemple qui cause les paquets martiens. Généralement, ces types de paquets apparaissent en raison de configurations incorrectes des appareils les plus divers : réfrigérateurs, caméras vidéo, téléviseurs, etc. (tout ce que nous connaissons comme Internet des objets).

Affichage du trafic réseau avec iptraf

Un programme que vous pouvez utiliser pour visualiser les paquets et les adresses -et le trafic réseau en général- est iptraf. Avec la commande sudo apt-get install iptraf nous l’apporterons à notre machine puis avec sudo iptraf-ng -i eth0 (si nous voulons voir la carte sans fil au lieu de eth0 nous utiliserons wlan0) nous verrons quelque chose de similaire à ceci :

sudo iptraf-ng -i eth0

Gardez une trace et enregistrez les paquets martiens

Bien que la norme RFC 1812 recommande que lors de la réception d’un paquet martien, ses données soient enregistrées puis supprimées, cependant, dans les différentes distributions GNU/Linux, elles ne sont pas toujours activées par défaut. Une façon de vérifier si le système les enregistre :

grep [01] /proc/sys/net/ipv4/conf/*/log_martians|egrep "default|all"

Le résultat, deux lignes, les deux doivent se terminer par « 1 ». Vous pouvez également voir comment il est configuré pour toutes les interfaces réseau. C’est une commande plus simple mais plus puissante :

sysctl -a | grep martian

S’ils ne se terminent pas par « 1 », vous pouvez activer ; dans le fichier /etc/sysconfig/sysctl ajoutez :

net.ipv4.conf.all.log_martians=1
net.ipv4.conf.default.log_martians=1

Enfin, il faut redémarrer le service avec « sudo sysctl -p »
Pour les visualiser :

grep -i --color martian /var/log/messages*

Qu’est-ce qui cause les paquets martiens ?
Par ordre de fréquence :

 

  • La cause la plus courante : Un ordinateur avec deux interfaces réseau ou plus connectées au même commutateur, concentrateur ou routeur.
  • Un routeur mal configuré.
  • Adresses IP mal configurées, comme nous l’avons vu, ou par exemple qui utilisent un réseau de classe E (adresses IP 240.XXX). Certains systèmes d’exploitation de routeur tels que Juno, basés sur FreeBSD, peuvent être configurés pour inclure cette Classe E dans la reconnaissance des paquets martiens.
  • Adresses MAC dynamiques.

Supervision des paquets martiens

Cela semble être une contradiction : Si vous ne connaissez pas d’où vient le paquet martien, comment pouvez-vous le suivre ?
Comme nous vous l’avons dit, si vous avez déjà activé son enregistrement, vous devrez rechercher dans les journaux les lignes où il vous renseignera sur l’adresse de destination, l’adresse source, l’interface réseau où il a été reçu et enfin le plus important : les octets 7 à 12 qui représentent l’adresse MAC, qui est une donnée plus fiable à fournir à l’administrateur système.

Supervision dans les grandes entreprises

Les paquets martiens (et, en général, le trafic réseau) sont sous l’entière responsabilité de l’Administrateur système ; cependant, l’équipe de supervision doit toujours être prête et attentive à votre soutien et être votre bras droit dans le travail quotidien. Nous démontrons la flexibilité de Pandora FMS avec des faits, et depuis notre version 4 (année 2013) nous implémentons contrôle de capture de commande ou « MCC » (dans le Pandora FMS Wiki on décrit comment l’activer), que nous affirmons est un outil dans le travail d’observabilité d’aujourd’hui. Vous pouvez créer dans Pandora FMS un groupe appelé « Administrateurs système », avec les droits d’accès à la fonctionnalité MCC et exécuter le programme netstat (un seul des outils que chaque administrateur système devrait connaître)

Pandora FMS : contrôle de capture de commande

Bien que Pandora FMS ait une fonction de découverte automatisée de nouveaux périphériques sur un réseau, ce qui vous permet de générer des cartes réseau spectaculaires, les paquets martiens entrent en fait dans la catégorie de la supervision réseau et dans cet article, dans ce même blog nous l’expliquons en détail.

Pandora FMS : « Vers l’infini et au-delà »

Avec tout ce que nous devons gérer dans la zone de supervision actuelle et future, nous pouvons toujours compter sur un outil puissant tel que Pandora FMS. Nous travaillons en permanence sur l’analyse de scénarios situés à la limite -Paquets martiens inclus-, car notre métier est de vous apporter les solutions et, pourquoi pas ? Aussi les améliorations qui résultent de ces analyses ! Avez-vous un scénario de surveillance qui constitue un défi pour Pandora FMS ? Contactez-nous et nous vous aiderons !

Toutes les images présentées ici sont régies par la licence « Creative Commons 3.0 ».

Shares