Wie löse ich Probleme mit fehlenden Berechtigungen beim Start von Wireshark unter Linux?

Melden
  1. Ursache der Berechtigungsprobleme
  2. Setzen der richtigen Gruppenrechte
  3. Setzen der Berechtigungen für das dumpcap-Programm
  4. Überprüfen der Installation und Berechtigungen
  5. Vermeidung von Root-Ausführung
  6. Alternative: Verwendung von setuid
  7. Zusammenfassung

Wireshark ist ein mächtiges Netzwerk-Analyse-Werkzeug, das oft Administratorrechte benötigt, um Netzwerkpakete abfangen und analysieren zu können. Unter Linux kommt es häufig vor, dass beim Start von Wireshark Fehlermeldungen bezüglich fehlender Berechtigungen erscheinen, da der Zugriff auf die Netzwerk-Schnittstellen standardmäßig nur privilegierten Benutzern erlaubt ist. Um dieses Problem zu beheben, gibt es verschiedene Ansätze, die man schrittweise durchführen kann.

Ursache der Berechtigungsprobleme

Der Hauptgrund für fehlende Berechtigungen liegt darin, dass das Abhören von Netzwerkpaketen auf den meisten Linux-Systemen Root-Rechten vorbehalten ist. Wenn Wireshark ohne entsprechende Rechte ausgeführt wird, kann es nicht auf die Netzwerkschnittstellen zugreifen. Um jedoch aus Sicherheitsgründen Wireshark nicht immer als Root ausführen zu müssen (was nicht empfohlen wird), gibt es Methoden, die Zugriffsrechte so einzurichten, dass reguläre Benutzer Netzwerkpakete erfassen können.

Setzen der richtigen Gruppenrechte

Das empfohlene Vorgehen ist, den Benutzer zur Gruppe hinzuzufügen, die Zugriff auf die Netzwerk-Schnittstellen hat. Unter vielen Linux-Distributionen wird die Gruppe wireshark verwendet. Ist diese Gruppe nicht vorhanden, wird sie häufig während der Wireshark-Installation angelegt.

Um zu prüfen, ob die Gruppe existiert, kann man folgenden Befehl ausführen:

getent group wireshark

Existiert die Gruppe, sollte eine Zeile mit Gruppennamen und Mitgliedern erscheinen.

Ist die Gruppe vorhanden, muss der Benutzer dieser Gruppe hinzugefügt werden. Dies erreicht man mit dem Befehl (ersetze benutzername durch deinen tatsächlichen Benutzernamen):

sudo usermod -aG wireshark benutzername

Nach dieser Änderung ist es notwendig, sich ab- und wieder anzumelden, damit die Gruppenrechte wirksam werden.

Setzen der Berechtigungen für das dumpcap-Programm

Wireshark verwendet ein separates Programm namens dumpcap, um Pakete zu erfassen. Damit reguläre Benutzer ohne Root-Rechte diese Funktion verwenden können, muss dumpcap die nötigen Berechtigungen erhalten.

Der folgende Befehl setzt die Berechtigungen, damit dumpcap mit CAP_NET_RAW und CAP_NET_ADMIN Fähigkeiten ausgeführt werden kann, was nötig ist, um auf Netzwerkschnittstellen zuzugreifen:

sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap

Der Pfad /usr/bin/dumpcap kann je nach Distribution variieren. Man kann den Pfad mit which dumpcap ermitteln.

Überprüfen der Installation und Berechtigungen

Nach dem Hinzufügen zur Gruppe und dem Setzen der Berechtigungen sollte man noch folgende Punkte kontrollieren:

Ob der Benutzer nach der Gruppenänderung korrekt angemeldet ist. Ein einfaches Öffnen eines neuen Terminals oder ein Neustart der Sitzung kann erforderlich sein.

Ob Wireshark korrekt gestartet wird und keine Fehlermeldungen hinsichtlich Berechtigungen mehr erscheinen.

Vermeidung von Root-Ausführung

Es wird generell nicht empfohlen, Wireshark mit sudo wireshark zu starten, da dies ein Sicherheitsrisiko darstellt. Mithilfe der oben beschriebenen Einrichtung ist ein Zugriff auf die Schnittstellen ohne root-Rechte möglich.

Alternative: Verwendung von setuid

Einige ältere Anleitungen empfehlen, dumpcap mit dem setuid-Bit auszustatten, damit es mit Root-Rechten ausgeführt wird, auch wenn ein normaler Benutzer das Programm startet. Diese Methode ist weniger sicher und wird heute meist durch die Nutzung von setcap ersetzt.

Falls dennoch setuid verwendet werden soll, könnte man folgendes ausführen:

sudo chown root:wireshark /usr/bin/dumpcapsudo chmod 750 /usr/bin/dumpcapsudo chmod +s /usr/bin/dumpcap

Aber wie erwähnt, ist diese Methode nicht die empfohlene Praxis.

Zusammenfassung

Fehlende Berechtigungen beim Start von Wireshark unter Linux lassen sich in der Regel lösen, indem man den Benutzer zur Gruppe wireshark hinzufügt und den Programmen wie dumpcap die nötigen Netzwerkfähigkeiten mittels setcap gewährt. Dieses Vorgehen ermöglicht es, Wireshark als regulärer Benutzer sicher und ohne Root-Rechte zu verwenden.

0

Kommentare