Ich verwende einen Verkehrsgenerator zum Einrichten einer TCP-Verbindung, die eine Cisco ASA-Firewall passieren soll.
Meine Topologie sieht folgendermaßen aus:
+------------------+
| CISCO ASA |
+------------+ | |
| Client +-------+Outside |
| 10.1.202.1| |10.1.202.254 |
| | | | +------------+
+------------+ | Inside| |Server |
| 10.1.102.254+--------+10.1.102.19 |
| | | |
+------------------+ +------------+
Die Verbindung sollte von einem Host im externen Netzwerk (10.1.202.1/24) zu einem Server im internen Netzwerk (10.1.102.19/24) hergestellt werden.
I in Wireshark sehen , dass die SYN
die Firewall gibt (. 10.1 (1/2) 02.254), die SYN-ACK nicht passieren und fallen gelassen wird (siehe Captures: inside-Schnittstelle und die außerhalb-Schnittstelle ).
Von show asp drop
Ich werde informiert, dass Frames aus folgendem Grund gelöscht werden:
TCP failed 3 way handshake (tcp-3whs-failed)
Ich verwende kein ARP, sondern die MAC-Adresse der Firewall-Schnittstelle, die das Standard-Gateway ist.
Ich schaffe das SYN
, SYN-ACK
und ACK
wie die folgenden:
SYN: (Client (außen) zum Server (innen))
**Ethernet**
Destination MAC: <Mac Address of the Firewall-Interface>
Source MAC: <Mac Address of the Sending Device-Interface>
**IP**
Source IP: 10.1.202.1
Destination IP: 10.1.102.19
Default Gateway: 10.1.202.254
**TCP**
Source Port: 9000
Destination Port: 8000
Sequence number: 0
Acknowledgement number: 0
Synchronize: 1
Acknowledgement: 0
SYN-ACK: (Server (innen) an Client (außen)) (dies passiert die Firewall nicht)
**Ethernet**
Destination MAC: <Mac Address of the Firewall-Interface>
Source MAC: <Mac Address of the Sending Device-Interface>
**IP**
Source IP: 10.1.102.19
Destination IP: 10.1.202.1
Default Gateway: 10.1.102.254
**TCP**
Source Port: 8000
Destination Port: 9000
Sequence number: 0
Acknowledgement number: 1
Synchronize: 1
Acknowledgement: 1
ACK: (Client (außen) zum Server (innen))
**Ethernet**
Destination MAC: <Mac Address of the Firewall-Interface>
Source MAC: <Mac Address of the Sending Device-Interface>
**IP**
Source IP: 10.1.202.1
Destination IP: 10.1.102.19
Default Gateway: 10.1.202.254
**TCP**
Source Port: 9000
Destination Port: 8000
Sequence number: 1
Acknowledgement number: 1
Synchronize: 0
Acknowledgement: 1
Außerdem sieht meine Topologie wie folgt aus:
Der Traffic Generator Client (außerhalb des Netzwerks) ist mit einem Switch verbunden, auf dem ein VLAN hinzugefügt wird. Der Switch ist mit der externen Firewall-Schnittstelle verbunden. Im internen Netzwerk ist der Verkehrsgenerator mit dem Switch verbunden, auf dem VLAN-Tags hinzugefügt werden, und der Switch ist mit der internen Schnittstelle der Firewall verbunden.
Kann mir jemand sagen, warum die ASA die fallen lässt SYN-ACK
?
Danke im Voraus!
BEARBEITEN:
Wie von Ron Trunk vorgeschlagen, habe ich die Randomisierung von Sequenznummern deaktiviert, indem ich Folgendes verwendet habe:
Zufallssequenznummer deaktivieren
Erfassung der Innenschnittstelle und der Außenschnittstelle hinzugefügt .
Die Erfassungsdateien wurden aktualisiert
Antworten:
Standardmäßig randomisiert der ASA die Sequenznummern im Handshake (um Sitzungsentführungen zu verhindern). Ihre Sequenznummern stimmen also nicht überein. Sie können diese Funktion deaktivieren.
quelle
service-policy <name> interface <interface>
). Danke für deinen Hinweis.In Ihrer internen Erfassung werden zwei Pakete vom Server (10.1.102.19) zum Client (10.1.202.1) gesendet, die jedoch von unterschiedlichen MAC-Adressen stammen.
Das scheint seltsam, ist aber wahrscheinlich nicht Ihr Problem. Soweit ich es interpretieren kann, ist Ihr Problem wie folgt:
Es scheint, als würde der Server selbst natürlich auf Ihr gestaltetes SYN-Paket mit dem RST-ACK in Paket Nr. 23 (der inneren Kappe, siehe oben) reagieren - wahrscheinlich, weil Port 8000 geschlossen ist. Dadurch wird die Firewall aufgefordert, die RST an die Außenseite weiterzuleiten (Paket Nr. 23 in der Außenkappe) und diese Verbindung aus ihrer Statustabelle zu entfernen.
Ihr gestaltetes SYN-ACK-Paket wird jedoch in # 25 (der inneren Kappe) ausgelöst und fordert eine RST von der Firewall (# 26) auf, da in der Verbindungstabelle kein Eintrag für diesen Fluss vorhanden ist.
quelle
SYN-ACK
passiert die Firewall nicht. Ich habe die Erfassungsdateien der internen / externen Schnittstellen auf den aktuellen Status aktualisiert.Können Sie auf Ihrem ASA bitte Folgendes ausführen:
// Aktiviere alle Erfassungen für alle Asp-Drops
// Erfassungspuffer anzeigen, der identifizieren soll, warum der Handshake fehlschlägt
Sollte etwas Ähnliches wie das Folgende zeigen, aber für Ihre spezielle Art von Tropfen:
Beachten Sie, dass eine Grundregel für den ASA lautet: Um Datenverkehr von einer Schnittstelle mit niedrigerer Sicherheit (außen) zu einer Schnittstelle mit höherer Sicherheit (innen) zu initiieren, muss ein expliziter ACL-Eintrag vorhanden sein, damit dieser Datenverkehr durchgelassen werden kann. Ohne Ihre ASA-Konfiguration zu sehen, ist es schwer zu sagen, was die Probleme verursachen könnte.
quelle
Sie beschreiben den normalen / standardmäßigen Betrieb des ASA. Von OUTSIDE nach INSIDE sind nur hergestellte TCP-Verbindungen zulässig. Sie können dies deaktivieren, indem Sie den TCP-Status-Bypass konfigurieren .
quelle