Categories:

Packet Capturing für Wireshark mit Sophos XG Firewall

Veröffentlicht von empy
Lesezeit: 4 Minuten

Um Probleme im Netzwerk zu lösen, sollte man nicht nur auf seine Intuition vertrauen. Zwar bietet Erfahrung viele Vorteile, manchmal vernebelt das vermeintliche Besserwissen aber auch ganz schön die Sinne. Zur eindeutigen Fehleranalyse und zum Lösungsbeweis empfehle ich unbedingt, sich die Vorgänge im Netzwerk sehr genau anzusehen.

Dazu braucht man ein Werkzeug zur Netzwerkanalyse, im heutigen Beispiel wieder Wireshark. Und man benötigt natürlich einen geeigneten Mitschnitt, welcher die Kommunikationspakete der beteiligten Netzwerkteilnehmer und -komponenten beinhaltet. Wie man einen solchen Mittschnitt direkt an einer Sophos XG Firewall erstellt, möchte ich im Folgenden näher beleuchten. Ähnlich wie beim Packet Capturing mit Aruba Instant benötigen wir noch Putty. Zudem wird diesmal noch WinSCP benötigt, um den Paketmitschnitt für die Auswertung von der Firewall direkt an den Computer zu übertragen. WinSCP ist ein grafischer SFTP-Client, welcher auch das leicht in die Jahre gekommene SCP-Protokoll unterstützt. Mit diesem Tool wird die Mitschnittdatei sicher auf den lokalen Computer übertragen.

Packet Capturing auf der Sophos XG Firewall starten

Um den Paketmitschnitt zu erstellen, wird Putty genutzt. Bevor der Zugriff auf die Sophos XG jedoch gelingt, musst sichergestellt sein, dass der Gerätezugriff per SSH auch von der Firewall erlaubt ist. In der Regel wurde dies bereits bei der Installation der Firewall entsprechend eingerichtet. Überprüfbar ist die Einstellung über das Webinterface der Sophos XG. Im Bereich „System“ unter „Administration -> Device Access“ kann man prüfen, ob von der Zone, aus der auf die Firewall zugegriffen wird, SSH erlaubt ist.

SSH-Zugriff auf Sophos XG Firewall.

Nach dem Login mit Putty und der Eingabe der Zugangsdaten erscheint das Hauptmenü. Dort wird Menüpunkt vier (Device Console) ausgewählt, um die Konsole zu öffnen. Dazu die Nummer eingeben und mit Enter bestätigen. Ich verwende für das Beispiel übrigens Version 18.0.1 MR-1-Build396. Aber das ist ja im Bild bereits erkennbar und sollte nicht erfolgsentscheidend sein.

In der Konsole wird nun tcpdump genutzt. Linux-Veteranen wird das natürlich ein Begriff sein. Dabei handelt es sich um ein Kommandozeilenwerkzeug mit der Funktion, Netzwerkpakete mitzuschneiden. Die Pakete können als Mitschnitt gespeichert werden, welcher dann später mit Wireshark ausgewertet wird.

Zum Befehl: Mit „tcpdump“ wird das Tool gestartet. Die Option „filedump“ bewirkt die Erstellung einer .pcap-Datei, die eben später mit Wireshark geöffnet werden kann. „’host 192.168.230.26“ legt fest, dass nur derjenige Verkehr im Netzwerk mitgeschnitten wird, der von IP-Adresse 192.168.230.26 kommt oder für diese IP-Adresse bestimmt ist. Der Parameter „-s 0“ legt fest, dass die Pakete in voller Länge mitgeschnitten werden sollen. Lässt man diese Option weg, werden pro Paket nur 68 Byte mitgeschnitten. „-c 9999999“ sagt tcpdump, dass maximal 9999999 Pakete mitgeschnitten werden sollen.

tcpdump filedump 'host 192.168.230.26 -s 0 -c 9999999

Wer sich mit tcpdump auskennt, kann den Paketmitschnitt natürlich nach Belieben mit den bei tcpdump üblichen Parametern weiter anpassen, zum Beispiel den Port. Ich möchte heute aber ein spezielles Gerät debuggen, weshalb ich den Mitschnitt auf eine spezifische IP-Adresse eingrenze.

Packet Capturing auf der Firewall mit aktiver Filterung einer IP-Adresse. Lässt man den „-c“-Parameter weg, werden max. 1000 Pakete aufgezeichnet.

Packet Capturing wieder beenden

Sobald der Fehler reproduziert wurde oder nachdem der Paketmitschnitt eine gewünschte Zeit lang gelaufen ist, empfehle ich dringend, das Packet Capturing wieder zu beenden. Dazu direkt in der Konsole die Tastenkombination „STRG+C“ benutzen. Ansonsten fallen dann doch so einige Paketdaten an, die direkt auf der Firewall abgelegt werden. Und deren Speicher ist natürlich begrenzt. Die erstellte Datei „tcpdump.pcap“ liegt übrigens im Verzeichnis „/tmp/data/tcpdump.pcap“

Das Packet Capturing wurde mit STRG+C beendet, 850 Pakete wurden mitgeschnitten.

Wird mit dem obigem tcpdump-Befehl ein neues Packet Capturing gestartet, wird die bereits bestehende tcpdump-Datei übrigens einfach überschrieben. Man sollte die Datei also vor dem Neustart eines Mitschnitts am besten lokal speichern. Dort wird die Datei ohnehin zum Auswerten benötigt.

Nachdem das Packet Capturing abgeschlossen wurde, kann die Putty-Session beendet werden. Wer wie ich noch in der Konsole feststeckt, gibt dazu folgenden Befehl ein, um die Konsole zu verlassen und wieder ins Hauptmenü zu gelangen. Von dort kann die Sitzung mit den Menüoptionen beendet werden.

exit

.pcap-Datei auf dem lokalen Computer mit WinSCP abspeichern

Nun wird WinSCP gestartet. Im Anmeldefenster werden die Verbindungsdaten zur Firewall eingegeben. Hier sind die Eingaben ähnlich zu denen bei Putty, also Port 22 und IP-Adresse zur Sophos XG. Wichtig ist aber, beim Übertragungsprotokoll „SCP“ auszuwählen. Am besten werden gleich Benutzername und Kennwort mit eingegeben, bevor mit Hilfe der Anwählen-Schaltfläche die Verbindung aufgebaut wird.

Mit WinSCP wird die tdpdump.pcap-Datei auf den lokalen PC kopiert.

Auf der linken Fensterseite wird die Ordnerstruktur des lokalen Computers angezeigt, auf der rechten Seite werden die Inhalte der Firewall angezeigt. Genau so, wie man es von FTP-Programmen kennt. Da bereits das /tmp/-Verzeichnis geöffnet ist, muss nur noch der Ordner „data“ geöffnet werden. Dort findet sich die begehrte Datei: „tcpdump.pcap“. Mit einem Rechtsklick lässt sich die .pcap-Datei bequem herunterladen. Gegebenenfalls vorher im linken Fenster den passenden Zielordner auswählen. Danach kann die WinSCP-Verbindung beendet werden.

Abschließend die „tcpdump.pcap“-Protokolldatei direkt in Wireshark öffnen. Ab da läuft alles wie gewohnt. Möge die Auswertung beginnen und von Erfolg gekrönt werden!