Wie behebe ich Berechtigungsprobleme beim Ausführen von Zenmap unter Linux?

Melden
  1. Ursachen von Berechtigungsproblemen bei Zenmap
  2. Zenmap mit administrativen Rechten starten
  3. Zugriffsrechte auf das X-Display anpassen
  4. Alternativen: Nmap-Berechtigungen per Set-UID setzen
  5. Zenmap komplett rootlos betreiben (eingeschränkte Funktionen)
  6. Empfohlener sicherer Workflow
  7. Zusammenfassung

Ursachen von Berechtigungsproblemen bei Zenmap

Zenmap ist die grafische Benutzeroberfläche des bekannten Netzwerk-Scanners Nmap. Da Nmap oft besondere Rechte benötigt, um Netzwerkpakete direkt zu senden und zu empfangen, treten beim Ausführen von Zenmap unter Linux häufig Berechtigungsprobleme auf. Diese resultieren meist daraus, dass Zenmap als normaler Benutzer gestartet wird, der nicht die erforderlichen Zugriffsrechte besitzt. Insbesondere Aktionen wie das Scannen von Ports oder das Durchsuchen von Netzwerken benötigen Root- oder entsprechende administrative Rechte.

Außerdem gibt es aus Sicherheitsgründen Einschränkungen, da das Ausführen von grafischen Anwendungen als Root nicht immer empfohlen wird und manchmal Probleme mit den Zugriffsrechten auf das Display (X11 oder Wayland) verursacht.

Zenmap mit administrativen Rechten starten

Der direkteste Weg, Berechtigungsprobleme zu vermeiden, besteht darin, Zenmap mit Root-Rechten zu starten. Dazu kann man den Befehl sudo zenmap im Terminal eingeben. Alternativ, wenn man eine Desktop-Umgebung wie GNOME oder KDE verwendet und ein Terminal öffnet, gilt:

sudo zenmap

Dies startet Zenmap mit maximalen Rechten, sodass Nmap alle notwendigen Operationen durchführen kann. Allerdings gilt: Das Ausführen grafischer Programme als Root kann zu Problemen mit der Anzeige führen, falls keine korrekten Zugriffsrechte für das X-Display gesetzt sind.

Falls es bei der Ausführung via sudo zenmap zu Fehlern wie "cant open display" oder ähnlichem kommt, muss man dem Root-Benutzer Zugriff auf das aktuelle X-Display gewähren.

Zugriffsrechte auf das X-Display anpassen

Linux-Displays sind meist durch X11 oder Wayland gesteuert. Wenn man Zenmap als Root startet, benötigt der Root-Benutzer das Recht, das Display des aktuellen Benutzers verwenden zu dürfen. Dies kann man mit dem Befehl xhost +si:localuser:root aktivieren.

Im Terminal des normalen Anwenders führt man also folgenden Befehl aus:

xhost +si:localuser:root

Dadurch erhält der Root-Benutzer Zugriff auf das eigene X-Display und grafische Programme können ohne Probleme unter Root laufen. Dies ist eine vorübergehende Erlaubnis, die beim Abmelden erlischt. Man kann sie auch wieder mit xhost -si:localuser:root entfernen.

Alternativen: Nmap-Berechtigungen per Set-UID setzen

Da Zenmap nur eine Oberfläche für Nmap ist, kann man auch versuchen, Nmap so zu konfigurieren, dass es ohne Root-Rechte läuft. Dies wird oft durch das Setzen des Set-UID-Bits auf die Nmap-Binary erreicht. Dabei wird Nmap stets mit Root-Rechten ausgeführt, egal welcher Nutzer es startet.

Dies kann man mit folgenden Befehlen durchführen (mit administrativen Rechten):

sudo chown root:root /usr/bin/nmap sudo chmod 4755 /usr/bin/nmap

Diese Methode erlaubt es normalen Benutzern, Nmap und damit Zenmap ohne root zu verwenden. Allerdings kann dies Sicherheitsrisiken bergen, weil Nmap so erhöhte Rechte erlangt. Aus diesem Grund wird diese Methode zunehmend seltener empfohlen.

Zenmap komplett rootlos betreiben (eingeschränkte Funktionen)

Ohne Root-Rechte kann Zenmap Nmap zwar starten, es wird jedoch nur ein eingeschränkter Funktionsumfang zur Verfügung stehen. Zum Beispiel sind nur Scans möglich, die kein Raw-Paket-Sending benötigen, wie connect()-Scans. Diese sind meist deutlich langsamer und weniger aussagekräftig.

Um Zenmap trotzdem als normaler Benutzer mit vollem Funktionsumfang zu nutzen, ist der Start mit erhöhten Rechten oder die Konfiguration des Set-UID-Bits notwendig.

Empfohlener sicherer Workflow

Ein sicherer Workflow besteht darin, Zenmap mit sudo zu starten und vorher mittels xhost +si:localuser:root dem Root-Benutzer Zugriff auf das Display zu geben. So nutzt man die volle Funktionalität, ohne Nmap komplett Set-UID zu setzen.

Beispiel:

xhost +si:localuser:root sudo zenmap

Nach Beenden von Zenmap kann man den Zugriff mit xhost -si:localuser:root wieder entziehen.

Zusammenfassung

Berechtigungsprobleme bei Zenmap ergeben sich vor allem daraus, dass Nmap für aussagekräftige Scans Root-Rechte benötigt und die grafische Oberfläche als normaler Benutzer die notwendigen Rechte nicht besitzt. Die unkomplizierteste Lösung ist, Zenmap per sudo mit Root-Rechten zu starten und dem Root-Benutzer Zugriffsrechte auf das Display zu geben. Alternativ kann man Nmap als Set-UID-Binary konfigurieren, was allerdings Sicherheitsrisiken birgt. Ohne Root sind die Funktionen von Zenmap eingeschränkt.

0

Kommentare