GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So interpretieren Sie Linux-Quellnachrichten vom Mars

Was ist ein Marspaket?

Die IANA definiert ein Marspaket als eines, das an einer Schnittstelle ankommt, bei der die Schnittstelle dieses Netzwerk nicht verwendet. Für Linux ist es jedes Paket, das auf einer Schnittstelle ankommt, die in keiner Weise für dieses Subnetz konfiguriert ist.

Jede Benachrichtigung über Marspakete sollte untersucht werden. Marspakete:

  • Werden häufig beim Hackerangriff verwendet.
  • Kann ein Symptom für einen falsch konfigurierten Server an anderer Stelle im Netzwerk sein.
  • Kann auf ein Problem mit der Netzwerkinfrastruktur hinweisen.

Wenn Konfigurationselemente in Ihrer /etc/sysctl.conf file diese Erkennung deaktivieren, sollten sie aktiviert und das sysctl-Programm erneut ausgeführt werden. Einige zu überprüfende Beispieleinträge sind:

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

In diesem Beitrag werden wir mit einigen Beispielen aus der Praxis veranschaulichen, wie man Quellbotschaften vom Mars interpretiert.

Beispiel 1 – Wie man die Mars-Quellnachricht interpretiert

Lassen Sie uns das unten gezeigte Beispiel verwenden:

Aug 22 11:08:21 server kernel: martian source 192.168.12.197 from 192.168.12.198, on dev bondib0
Aug 22 11:08:21 server kernel: ll header: 08:00:00:00:45:00:01:00:00:00:40:00:40:11:9f:11:c0:a8:0c:c6:c0:a8:0c:c5

Das bedeutet, dass der Server ein Paket auf der Schnittstelle bondib0 empfängt, die Quelle des Pakets (Sender) war 192.168.12.198 und das Ziel des Pakets (Empfänger) war 192.168.12.197. Ohne zusätzliche Informationen wissen wir jedoch nicht, warum das Paket als Marspaket gemeldet wurde.

Beispiel 2 – Ungültige Übertragung

May 22 03:40:37 example2 kernel: IPv4: martian source 255.255.255.255 from 10.140.249.4, on dev eth1
May 22 03:40:37 example2 kernel: ll header: 00000000: ff ff ff ff ff ff 00 50 56 ad 59 09 08 00 .......PV.Y...

Hier hat eth1 ein Broadcast-Paket vom Absender 10.140.249.4 empfangen, und der Empfänger 255.255.255.255 ist ein eingeschränkter Broadcast, die Zielgruppe sind alle Hosts im „lokalen Netzwerk“ (hier ist das Segment 10.140.249.4 mit unbekannter Netzmaske), und die Datenverkehr sollte niemals von einem Router weitergeleitet werden.

In diesem Fall hat eth1 jedoch die IP-Adresse 10.168.252.8/16, es war nicht dasselbe Netzwerk wie der Absender 10.140.249.4. Es wird also nicht erwartet, ein solches Broadcast-Paket von diesem Absender zu erhalten, und das Paket wurde als Quelle vom Mars abgelehnt. Ein solches Problem kann durch einen falsch konfigurierten Router verursacht werden.

Beispiel 3 – Rückwärtspfadfilterung

May 25 16:46:04 example3 kernel: martian source 10.255.16.101 from 10.255.1.140, on dev eth0
May 25 16:46:04 example3 kernel: ll header: 00:10:e0:3b:1b:8a:00:1f:27:3f:34:00:08:00

Hier in Beispiel 3 hat eth0 ein Paket von 10.255.1.140 empfangen, und der Empfänger ist 10.255.16.101. Um zu verstehen, warum es abgelehnt wurde, müssen wir die Netzwerkkonfiguration der beiden Hosts überprüfen, wie unten dargestellt:

Das Serverbeispiel3 hat 2 Schnittstellen eth0 (10.255.16.101) und bond0 (10.255.1.101), sie wurden separat mit L3 Switch und L2 Switch verbunden. Der L3-Switch ist mit 2 Netzwerksegmenten verbunden:10.255.16.0/24 und 10.255.1.0/24. Der Sender war direkt mit dem L2-Switch verbunden, und der L2-Switch war mit dem L3-Switch verbunden.

Hier hat der Absender versucht, eth0 in Beispiel 3 zu erreichen, das Paket wird den L2-Switch und den L3-Switch durchlaufen und das Ziel 10.255.16.101 erreichen. Das wäre normalerweise erlaubt. Moderne Linux haben jedoch normalerweise Reverse Path Filtering aktiviert:

# sysctl -a | grep eth0.rp_filter
net.ipv4.conf.eth0.rp_filter = 1

Im eingeschränkten Modus testet der Kernel die eingehenden Pakete mit RFC3704, wenn die Schnittstelle nicht der beste Rückwärtspfad ist, schlägt die Paketprüfung fehl. In diesem Fall hätte der Absender den Server example3 über bond0 erreichen können, da er sich im selben Segment befand. Die Prüfung ist fehlgeschlagen und das Paket wurde zurückgewiesen.

Die einfachste Lösung besteht darin, stattdessen bond0 (10.255.1.101) zu verbinden. Wenn dies aus einem bestimmten Grund nicht möglich ist, deaktivieren Sie entweder die Reservepfadfilterung oder verwenden Sie den Loose-Modus auf eth0.


Linux
  1. So konfigurieren Sie die MySQL Multi-Master-Replikation unter Oracle Linux

  2. So verwenden Sie Apples iMessage unter Linux (irgendwie)

  3. So installieren und konfigurieren Sie Nginx von der Quelle unter Linux

  4. So kompilieren und installieren Sie Software aus dem Quellcode unter Linux

  5. Wie interpretiere und behebe ich einen Eingabe-/Ausgabefehler in Linux?

So fügen Sie Nachrichten manuell zu Linux-Systemprotokolldateien hinzu

So installieren Sie Software von der Quelle in Linux

Was ist Source Command in Linux und wie funktioniert es?

Was ist BusyBox unter Linux? Wie benutzt man es?

So kompilieren Sie den Linux-Kernel aus der Quelle, um einen benutzerdefinierten Kernel zu erstellen

So installieren Sie Software aus dem Quellcode in Ihrem Linux-System