Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Identifikationstests für Betriebssysteme

Vor dem Start eines Exploits kann ein Angreifer den Zielhost untersuchen und versuchen, sein Betriebssystem kennenzulernen. Verschiedene Betriebssysteme reagieren unterschiedlich auf TCP-Anomalien. Mit diesem Wissen kann ein Angreifer entscheiden, welcher weitere Angriff dem Gerät, dem Netzwerk oder beidem mehr Schaden zufügen könnte. Weitere Informationen finden Sie in den folgenden Themen:

Grundlegendes zu Betriebssystemidentifikationstests

Vor dem Start eines Exploits könnten Angreifer versuchen, den Zielhost zu sondieren, um sein Betriebssystem (OS) kennenzulernen. Mit diesem Wissen können sie besser entscheiden, welchen Angriff sie starten und welche Schwachstellen sie ausnutzen möchten. Junos OS kann Aufklärungssonden blockieren, die üblicherweise zum Sammeln von Informationen über Betriebssystemtypen verwendet werden.

Grundlegendes zu Domain Name System Resolve

Vor Junos OS Version 12.1X47 wurde die DNS-Auflösung nur mit UDP als Transport durchgeführt. Nachrichten, die von UDP übertragen werden, sind auf 512 Byte beschränkt. längere Nachrichten werden abgeschnitten und das Datenverkehrsklassenbit (TC) wird im Header festgelegt. Die maximale Länge von UDP-DNS-Antwortnachrichten beträgt 512 Byte, die maximale Länge von TCP-DNS-Antwortnachrichten beträgt jedoch 65.535 Byte. Ein DNS-Resolver weiß, ob die Antwort vollständig ist, wenn das TC-Bit im Header gesetzt ist. Daher kann eine TCP-DNS-Antwort mehr Informationen enthalten als eine UDP-DNS-Antwort.

Es gibt drei Arten von DNS-Auflösungsverhalten:

  • UDP-DNS-Auflösung

  • TCP-DNS-Auflösung

  • UDP/TCP-DNS-Auflösung

Hinweis:

Eine Richtlinie verwendet die UDP/TCP-DNS-Auflösung, um IP-Adressen aufzulösen. Bei der UDP/TCP-DNS-Auflösung wird zuerst die UDP-DNS-Auflösung verwendet, und wenn sie abgeschnitten wird, wird die TCP-DNS-Auflösung verwendet.

Hinweis:

Eine Routingmodulrichtlinie unterstützt maximal 1024 IPv4-Adresspräfixe und 256 IPv6-Adresspräfixe, die an die PFE gesendet werden können. Wenn die maximale Anzahl von IPv4- oder IPv6-Adresspräfixen die Grenzwerte überschreitet, werden die Adressen, die über den Einschränkungen liegen, nicht an die PFE gesendet, und es wird eine Syslog-Meldung generiert. Die maximale Anzahl von Adressen in einer TCP-DNS-Antwort beträgt 4094 für IPv4-Adressen und 2340 für IPv6-Adressen, aber nur 1024 IPv4-Adressen und 256 IPv6-Adressen werden in die PFE geladen.

Grundlegendes zu TCP-Headern mit gesetzten SYN- und FIN-Flags

Sowohl die SYN- als auch die FIN-Steuerflags werden normalerweise nicht im selben TCP-Segment-Header gesetzt. Das SYN-Flag synchronisiert Sequenznummern, um eine TCP-Verbindung zu initiieren. Das FIN-Flag zeigt das Ende der Datenübertragung an, um eine TCP-Verbindung zu beenden. Ihre Zwecke schließen sich gegenseitig aus. Ein TCP-Header, bei dem die Flags SYN und FIN festgelegt sind, ist ein anomales TCP-Verhalten, das je nach Betriebssystem unterschiedliche Antworten des Empfängers hervorruft. Siehe Abbildung 1.

Abbildung 1: TCP-Header mit gesetzten TCP Header with SYN and FIN Flags Set SYN- und FIN-Flags

Ein Angreifer kann ein Segment mit beiden gesetzten Flags senden, um zu sehen, welche Art von Systemantwort zurückgegeben wird, und dadurch festzustellen, welche Art von Betriebssystem sich auf der Empfängerseite befindet. Der Angreifer kann dann alle bekannten Systemschwachstellen für weitere Angriffe nutzen.

Wenn Sie diese Bildschirmoption aktivieren, prüft Junos OS, ob die SYN- und FIN-Flags in TCP-Headern festgelegt sind. Wenn es einen solchen Header entdeckt, verwirft es das Paket.

Hinweis:

Junos OS unterstützt TCP-Header mit SYN- und FIN-Flags, die Schutz für IPv4- und IPv6-Datenverkehr festlegen.

Beispiel: Blockieren von Paketen mit gesetzten SYN- und FIN-Flags

