sudo vermeiden

Smalltalk
Antworten
Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

sudo vermeiden

Beitrag von GregorS » 03.12.2023 16:51:41

Hi zusammen!

Ich kam vorhin auf eine irgendwie lustige Möglichkeit, sudo zu vermeiden. Ich hätte das jetzt benötigt, um /var/log/syslog lesen zu können, ohne root oder Mitglied der Gruppe adm sein zu müssen.

Lösung:
SSH ist bei mir sowieso auf allen Rechnern istalliert. Also habe ich als root

Code: Alles auswählen

cat /home/$USER/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
gemacht und kann jetzt als $USER

Code: Alles auswählen

ssh root@localhost 'tail -n 1 /var/log/syslog'
machen.

Ich kann also damit weitermachen, sudo zu meiden :-)

Schönen Sonntach noch!

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

HumiNi
Beiträge: 349
Registriert: 02.10.2014 21:46:18

Re: sudo vermeiden

Beitrag von HumiNi » 03.12.2023 16:57:49

Es mag zwar eine irgendwie lustige Idee sein, aber ich kann den Mehrwert nicht erkennen, dafür einen ssh-Tunnel nach localhost zu graben.
Wenn den jemand erkennt, bitte ich um Erleuchtung.
Dummheit schafft Freizeit!

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: sudo vermeiden

Beitrag von JTH » 03.12.2023 17:00:32

Das klingt lustig, aber nicht nach einer allgemein empfehlenswerten Idee, nur um auf eine lokale Logdatei zugreifen zu können. Damit hast du deinem Benutzer (fast) uneingeschränkte root-Rechte gegeben. Womöglich sogar interaktionsfrei (ohne Legitimation) – nämlich, wenn dein SSH-Key nicht mit einer Passphrase versehen ist.

Du könntest jetzt auch ein schönes

Code: Alles auswählen

ssh root@localhost 'rm -fr --no-preserve-root /'
absetzen. Das kommt einem sudoers-Eintrag inklusive ALL und NOPASSWD gleich.

Ein

Code: Alles auswählen

adduser $USER adm
ist doch wesentlich spezifischer und ungefährlicher.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: sudo vermeiden

Beitrag von GregorS » 03.12.2023 17:06:30

Hallo ihr beiden,

für mich geht es hauptsächlich um die Vermeidung von sudo. Das alles spielt sich in meinem kleinen Heimnetz ab, das keine Verbindung zu irgendwelchen Atomkraftwerken hat. Mir ist klar, dass das „Loch“ riesig ist, das ich dadurch gerissen habe. Als wirklich „gefährlich“ würde ich das aber nicht bezeichnen.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: sudo vermeiden

Beitrag von cosinus » 03.12.2023 17:13:41

Wenn der User über einen kleinen Umweg per SSH ohne Passwort wie root agieren darf, seh ich da eigentlich keinen Unterschied mehr, gleich direkt als root alles zu machen. 8O
Wäre es nicht einfacher und sicherer, die syslog-Datei lesbar zu machen, also auf 644 zu setzen?

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: sudo vermeiden

Beitrag von GregorS » 03.12.2023 17:19:53

cosinus hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 17:13:41
Wenn der User über einen kleinen Umweg per SSH ohne Passwort wie root agieren darf, seh ich da eigentlich keinen Unterschied mehr, gleich direkt als root alles zu machen. 8O
Wäre es nicht einfacher und sicherer, die syslog-Datei lesbar zu machen, also auf 644 zu setzen?
Ja, nur ist es keine Seltenheit, dass irgendetwas daherkommt und meint, so etwas korrigieren zu müssen. Und wie ist es denn z.B., wenn logrotate syslog „wegrotiert“ und syslog dann neu angelegt wird? Hat es dann nicht automatisch wieder 640-Rechte?

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

KP97
Beiträge: 3446
Registriert: 01.02.2013 15:07:36

Re: sudo vermeiden

Beitrag von KP97 » 03.12.2023 17:58:37

Journalctl kann auch vom User ausgeführt werden. Einfach den User der Gruppe systemd-journal zufügen.
Ganz ohne sudo und anderen Verrenkungen tut auch doas den Job.

Benutzeravatar
TRex
Moderator
Beiträge: 8095
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: sudo vermeiden

Beitrag von TRex » 03.12.2023 18:05:27

GregorS hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 17:06:30
Hallo ihr beiden,

für mich geht es hauptsächlich um die Vermeidung von sudo. Das alles spielt sich in meinem kleinen Heimnetz ab, das keine Verbindung zu irgendwelchen Atomkraftwerken hat. Mir ist klar, dass das „Loch“ riesig ist, das ich dadurch gerissen habe. Als wirklich „gefährlich“ würde ich das aber nicht bezeichnen.

Gruß

Gregor
Nach der Argumentation kann ich nicht anders als zu fragen: warum wolltest du nochmal kein sudo? :mrgreen:
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
Livingston
Beiträge: 1462
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: sudo vermeiden

