(gelöst) ping und suid

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
guennid

(gelöst) ping und suid

Beitrag von guennid » 06.07.2016 18:37:54

Bei /bin/ping ist die UID, wenn ich recht sehe, defaultmäßig gesetzt. Sowohl bei wheezy als auch bei einem nicht mehr so frischen jessie. Bei der letzten jessie-Installation konnte zunächst nur noch root pingen. Gibt's dafür eine Erklärung?
(Beide jessies ohne udev und systemd)
Wikipedia hat geschrieben:Ausführbare Programme, bei denen dieses Bit gesetzt ist, werden zusätzlich zu den Rechten desjenigen Benutzers, der die Datei ausführt, auch mit den Rechten des Benutzers ausgeführt, dem die Datei gehört.
Wenn das so stimmt ist das wieder so'n Beispiel für irreführende Bezeichnerei, dann müsste es doch eigentlich SOID (set Owner-Idendity) heißen - oder?

Grüße, Günther
Zuletzt geändert von guennid am 13.07.2016 18:30:51, insgesamt 3-mal geändert.

Benutzeravatar
MSfree
Beiträge: 11661
Registriert: 25.09.2007 19:59:30

Re: ping und suid

Beitrag von MSfree » 06.07.2016 19:21:23

guennid hat geschrieben:Gibt's dafür eine Erklärung?
Ping benötigt raw network sockets und die darf nur eine privilegierter User öffnen. Also wird das Programm dem User root zugeteilt und SUID bewirkt, daß das Programm mit root-Rechten läuft.

Das ist aber keineswegs neu, auch 1989 war ping unter IRIX 3.5 schon SUID-root.

guennid

Re: ping und suid

Beitrag von guennid » 06.07.2016 19:29:18

MSFree hat geschrieben:Das ist aber keineswegs neu
Schon klar, aber darum ging's nicht. Mir ging's darum, warum es bisher defaultmäßig immer gesetzt war, aber bei der letzten jesssie-Installation nicht, so dass ich das selber tun musste.
Oder so gefragt, falls das nicht wieder Kriegsgeschrei auslöst: Wird das neuerdings von udev übernommen (das Setzen von suid) und früher war's anders geregelt? Oder war's einfach 'ne Panne bei der Installation?

Benutzeravatar
MSfree
Beiträge: 11661
Registriert: 25.09.2007 19:59:30

Re: ping und suid

Beitrag von MSfree » 06.07.2016 19:58:08

Hmm, in der Tat, ping ist auf meinem Jessie auch ohne SUID-root.

Ich habe allerdings folgende Seite gefunden, die die Sache erklärt.
http://stackoverflow.com/questions/3751 ... ux-distros

Bei mir klappt ping jedenfalls als normaler User auch ohne SUID-root.

guennid

Re: ping und suid

Beitrag von guennid » 06.07.2016 20:05:01

Bei mir klappt ping jedenfalls als normaler User auch ohne SUID-root.
Hier leider nicht. Nochmal: ist udev neuerdings zuständigf?

Der verlinkte Text ist zu englisch für mich. :wink:

Grüße, Günther

Benutzeravatar
MSfree
Beiträge: 11661
Registriert: 25.09.2007 19:59:30

Re: ping und suid

Beitrag von MSfree » 06.07.2016 20:17:57

guennid hat geschrieben:ist udev neuerdings zuständigf?
Nein.
Der verlinkte Text ist zu englisch für mich. :wink:
"On modern distros, ping uses an extended file attribute to grant CAP_NET_RAW to unprivileged users.
...which is better than SUID, security wise: only one capability here, instead of the full root set (37 capabilities as of my 4.5 kernel)."

heißt so viel wie:

Bei modernen Distributionen nutzt ping ein erweitertes Dateiattribut, um CAP_NET_RAW auch unprivilegierten Nutzern zur Verfügung zu stellen... Das sei sicherer als SUID, weil nur ein einzelnes Recht zugeteilt werden muß statt der vollen SUID-Palette.

Ich vermute, daß dein selbst kompilierter Kernel schuld ist, den du vermutlich mit der einen oder andere Option zu wenig gebacken hast.

Wer ohne systemd und udev arbeiten will, muß halt leiden und auf die harte Tour lernen :mrgreen:

guennid

Re: ping und suid

Beitrag von guennid » 06.07.2016 20:54:41

Wer ohne systemd und udev arbeiten will, muß halt leiden und auf die harte Tour lernen :mrgreen:
OK :mrgreen:

Ich habe da was im Hinterkopf, muss ich aber erst noch 'ne Weile meditieren, bis das wieder hochgespült ist.

Grüße, Günther

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: ping und suid

Beitrag von dufty2 » 06.07.2016 20:58:04

Vielleicht solltest Du zuerst mal testen, ob es bei Dir gesetzt, das Attribut:

Code: Alles auswählen

$ /sbin/getcap /bin/ping
/bin/ping = cap_net_raw+ep
traceroute - zum Bleistift - braucht es nicht:

Code: Alles auswählen

$ /sbin/getcap /usr/bin/traceroute
$

guennid

Re: ping und suid

Beitrag von guennid » 06.07.2016 21:08:21

Code: Alles auswählen

$ /sbin/getcap /bin/ping
Failed to get capabilities of file `/bin/ping' (Operation not supported)

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: ping und suid

Beitrag von dufty2 » 06.07.2016 21:25:34

Und was gibt

Code: Alles auswählen

$ grep FS_SEC /boot/config-*
aus?

guennid

Re: ping und suid

Beitrag von guennid » 06.07.2016 21:35:34

Code: Alles auswählen

$ grep FS_SEC /boot/config31803t2.3
# CONFIG_EXT4_FS_SECURITY is not set
Im Jessie-Standard-Kern 3.16.0 ist das Modul auf "Y" aber den kann man ohne udev nicht nutzen (initrd).
Zuletzt geändert von guennid am 06.07.2016 21:40:09, insgesamt 1-mal geändert.

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: ping und suid

Beitrag von dufty2 » 06.07.2016 21:39:28

guennid hat geschrieben:

Code: Alles auswählen

$ grep FS_SEC /boot/config31803t2.3
# CONFIG_EXT4_FS_SECURITY is not set
Tja, sollte man vielleicht ändern ;)

guennid

Re: ping und suid

Beitrag von guennid » 06.07.2016 21:40:41

Aber ja doch!

guennid

Re: ping und suid

Beitrag von guennid » 06.07.2016 21:46:05


Benutzeravatar
heisenberg
Beiträge: 4126
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: ping und suid

Beitrag von heisenberg » 06.07.2016 23:13:17

Ich kann wieder pingen. Die Welt hat wieder einen Sinn. (War bis jetzt zu faul rauszufinden, was sich da geändert hat). Grüße und Dank an den geringfügig weniger faulen Mitschreiber, der die Frage gestellt hat :)

guennid

Re: ping und suid

Beitrag von guennid » 07.07.2016 10:04:01

Code: Alles auswählen

CONFIG_EXT4_FS_SECURITY=y
:mrgreen: :THX:

Wann wurde das geändert (von suid auf diese Kernel-Einstellung)? Kann man das nachlesen? Wie gesagt: auf einer etwas älteren Jessie-Installation (von deren Kernel-config die des neueren abgeleitet wurde) macht noch suid den Job, ohne dass ich das indivuell so konfiguriert hätte.

Antworten