Warum schreckt Visudo andere Redakteure ab?

Warum schreckt Visudo andere Redakteure ab?

man visudoerklärt, dass Visudo (standardmäßig) keine EDITORUmgebungsvariablen VISUALverwendet.

Es sagt, dass

„Es gibt keine einfache Möglichkeit, einen Benutzer daran zu hindern, eine Root-Shell zu erhalten, wenn der von visudo verwendete Editor Shell-Escapes zulässt.“

Jetzt bin ich verwirrt, wo das Sicherheitsrisiko liegt. Ich glaube, dass

  • nur root kann visudo zum Bearbeiten verwenden/etc/sudoers
  • nur root kann die Umgebungsvariablen von root ändern
  • root hat bereits eine Root-Shell

Es gibt wahrscheinlich einen Anwendungsfall, bei dem dies nicht zutrifft, aber er fällt mir nicht ein.

Antwort1

visudoStreng genommen glaube ich nicht, dass das Ausführen eines beliebigen Editors ein zusätzliches Sicherheitsrisiko darstellt . Der ausführende Benutzer visudohat offensichtlich bereits die Berechtigung zum Bearbeiten /etc/sudoersund kann daher Regeln hinzufügen, die die Ausführung beliebiger anderer Befehle auf dem System ermöglichen. Unabhängig davon, welcher Editor ausgeführt wird, kann ein Benutzer, der dazu berechtigt ist, visudobereits indirekt ausführen, was er möchte, indem er eine neue Sudo-Regel hinzufügt.

Ich glaube, der Hinweis in der Dokumentation zu den EDITORUmgebungsvariablen VISUALund bezieht sich auf die Ausführung einer Root-Shell (oder eines beliebigen Befehls) unter Umgehung der Standardprotokollierung von sudo. Standardmäßig protokolliert sudo alle erfolgreichen und erfolglosen Authentifizierungen in syslog. Dies gibt dem Systemadministrator einen Prüfpfad darüber, welche Benutzer welche Befehle über sudo ausführen. Wenn ein Benutzer /etc/sudoersmit ändert visudo, kann dies durch Prüfsummenbildung oder Überprüfung der Datei festgestellt werden. Wenn ein Benutzer jedoch über eine Root-Shell zugreifen kann visudo, kann er beliebige Befehle ohne Prüfpfad ausführen.

Das Sicherheitsrisiko ist also das gleiche wie bei der Erteilung der Ausführungsberechtigung sudo bash, nämlich dass ein Benutzer mit dieser Berechtigung eine Root-Shell erhalten und beliebigen Code ausführen kann, ohne dass es zu Einschränkungen oder Protokollierungen der ausgeführten Befehle kommt.

verwandte Informationen