Beitrag von Livingston » 03.12.2023 18:18:40

su -c 'tail -n 1 /var/log/syslog'
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: sudo vermeiden

Beitrag von GregorS » 03.12.2023 18:20:35

TRex hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 18:05:27
GregorS hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 17:06:30
Hallo ihr beiden,

für mich geht es hauptsächlich um die Vermeidung von sudo. Das alles spielt sich in meinem kleinen Heimnetz ab, das keine Verbindung zu irgendwelchen Atomkraftwerken hat. Mir ist klar, dass das „Loch“ riesig ist, das ich dadurch gerissen habe. Als wirklich „gefährlich“ würde ich das aber nicht bezeichnen.

Gruß

Gregor
Nach der Argumentation kann ich nicht anders als zu fragen: warum wolltest du nochmal kein sudo? :mrgreen:
Warum, meinst Du denn, mag ich sudo nicht? Hatte ich das irgendwo erwähnt?

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: sudo vermeiden

Beitrag von cosinus » 03.12.2023 18:21:22

GregorS hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 17:19:53
Ja, nur ist es keine Seltenheit, dass irgendetwas daherkommt und meint, so etwas korrigieren zu müssen. Und wie ist es denn z.B., wenn logrotate syslog „wegrotiert“ und syslog dann neu angelegt wird? Hat es dann nicht automatisch wieder 640-Rechte?
Müsste man mal ausprobieren. Wenn das zu umständlich ist, dann einfach deinen User zur Gruppe adm hinzufügen.

Benutzeravatar
cosinus
Beiträge: 3441
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: sudo vermeiden

Beitrag von cosinus » 03.12.2023 18:21:58

GregorS hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 18:20:35
Warum, meinst Du denn, mag ich sudo nicht? Hatte ich das irgendwo erwähnt?
Du willst sudo vermeiden, weil du es so sehr magst? :)

Benutzeravatar
TRex
Moderator
Beiträge: 8095
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: sudo vermeiden

Beitrag von TRex » 03.12.2023 18:31:41

GregorS hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 18:20:35
Warum, meinst Du denn, mag ich sudo nicht? Hatte ich das irgendwo erwähnt?
GregorS hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 17:06:30
für mich geht es hauptsächlich um die Vermeidung von sudo.
Von "mögen" hab ich ja auch nix gesagt - aber wenn man irgendwas vermeiden will, hat das ja (außer bei psychischen Problemen) einen Grund, und bei sudo ist's meistens security, gefolgt von "neumodischer Ubuntu-Kram". Das Bestreben, Konzepte zu verbessern, kann ich nachvollziehen, aber ich verwende teilweise sudo ohne Passwort mit deiner Begründung. Da wäre dein Ansatz sogar theoretisch sicherer, wenn ich zur Legitimation meinen ssh-Agent zur besagten Maschine durchschleife 8)
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

chrbr
Beiträge: 551
Registriert: 29.10.2022 15:53:26

Re: sudo vermeiden

Beitrag von chrbr » 03.12.2023 19:40:03

Hallo GregorS,
Deine Idee fand ich auf den ersten Blick bestechend. Interessant ist es auf jeden Fall. Ich habe daraufhin mal folgendes ausprobiert.

In einem User-Terminal lasse ich netcat auf UDP und dem Port 1234 lauschen.

Code: Alles auswählen

 nc -l -u -p 1234
Als root wird nun das Journal über eine Pipe an einen zweiten netcat geschickt, der den Stream über UDP sendet.

Code: Alles auswählen

journalctl -f|nc -u 127.0.0.1 1234
Und schwups - man sieht die fortlaufenden Logeinträge im User Terminal. Ohne Deinen Vorschlag hätte ich das nie probiert :-).Ich habe Debiannetcat-traditional installiert. https://manpages.debian.org/bullseye/ne ... .1.en.html zeigt noch andere Pakete, die sich damit aber nicht vertragen.
Viele Grüße,
Christoph

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: sudo vermeiden

Beitrag von GregorS » 03.12.2023 20:09:27

chrbr hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 19:40:03
Deine Idee fand ich auf den ersten Blick bestechend.
Auf den zweiten Blick wird mir immer klarer, dass das Loch, dass ich da aufreiße, doch ganz schön groß ist und mir nichts Anderes übrig bleibt, mir mal anzugucken, was ein 'adm' darf (oder nicht). Irgendeine Ablenkung von den Sachen, die ich gerade am Köcheln habe, kann ich halt grad gar nicht brauchen. Zumal am WE.

Was soll's. Ich hab' den C64 überlebt. Da ist man gut im Nehmen.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: sudo vermeiden

Beitrag von JTH » 03.12.2023 20:20:09

