source martienne du noyau vers et depuis la même IP

13

Nous voyons par intermittence kernel: martian sourcedes entrées de journal pour eth0 sur quelques-uns de nos serveurs. La chose intéressante est qu'ils sont vers et depuis la même IP. Par exemple:

Nov  4 02:20:27 tcffmppr6db09 kernel: martian source 10.153.242.13 from 10.153.242.13, on dev eth0.3171

Cela ne se produit que sur quelques serveurs. Il y en a environ 60 qui ont eth0 configuré de la même manière (IP différente, évidemment).

Que dois-je regarder pour retrouver cela?

ÉDITER:

La route pour cette interface particulière est la route par défaut, donc je ne pense pas qu'il s'agit d'envoyer la mauvaise interface.

theillien
la source

Réponses:

16

Problème

J'ai rencontré le même problème aujourd'hui, où des paquets martiens ont inondé mes journaux de noyau. Tous les paquets martiens proviennent de la même adresse IP publique de eth0la même adresse IP publique eth0(les adresses IP réelles et l'en-tête sont supprimés).

IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00

Après quelques recherches, j'ai réalisé que la raison était cachée dans les ll headerpaquets martiens.

Théorie

En supposant que cela dans une connexion Ethernet, ll headermontre en fait la première partie d'une trame Ethernet de type II, qui contient l'adresse MAC de destination, l'adresse MAC source et un ID indique le type de la partie restante du paquet.

Format de trame Ethernet Type II [1]

Comme vous le voyez, les 6 premiers octets sont l'adresse MAC de destination, les 6 prochains octets sont l'adresse MAC source et un code dans les 2 derniers octets. Les codes courants sont:

  • 08 00: Paquets IP
  • 86 dd: Paquet IPv6
  • 08 06: Paquet ARP

Explication

Revenons à mon exemple.

IPv4: martian source x.x.x.x from x.x.x.x, on dev eth0
ll header: 00000000: aa bb cc dd ee ff gg hh ii jj kk ll 08 00

Cela nous dit,

  • un paquet a été reçu avec la même source et l'adresse IP de destination.
  • Il a été envoyé par GG:HH:II:JJ:KK:LL, qui est une adresse MAC que je ne connais pas.
  • Sa destination est AA:BB:CC:DD:EE:FF, qui est ma propre adresse MAC.
  • C'était un paquet IP ( 08 00).

Si un paquet a les mêmes adresses IP source et destination, il doit être envoyé par la même interface réseau, mais les MAC pour la source et la destination sont différents! Comment est-ce possible?

Ainsi, il est clair que le paquet vient de Mars, soit il y a des problèmes de routage, une machine au sein du réseau est configurée, soit quelqu'un essaie d'usurper les adresses IP / MAC. L'étape suivante consiste à vérifier l'adresse MAC source en question.

比尔 盖子
la source
9
extrait de Linux: journal des paquets martiens suspects / adresses source non routables

Un paquet martien n'est rien d'autre qu'un paquet IP qui spécifie une adresse source ou de destination réservée à un usage spécial par Internet Assigned Numbers Authority (IANA).

Voici des exemples de tels blocs d'adresses:

  • 10.0.0.0/8
  • 127.0.0.0/8
  • 224.0.0.0/4
  • 240.0.0.0/4
  • :: / 128
  • :: / 96
  • :: 1/128

Pour suivre cela, vous avez plusieurs options. Vous pouvez simplement l'ignorer, vous pouvez le bloquer via votre pare-feu, ou vous pouvez utiliser tcpdumpou wiresharkdisséquer le contenu du paquet, ce qui vous donnera probablement un aperçu de la cause de cela.

Descriptions et sources supplémentaires

Une autre expression qui apparaît lorsque vous recherchez ceci est la suivante:

Ce sont des paquets que Linux n'attend pas de la direction d'où ils viennent (c'est-à-dire des paquets provenant d'hôtes internes arrivant sur l'interface externe). La cause est probablement une machine mal configurée sur votre réseau local. Vous pouvez désactiver la journalisation de ces paquets via /proc/sys/net/ipv4/conf/interface/log_martianslesquels est documenté dans /usr/src/linux/Documentation/proc.txt

Je n'ai pas pu trouver la source originale de ce paragraphe, mais si vous le recherchez, il apparaît beaucoup, mot pour mot! Cela décrit le problème comme un paquet qui est entré dans le système sur une interface (NIC) par laquelle il n'est pas désigné pour entrer.

Enfin, je citerais également Wikipédia sur ce sujet, qui, lui aussi, indique à peu près la même chose que ci-dessus.

Un paquet martien est un paquet IP qui spécifie une adresse source ou de destination réservée à un usage spécial par Internet Assigned Numbers Authority (IANA). S'ils sont vus sur Internet public, ces paquets ne peuvent pas réellement provenir comme revendiqué, ou être livrés. 1 Cependant, certaines adresses réservées peuvent être routées à l'aide de la multidiffusion, ou sur des réseaux privés, des liaisons locales ou des interfaces de bouclage, selon la plage d'utilisation spéciale dans laquelle elles se trouvent. 2

Les paquets martiens proviennent généralement de l'usurpation d'adresse IP dans des attaques par déni de service, 3 mais peuvent également résulter d'un dysfonctionnement de l'équipement réseau ou d'une mauvaise configuration d'un hôte. 1

Les références

slm
la source
Belle explication cependant .... l'utilisation de ces blocs a tendance à être assez courante, surtout derrière les réseaux NAT. Ainsi, sur la base de votre explication, je m'attendrais à voir ces messages tout le temps. Il y a donc quelque chose de plus dans le message du noyau, je serais intéressé de savoir quoi.
mdpc
1
Nous allons exécuter 24 heures tcpdumpsur les serveurs en question. Cela dit, je comprends le concept d'un paquet martien. Ce que je ne comprends pas, c'est pourquoi une interface considérerait sa propre IP en tant que telle.
theillien
réponse inutile en fait.
poige