In diesem Beispiel wird gezeigt, wie ein Bildschirm zum Blockieren von Paketen erstellt wird, bei denen die SYN- und FIN-Flags festgelegt sind.

Anforderungen

Bevor Sie beginnen, sollten Sie sich mit der Funktionsweise von TCP-Headern mit SYN- und FIN-Flags vertraut machen. Weitere Informationen finden Sie unter Grundlegendes zu TCP-Headern mit gesetzten SYN- und FIN-Flags.

Übersicht

Der TCP-Header mit den gesetzten SYN- und FIN-Flags verursacht je nach ausgeführtem Betriebssystem unterschiedliche Antworten von einem Zielgerät. Der Syn-Fin-Bildschirm ist für die Sicherheitszone aktiviert.

In diesem Beispiel erstellen Sie einen Bildschirm mit dem Namen screen-1 in einer Sicherheitszone, um Pakete mit den Flags SYN und FIN zu blockieren.

Topologie

Konfiguration

Verfahren

Schritt-für-Schritt-Anleitung

So blockieren Sie Pakete, bei denen sowohl das SYN- als auch das FIN-Flag gesetzt sind:

  1. Konfigurieren Sie den Bildschirm.

  2. Aktivieren Sie den Bildschirm in der Sicherheitszone.

  3. Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.

Überprüfung

Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.

Überprüfen der Bildschirme in der Sicherheitszone

Zweck

Stellen Sie sicher, dass der Bildschirm in der Sicherheitszone aktiviert ist.

Aktion

Geben Sie im Betriebsmodus den show security zones Befehl ein.

Überprüfen der Konfiguration des Sicherheitsbildschirms

Zweck

Zeigen Sie die Konfigurationsinformationen zum Sicherheitsbildschirm an.

Aktion

Geben Sie im Betriebsmodus den show security screen ids-option screen-name Befehl ein.

Grundlegendes zu TCP-Headern mit gesetztem FIN-Flag und ohne ACK-Flag

Abbildung 2 zeigt TCP-Segmente mit gesetztem FIN-Steuerflag (um den Abschluss einer Sitzung zu signalisieren und die Verbindung zu beenden). Normalerweise ist für TCP-Segmente mit gesetztem FIN-Flag auch das ACK-Flag gesetzt (um das zuvor empfangene Paket zu bestätigen). Da ein TCP-Header mit gesetztem FIN-Flag, aber nicht mit ACK-Flag ein anomales TCP-Verhalten darstellt, gibt es keine einheitliche Antwort darauf. Das Betriebssystem antwortet möglicherweise, indem es ein TCP-Segment mit gesetztem RST-Flag sendet. Ein anderer könnte es völlig ignorieren. Die Antwort des Opfers kann dem Angreifer einen Hinweis auf sein Betriebssystem geben. (Andere Zwecke für das Senden eines TCP-Segments mit gesetztem FIN-Flag bestehen darin, die Erkennung bei der Durchführung von Adress- und Port-Scans zu umgehen und die Abwehrmaßnahmen zu umgehen, die auf der Hut vor einer SYN-Flood sind, indem stattdessen eine FIN-Flood durchgeführt wird.)

Hinweis:

Die Anbieter haben RFC 793 ( Transmission Control Protocol) bei der Entwicklung ihrer TCP/IP-Implementierungen unterschiedlich interpretiert. Wenn ein TCP-Segment mit gesetztem FIN-Flag, aber nicht mit ACK-Flag eintrifft, senden einige Implementierungen RST-Segmente, während andere das Paket verwerfen, ohne ein RST zu senden.

Abbildung 2: TCP-Header mit gesetztem TCP Header with FIN Flag Set FIN-Flag

Wenn Sie diese Bildschirmoption aktivieren, prüft Junos OS, ob das FIN-Flag, aber nicht das ACK-Flag in TCP-Headern festgelegt ist. Wenn es ein Paket mit einem solchen Header entdeckt, verwirft es das Paket.

Hinweis:

Junos OS unterstützt TCP-Header mit SYN- und FIN-Flags, die Schutz für IPv4- und IPv6-Datenverkehr festlegen.

Beispiel: Blockieren von Paketen mit gesetztem FIN-Flag und ohne ACK-Flag

In diesem Beispiel wird gezeigt, wie ein Bildschirm zum Blockieren von Paketen erstellt wird, bei denen das FIN-Flag gesetzt, aber das ACK-Flag nicht festgelegt ist.

Anforderungen

Bevor Sie beginnen, sollten Sie sich mit der Funktionsweise von TCP-Headern vertraut machen. Weitere Informationen finden Sie unter Grundlegendes zu TCP-Headern mit gesetztem FIN-Flag und ohne ACK-Flag.

Übersicht