GregorS hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 20:09:27
Anderes übrig bleibt, mir mal anzugucken, was ein 'adm' darf (oder nicht).
Die Gruppe adm sollte dir hier wirklich sehr gelegen kommen. Da gibt's eigentlich nicht viel zu überlegen :wink:
https://wiki.debian.org/SystemGroups#Groups_without_an_associated_user hat geschrieben: adm: Group adm is used for system monitoring tasks. Members of this group can read many log files in /var/log, and can use xconsole. Historically, /var/log was /usr/adm (and later /var/adm), thus the name of the group.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
GregorS
Beiträge: 2644
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: sudo vermeiden

Beitrag von GregorS » 03.12.2023 20:23:28

JTH hat geschrieben: ↑ zum Beitrag ↑
03.12.2023 20:20:09
https://wiki.debian.org/SystemGroups#Groups_without_an_associated_user hat geschrieben: adm: Group adm is used for system monitoring tasks. Members of this group can read many log files in /var/log, and can use xconsole. Historically, /var/log was /usr/adm (and later /var/adm), thus the name of the group.
Da zeigt sich wieder einmal, dass ein Blick in die Geschichte manchmal echt hilfreich sein kann :-) Danke!

Gregor

PS: Ui, als ich diese Liste zuletzt gesehen habe, war sie etwas kürzer ...
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

uname
Beiträge: 12084
Registriert: 03.06.2008 09:33:02

Re: sudo vermeiden

Beitrag von uname » 04.12.2023 06:28:10

Ich finde es immer interessant, wenn man sich alternative Ansätze überlegt auch wenn diese im Beispiel vom Austauschen von sudo durch SSH-Keys nicht unbedingt zielführend sind. Man kann aber mit "command=" die SSH-Keys auch einschränken. Wäre vielleicht noch eine Alternative.
https://www.ssh.com/academy/ssh/authorized-keys-openssh hat geschrieben:command="cmd"
Forces a command to be executed when this key is used for authentication. This is also called command restriction or forced command. The effect is to limit the privileges given to the key, and specifying this options is often important for implementing the principle of least privilege. Without this option, the key grants unlimited access as that user, including obtaining shell access.
Zudem ist sudo keine schlechte Sache, sondern eine Sicherheitsfunktion. sudo wird bei Ubuntu (und auch je nach Installation auch Debian) zu großzügig ausgelegt. sudo war seinerzeit ganz anders gedacht als es noch echte Mehrbenutzersysteme gab. Da gab es z. B. Benutzer oder Benutzergruppen, die nur ganz spezielle Aufgaben und diese teilweise über sudo als root ausführen sollten.

HumiNi
Beiträge: 349
Registriert: 02.10.2014 21:46:18

Re: sudo vermeiden

Beitrag von HumiNi » 04.12.2023 08:29:58

Ich war mal Mitglied eines Admin-Teams, die Linux-Server in hoher dreistelliger Anzahl betreut haben. Schon aus audit-Gründen hat keiner als root gearbeitet (das generierte root-Passwort war unbekannt und lag für Notfälle im RZ verschlossen in einem Umschlag). Alles lief über sudo und wurde ID-bezogen protokolliert.
Dummheit schafft Freizeit!

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: sudo vermeiden

Beitrag von Meillo » 04.12.2023 08:45:01

uname hat geschrieben: ↑ zum Beitrag ↑
04.12.2023 06:28:10
Ich finde es immer interessant, wenn man sich alternative Ansätze überlegt auch wenn diese im Beispiel vom Austauschen von sudo durch SSH-Keys nicht unbedingt zielführend sind. Man kann aber mit "command=" die SSH-Keys auch einschränken. Wäre vielleicht noch eine Alternative.
https://www.ssh.com/academy/ssh/authorized-keys-openssh hat geschrieben:command="cmd"
Forces a command to be executed when this key is used for authentication. This is also called command restriction or forced command. The effect is to limit the privileges given to the key, and specifying this options is often important for implementing the principle of least privilege. Without this option, the key grants unlimited access as that user, including obtaining shell access.
Zudem ist sudo keine schlechte Sache, sondern eine Sicherheitsfunktion. sudo wird bei Ubuntu (und auch je nach Installation auch Debian) zu großzügig ausgelegt. sudo war seinerzeit ganz anders gedacht als es noch echte Mehrbenutzersysteme gab. Da gab es z. B. Benutzer oder Benutzergruppen, die nur ganz spezielle Aufgaben und diese teilweise über sudo als root ausführen sollten.
Danke fuer diesen Beitrag. Die Kopplung eines SSH-Keys an einen Befehl ist die entscheidende Ergaenzung zum Ansatz von GregorS. Auch die differenziertere Betrachtung von sudo finde ich gut. Denn waere sudo in jeder Weise schlecht, dann waere es nie so verbreitet geworden. Es ist ein Hilfsmittel, das sinnvoll eingesetzt werden kann, aber nicht in jedem Fall sinnvoll ist. Sicherheitsthemen beduerfen immer differenzierter Betrachtungen.
Use ed once in a while!

Antworten