Blockieren bestimmter Befehle von Sudo-Benutzern

Blockieren bestimmter Befehle von Sudo-Benutzern

Ich möchte verhindern, dass Sudo-Benutzer das Root-Passwort ändern. Wie ist das möglich?

Antwort1

Wenn Sie von Benutzern sprechen, die nur bestimmte Befehle ausführen dürfen, die Sie auf die Whitelist gesetzt haben - nachdem Sie sichergestellt haben, dass sie nicht für Dinge verwendet werden können, die Sie verbieten möchten - dannRaman Sailopal sagtDie Lösung besteht einfach darin,nichtFügen Sie alle Befehle ein, die diese Benutzer nicht als Root ausführen können sollen.

Insbesondere müssen Benutzer nicht root sein, um den passwdBefehl zum Ändern ihrereigenPasswörter, also je nach Ihren spezifischen Bedürfnissen ist es wahrscheinlich, dass Sie ihnen nicht die Möglichkeit geben müssen,beliebig passwdBefehl als Root mit sudo.

Wenn Sie jedoch nach einer effektiven Möglichkeit suchen, die Möglichkeiten der Benutzer einzuschränkenwem Sie überhaupt die Ausführung eines Befehls erlaubt habenals root mit sudoder Ausführung nur bestimmter Befehle, die Sie für gefährlich halten, dann lautet die Antwort:Es gibt keinen effektiven Weg, dies zu erreichen, und Sie sollten stattdessen darüber nachdenken, ob Sie diesen Benutzern die Befugnisse erteilen sollten, die Sie ihnen jetzt erteilen. Selbst wenn Sie bestimmte Befehle verbieten würden, könnten Benutzer, die alle außer einigen auf der schwarzen Liste stehenden Befehle als Root ausführen könnten, mit sudoanderen Befehlen genau dasselbe Ziel erreichen.

Alsdas sudoHandbuchheißt es imSICHERHEITSHINWEISEAbschnitt:

Einschränkungen des '!'-Operators

Es ist im Allgemeinen nicht effektiv, Befehle zu „subtrahieren“ vonALLEmit dem !Operator ' '. Ein Benutzer kann dies trivial umgehen, indem er den gewünschten Befehl unter einem anderen Namen kopiert und diesen dann ausführt. Beispiel:

bill    ALL = ALL, !SU, !SHELLS

Verhindert nicht wirklichRechnungvon der Ausführung der in SOoderMUSCHELNda er diese Befehle einfach unter einem anderen Namen kopieren oder einen Shell-Escape aus einem Editor oder einem anderen Programm verwenden kann. Daher sollten derartige Einschränkungen bestenfalls als Empfehlung betrachtet werden (und durch Richtlinien verstärkt werden).

Wenn ein Benutzer sudo hat,ALLEEs steht ihnen frei, unabhängig von etwaigen ' !'-Elementen in der Benutzerspezifikation ein eigenes Programm zu erstellen, das ihnen eine Root-Shell gibt (oder eine eigene Kopie einer Shell zu erstellen).

Dies ist ein Sonderfall des allgemeineren Prinzips, dass man jemandem nicht die Fähigkeit geben kann,willkürlichAktionen in einem System, während man sie effektiv einschränkt, indem man versucht, einige eng gefasste Aktionen zu verbieten. Zumindest kann man das nicht einfach dadurch erreichen, dass man diegemeinsame Mechanismendie verwendet werden, um sie auszuführen. Sie können immer einen anderen Weg finden, und sie werden das vielleicht auch tun. Sie werden vielleicht einen anderen Weg findensogar aus Versehen, so dass Sie auf diese Weise wahrscheinlich nicht einmal deren Nachlässigkeit wirksam bekämpfen können.

Wenn Sie Benutzer haben, die das System verwalten sollen, denen Sie aber nicht zutrauen, dass sie Ihrer Aufforderung nachkommen, das Root-Passwort nicht zu ändern, vertrauen Sie ihnen dann wirklich in allen wichtigen Punkten? Vertrauen Sie ihnen wirklich in allenandereFähigkeiten, die sie haben, von denen die meisten weitaus destruktiver sind? Wie ich inmeine AntwortZuWas hindert jemanden daran, ein Root-Passwort festzulegen?zur Verwaltung von Ubuntu-Systemen (wobei die Mitgliedschaft in der Gruppe standardmäßig sudoVerwaltungsrechte verleiht):

Sie sind Mitglied der sudoGruppe. Sie können alle Dateien auf dem System löschen. Sie können Rohdaten auf die Festplatte schreiben und die dort vorhandenen Daten unwiederbringlich überschreiben. Sie können auf die Dateien anderer Benutzer zugreifen, selbst wenn diese restriktive Berechtigungen festgelegt haben. Sie können neue Firmware auf Ihren physischen Geräten installieren. Sie können die Passwörter der Benutzer aus der Schattendatenbank löschen und versuchen, sie zu knacken oder sie einfach zurücksetzen. Sie können Malware installieren, die die Privatsphäre der Benutzer verletzt oder Daten zerstört, darunter Keylogger und Ransomware. Sie können mit Ihren Netzwerkschnittstellen wirklich seltsame Dinge tun. Sie können das System dazu bringen, Benutzer über die Sicherheit ihrer Kommunikation falsch zu informieren. Sie könnenVerwische deine Spuren. Sie können all diese Kräfte und andere, die ich nicht aufgelistet habe, an Leute weitergeben, die sie für Böses einsetzen werden. Wenn es um den Missbrauch sudovon Polkit geht,diesesind die Dinge, über die Sie sich Sorgen machen sollten.

Zwar sollte man keine fremden Personen unbeaufsichtigt ins Haus lassen, der Grund dafür liegt jedoch nicht darin, dass diese anschließend die Tür von innen aufschließen und eindringen könnten.*

verwandte Informationen