Für die TCP-Segmente, für die das FIN-Flag festgelegt ist, ist auch das ACK-Flag festgelegt, um das zuvor empfangene Paket zu bestätigen. Da ein TCP-Header mit gesetztem FIN-Flag, aber nicht gesetztem ACK-Flag ein anomales TCP-Verhalten aufweist, gibt es keine einheitliche Antwort darauf. Wenn Sie die Bildschirmoption fin-no-ack aktivieren, prüft Junos OS, ob das FIN-Flag, aber nicht das ACK-Flag in TCP-Headern festgelegt ist. Wenn es ein Paket mit einem solchen Header entdeckt, verwirft es das Paket.

In diesem Beispiel erstellen Sie einen Bildschirm mit dem Namen screen-1, um Pakete zu blockieren, für die das FIN-Flag festgelegt, aber das ACK-Flag nicht festgelegt ist.

Konfiguration

Verfahren

Schritt-für-Schritt-Anleitung

So blockieren Sie Pakete, bei denen das FIN-Flag gesetzt, aber das ACK-Flag nicht gesetzt ist:

  1. Konfigurieren Sie den Bildschirm.

  2. Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.

Überprüfung

Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.

Überprüfen der Bildschirme in der Sicherheitszone

Zweck

Stellen Sie sicher, dass der Bildschirm in der Sicherheitszone aktiviert ist.

Aktion

Geben Sie im Betriebsmodus den show security zones Befehl ein.

Überprüfen der Konfiguration des Sicherheitsbildschirms

Zweck

Zeigen Sie die Konfigurationsinformationen zum Sicherheitsbildschirm an.

Aktion

Geben Sie im Betriebsmodus den show security screen ids-option screen-name Befehl ein.

Grundlegendes zum TCP-Header ohne festgelegte Flags

Für einen normalen TCP-Segmentheader ist mindestens ein Flag-Steuerelement festgelegt. Ein TCP-Segment, für das keine Steuerflags festgelegt sind, ist ein anomales Ereignis. Da verschiedene Betriebssysteme unterschiedlich auf solche Anomalien reagieren, kann die Reaktion (oder das Ausbleiben einer Reaktion) des Zielgeräts einen Hinweis darauf geben, welche Art von Betriebssystem es ausführt. Siehe Abbildung 3.

Abbildung 3: TCP-Header ohne festgelegte Flags TCP Header with No Flags Set

Wenn Sie das Gerät aktivieren, um TCP-Segmentheader ohne festgelegte Flags zu erkennen, verwirft das Gerät alle TCP-Pakete mit einem fehlenden oder falsch formatierten Flags-Feld.

Hinweis:

Junos OS unterstützt TCP-Header ohne festgelegte Flags für IPv4- und IPv6-Datenverkehr.

Beispiel: Blockieren von Paketen ohne gesetzte Flags

In diesem Beispiel wird gezeigt, wie ein Bildschirm zum Blockieren von Paketen ohne festgelegte Flags erstellt wird.

Anforderungen

Bevor Sie beginnen, sollten Sie verstehen, wie ein TCP-Header ohne festgelegte Flags funktioniert. Weitere Informationen finden Sie unter Grundlegendes zum TCP-Header ohne festgelegte Flags.

Übersicht

Für einen normalen TCP-Segmentheader ist mindestens ein Flag-Steuerelement festgelegt. Ein TCP-Segment, für das keine Steuerflags festgelegt sind, ist ein anomales Ereignis. Da verschiedene Betriebssysteme unterschiedlich auf solche Anomalien reagieren, kann die Reaktion (oder das Ausbleiben einer Reaktion) des Zielgeräts einen Hinweis darauf geben, welche Art von Betriebssystem es ausführt.

Wenn Sie das Gerät aktivieren, um TCP-Segmentheader ohne festgelegte Flags zu erkennen, verwirft das Gerät alle TCP-Pakete mit einem fehlenden oder falsch formatierten Flags-Feld.

In diesem Beispiel erstellen Sie einen Bildschirm mit dem Namen screen-1, um Pakete zu blockieren, für die keine Flags festgelegt sind.

Konfiguration

Verfahren

Schritt-für-Schritt-Anleitung

So blockieren Sie Pakete, für die keine Flags festgelegt sind:

  1. Konfigurieren Sie den Bildschirm.

  2. Aktivieren Sie den Bildschirm in der Sicherheitszone.

  3. Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.

Überprüfung

Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.

Überprüfen der Bildschirme in der Sicherheitszone

Zweck

Stellen Sie sicher, dass der Bildschirm in der Sicherheitszone aktiviert ist.

Aktion

Geben Sie im Betriebsmodus den show security zones Befehl ein.

Überprüfen der Konfiguration des Sicherheitsbildschirms

Zweck

Zeigen Sie die Konfigurationsinformationen zum Sicherheitsbildschirm an.

Aktion

Geben Sie im Betriebsmodus den show security screen ids-option screen-name Befehl ein.