Hans9876543210 schrieb:
linux_joy schrieb:
Und außerdem hat "root" ja immer noch den zusätzlichen Zugriff auf das Capture (neben dem ihm genehmen eingeschränkten Benutzer). Im Zweifelsfalle kann er doch das Capture gleich nach dessen Erstellung wieder mit Root-Rechten versehen!
Ist das wirklich so?
sudo tcpdump -Z $USER -K -p -w test
sudo tcpdump -K -p -w test2
ausgeführt. Anschließend:
ls -hal test*
ergibt:
-rw-r--r-- 1 ich ich 84K Dez 23 07:10 test
-rw-r--r-- 1 root root 1,4M Dez 23 07:11 test2
Lesen kann die Datei dann zwar root, aber an den Eigenschaften kann er nichts ändern.
Bitte was? Mit chmod und chown kann er sehr wohl alles ändern!
M.E. ist die Begründung, die du anführst, nicht logisch. Letztlich geht das imho darum, dass tcpdump halt mit superuser Rechten aufgerufen werden muss, um alles mitschneiden zu können.
Richtig, außer es geht halt automatisch via Setuid-Bit. Aber auch dabei könnte man das Flag -Z
setzen und ALLES würde mitgeschnitten werden!
Oder etwa nicht?
Die eigentliche Auswertung soll dann wiederum nur durch ausgewählte Benutzer möglich sein.
Wieso? Oder durch Root höchstselbst.
Das geht dann auch ohne sudo:
tcpdump -ttttnnr test
tcpdump -ttttnnr test2
Bei mir zeigt er dann an:
Command 'tcpdump' is available in '/usr/sbin/tcpdump'
The command could not be located because '/usr/sbin' is not included in the PATH environment variable.
This is most likely caused by the lack of administrative priviledges associated with your user account.
tcpdump: command not found
Es kommt also darauf an, ob '/usr/sbin' in der Umgebungsvariable PATH ist oder nicht.
Ich sehe da ehrlich gesagt keinen Sicherheitsgewinn:
Man kann damit also das durch die Ausführung mit Root-Rechten [1] bzw. das gesetzte Setuid-Bit einhergehende Sicherheitsrisiko senken.
Natürlich kann man das! Hast Du etwa nicht den in Sonderrechte enthaltenen Warn-Kasten gelesen:
Achtung!
Vor allem das "Set-UID-Recht" sollte nur mit äußerster Vorsicht angewandt werden!
Besonders gefährlich ist es, das SUID-Bit bei Dateien zu setzen, die Besitz von root
sind, denn dann kann jeder diese mit Administrator-Rechten starten. Schwachstellen im jeweiligen Programm können dann dazu ausgenutzt werden, vollständigen Root-Zugriff auf das gesamte System zu bekommen. Nur bei wenigen Programmen, die darauf ausgelegt sind, ist dieses Bit gesetzt (z.B. sudo
oder su
).
Entsprechend und vor allem gilt das natürlich für die direkte Ausführung als Root bzw. sudo.
Durch das Setzen des Flags -Z
passiert folgendes:
"Nachdem die zu sniffende Netzwerkschnittstelle bzw. die mit dem -r Flag zu parsende Datei geöffnet worden ist, jedoch bevor irgendeine Ausgabe(datei) gestartet bzw. geöffnet worden ist, wird das Benutzerkonto (UID) von root auf den angegebenen Benutzer und die Gruppe (GID) von root auf die Hauptgruppe des angegebenen Benutzers geändert."
Wobei soll da bitte schön denn KEIN Sicherheitsgewinn sein???
Vorschlag:
[...] angegebenen Benutzers geändert. Den gerade angemeldeten [...]. Die Änderung der Zugriffsrechte unmittelbar beim Capture kann sinnvoll sein, wenn die Auswertung durch einen gesonderten Personenkreis durchgeführt wird.
Ehrlich gesagt kann ich daraus nicht "schlau" werden!