Flugschreiber fürs Netz

© © Nadine Platzek, Fotolia

Rekorder

Dieser Artikel verrät, wie man mit einfachen Mitteln einen Flugschreiber fürs eigene Netzwerk baut, der im Fall einer Katastrophe Informationen über die Unglücksursache liefert.
Beinahe enzyklopädisch behandelt unser Schwerpunkt-Artikel über IPSEC verschlüsselte Verbindungen zwischen Linux, Windows, BSD, Solaris, Cisco- sowie ... (mehr)

Für jeden Administrator ist der Paket-Sniffer Wireshark [1] – früher unter dem Namen Ethereal bekannt – ein Muss. Wenn Sie irgendwann einmal die Ursache für ein Netzwerkproblem finden oder Server-Traffic debuggen müssen, ist Wireshark das passende Tool dafür. Wie die meisten anderen Programme, die Netzwerkdaten mitschneiden, benutzt auch Wireshark die Libpcap. Sie stellt eine Abstraktionsschicht vom jeweiligen systemspezifischen Interface eines Betriebssystems dar, um alle Pakete zu empfangen, die über ein Shared-Netzwerk fließen. Das erspart Programmierern, für jedes Betriebssystem spezifischen Code zu schreiben. Deshalb funktioniert Software, die Libcap verwendet, auf einer ganzen Reihe von Betriebssystemen wie Linux, den BSD-Varianten, Solaris, Windows und so weiter.

Wireshark gibt es für die meisten Betriebssysteme. Bei Linux-Distributionen ist es häufig in zwei Pakete aufgeteilt, von dem das eine die Backend-Tools wie »tshark« und »mergecap« enthält und das andere die grafische Oberfläche. Auf Fedora und Red Hat lassen sich die Pakete folgendermaßen installieren:

yum install libpcap
yum install wireshark-gnome

Bei Debian/Ubuntu sieht das so aus:

apt-get install libpcap0
apt-get install wireshark

Wer noch eine ältere Linux-Distribution verwendet, die nur eine veraltete Wireshark-Version anbietet (beispielsweise 1.2), kann sich das Programm auch aus dem Quellcode kompilieren. Die Baureihen 1.3 und 1.4 enthalten eine Menge von Bugfixes, GeoIP-Support, neue Protokolle und so weiter. Um das Tool selbst zu übersetzen, laden Sie es von [2] oder dem Subversion-Repository [3] herunter und folgen der üblichen Prozedur mit Configure und Make. An Voraussetzungen benötigen Sie wenigstens die Entwicklungspakete der Libpcap, empfehlenswert sind außerdem GnuTLS, PCRE (Perl Compatible Regular Expressions) und GeoIP, wenn man dies benötigt.

Vorsicht

Um Live-Daten mitzuschneiden, müssen Sie Wireshark mit Root-Rechten ausführen. Leider hatte Wireshark in der Vergangenheit einige Sicherheitslücken, die ein Angreifer mit speziell manipulierten Paketen ausnutzen konnte. Es gibt zwei Möglichkeiten, bei der Ausführung von Wireshark mehr Vorsicht walten zu lassen. Die erste besteht darin, ein Programm wie »dumpcap« oder »tcpdump« zum Mitschneiden zu verwenden und die entstehende Logdatei später als regulärer Anwender mit Wireshark zu untersuchen.

Bei der zweiten Variante betreibt man Wireshark zwar mit Root-Rechten, aber in einem Container/Jail oder einer virtuellen Maschine. Weil Libcap Zugriff auf den Netzwerktreiber gewährt, kann man auch im Gastsystem allen Traffic mitschneiden. Der Nachteil davon ist, dass diese Möglichkeit dann auch einem eventuellen Angreifer offensteht. Feiner granulierte Rechtekontrolle wäre auf einem nativen wie auch einem virtualisierten System beispielsweise mit SELinux möglich.

Filtern

Von einem belebten Netzwerk die Daten mitzuschneiden, entspricht etwa dem Versuch, aus einem Feuerwehrschlauch zu trinken [4] . Glücklicherweise bieten die meisten Programme, die Libpcap verwenden, Filter, die von vornherein die Datensammlung begrenzen. Leider sind die Filtermöglichkeiten relativ begrenzt und beschränken sich weitgehend auf Netzwerkadressen und Ports, aber wenigstens können Sie so schon einmal die Menge der Rohdaten drastisch reduzieren. Zum Beispiel nimmt der folgende Ausdruck nur Webtraffic auf, der an die Ports 80 und 443 (HTTPS) gerichtet ( »dst« ) ist:

dst port 80 or 443

Ausführliche Informationen zur Syntax liefert die Manpage zu Tcpdump.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023