Kernel-Martian-Quelle von und zu derselben IP

12

Wir sehen zeitweise kernel: martian sourceProtokolleinträge für eth0 auf einigen unserer Server. Das Interessante ist, dass sie von und zu derselben IP sind. Zum Beispiel:

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

Dies geschieht nur auf einigen Servern. Es gibt ungefähr 60, die eth0 auf die gleiche Weise konfiguriert haben (offensichtlich unterschiedliche IP).

Worauf sollte ich achten, um dies aufzuspüren?

BEARBEITEN:

Die Route für diese bestimmte Schnittstelle ist die Standardroute, daher glaube ich nicht, dass es darum geht, dass die falsche Schnittstelle gesendet wird.

theillien
quelle

Antworten:

15

Problem

Ich bin heute auf das gleiche Problem gestoßen, bei dem Mars-Pakete meine Kernel-Protokolle überfluteten. Alle Martian-Pakete haben dieselbe öffentliche IP-Adresse eth0wie die öffentliche IP-Adresse von eth0(die realen IPs und der Header werden entfernt).

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

Nach einigen Nachforschungen wurde mir klar, dass der Grund in ll headerden Mars-Paketen versteckt ist .

Theorie

Unter der Annahme, dass dies bei einer Ethernet-Verbindung der ll headerFall ist, wird der Anfang eines Ethernet Type II-Frames angezeigt, der die Ziel-MAC-Adresse, die Quell-MAC-Adresse und eine ID enthält, die den Typ des restlichen Teils des Pakets angibt.

Ethernet Typ II Rahmenformat [1]

Wie Sie sehen, sind die ersten 6 Bytes die Ziel-MAC-Adresse, die nächsten 6 Bytes die Quell-MAC-Adresse und ein Code in den letzten 2 Bytes. Allgemeine Codes sind:

  • 08 00: IP-Pakete
  • 86 dd: IPv6-Paket
  • 08 06: ARP-Paket

Erläuterung

Zurück zu meinem Beispiel.

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

Dies sagt uns,

  • Es wurde ein Paket mit der gleichen Quell- und Ziel-IP-Adresse empfangen.
  • Es wurde von gesendet GG:HH:II:JJ:KK:LL. Dies ist eine MAC-Adresse, die ich nicht kenne.
  • Das Ziel ist AA:BB:CC:DD:EE:FF, das ist meine eigene MAC-Adresse.
  • Es war ein IP-Paket ( 08 00).

Wenn ein Paket die gleichen Quell- und Ziel-IP-Adressen hat, muss es von der gleichen Netzwerkschnittstelle gesendet werden, aber die MACs für Quelle und Ziel sind unterschiedlich! Wie kann das möglich sein?

Somit ist klar, dass das Paket vom Mars stammt, entweder gibt es einige Routing-Probleme, ein Computer im Netzwerk ist konfiguriert oder jemand versucht, die IP / MAC-Adressen zu fälschen. Der nächste Schritt ist die Überprüfung der fraglichen Quell-MAC-Adresse.

比尔 比尔
quelle
9
Auszug aus Linux: Verdächtige Martian-Pakete / nicht routbare Quelladressen protokollieren

Ein Mars-Paket ist nichts anderes als ein IP-Paket, das eine Quell- oder Zieladresse angibt, die für die spezielle Verwendung durch die Internet Assigned Numbers Authority (IANA) reserviert ist.

Hier einige Beispiele für solche Adressblöcke:

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

Um dies aufzuspüren, haben Sie mehrere Möglichkeiten. Sie könnten es einfach ignorieren, über Ihre Firewall blockieren tcpdumpoder wiresharkden Inhalt des Pakets mit oder zerlegen, um einen Einblick in die Ursachen zu erhalten.

Zusätzliche Beschreibungen und Quellen

Ein anderer Ausdruck, der angezeigt wird, wenn Sie danach suchen, ist der folgende:

Dies sind Pakete, die Linux nicht von der Richtung erwartet, aus der sie stammen (dh Pakete von internen Hosts, die über die externe Schnittstelle eingehen). Die Ursache ist wahrscheinlich ein falsch konfigurierter Computer in Ihrem LAN. Sie können die Protokollierung der Pakete deaktivieren, über /proc/sys/net/ipv4/conf/interface/log_martiansdie dokumentiert ist /usr/src/linux/Documentation/proc.txt

Ich konnte die ursprüngliche Quelle dieses Absatzes nicht finden, aber wenn Sie danach suchen, wird viel wörtlich angezeigt! Dies beschreibt das Problem als ein Paket, das auf einer Schnittstelle (NIC) in das System gelangt ist, die nicht als Eingangspaket vorgesehen ist.

Abschließend möchte ich auch Wikipedia zu diesem Thema zitieren, das ungefähr das Gleiche wie das oben Gesagte aussagt.

Ein Mars-Paket ist ein IP-Paket, das eine Quell- oder Zieladresse angibt, die für die spezielle Verwendung durch die Internet Assigned Numbers Authority (IANA) reserviert ist . Wenn diese Pakete im öffentlichen Internet gesehen werden, können sie nicht wie behauptet stammen oder zugestellt werden. 1 Bestimmte reservierte Adressen können jedoch mithilfe von Multicast oder in privaten Netzwerken, lokalen Links oder Loopback-Schnittstellen geroutet werden, je nachdem, in welchen speziellen Verwendungsbereich sie fallen. 2

Mars-Pakete entstehen normalerweise durch IP-Adress-Spoofing bei Denial-of-Service-Angriffen 3 , können jedoch auch durch eine Fehlfunktion der Netzwerkgeräte oder eine Fehlkonfiguration eines Hosts verursacht werden. 1

Verweise

slm
quelle
Eine gute Erklärung jedoch ... Die Verwendung dieser Blöcke ist vor allem in NAT-Netzwerken recht verbreitet. Daher würde ich nach Ihrer Erklärung erwarten, dass diese Nachrichten die ganze Zeit angezeigt werden. In der Kernel-Nachricht ist also noch etwas los, ich würde gerne wissen, was.
mdpc
@mdpc - Zusätzliche Informationen beschreiben die Ursache von Martian-Paketen: Wie
SLM
1
Wir werden tcpdumpauf den fraglichen Servern einen 24-Stunden-Betrieb durchführen . Das heißt, ich verstehe das Konzept eines Mars-Pakets. Was ich nicht verstehe, ist, warum eine Schnittstelle ihre eigene IP als solche betrachten würde.
Theillien
sinnlose Antwort in der Tat.
Poige