sudo
ist genauso sicher oder unsicher wie seine beliebten Alternativen wie su
.
Die beliebteste Alternative sudo
bedeutet, dass einige oder alle Benutzer ihre Berechtigungen mit su
erhöhen können. In den meisten Fällen ist dies allen Benutzern gestattet, solange sie das Kennwort des Zielbenutzers kennen. Im Gegensatz zu sudo
, das fast immer so eingerichtet ist, dass ein eigenes Kennwort eines Benutzers erforderlich ist (und nur auf vertrauenswürdige Benutzer beschränkt ist), erfordert su
das Kennwort des Zielbenutzers
Einige Leute gehen davon aus, dass dies su
sicherer macht als sudo
, aber nicht. su
ist denselben Angriffen ausgesetzt wie sudo
. Angenommen, Sie sind ein Benutzer, der manchmal su
ausführt, um root zu werden. Angenommen, ein Angreifer, der das Kennwort von root nicht kennt und noch keine Aktionen ausführen kann, da der Root-Benutzer dennoch beliebigen Code als Ihr Nicht-Root-Konto ausführen kann. So wie dieser Angreifer es schaffen kann, dass Sie beim Ausführen von sudo
seinen böswilligen Befehl ausführen, kann dieser Angreifer es auch so machen, dass Sie beim Ausführen von su
' Führen Sie den böswilligen Befehl erneut aus.
Das heißt, die Technik in reeds Antwort funktioniert genauso gut, um einen gefälschten su
-Befehl einzuführen, der das Kennwort von erfasst Der Benutzer target (der, wenn su
zur Verwaltung des Systems verwendet wird, normalerweise root ist).
Aber es ist möglich, es besser zu machen als beide, oder um das Risiko zu minimieren.
Sobald jemand Befehle wie Sie ausführen kann, kann er normalerweise willkürliche Änderungen am Verhalten Ihrer Shell vornehmen und so gefälschten sudo
, su
, doas
oder andere Befehle zur Erhöhung von Berechtigungen.
Solange Sie jedoch die Interaktion mit einem gefälschten Anmeldebildschirm vermeiden können, können Sie dies durch getrennte administrative und nicht administrative Benutzerkonten abmildern. Das klingt nicht nach einer neuen Idee und ist es natürlich auch nicht, aber es ist überraschend, wie selten dies wirklich getan wird.
Ihr Administratorkonto könnte sei einfach das Root-Konto. Wenn Sie jedoch die Vorteile einer Nichtanmeldung als Root nutzen möchten, einschließlich der Protokollierung (um herauszufinden, was bei nicht böswilligen Fehlern schief gelaufen ist) und der Möglichkeit, Programme auszuführen, die nicht als Root ausgeführt werden sollen (die meisten) grafische Oberflächen), dann können Sie zwei Nicht-Root-Konten haben, von denen eines für die Verwaltung verwendet wird (in denen Sie je nach Bedarf sudo
oder su
ausführen) und das andere Dies ist nicht der Fall.
Dieses Konto sollte, wenn natürlich nicht Zugriffsdaten mit dem nicht administrativen Konto teilen. Sie sollten keine identischen oder ähnlichen Passwörter haben und separate Schlüsselpaare. Darüber hinaus dürfen Sie nicht vom nicht administrativen Konto zum administrativen Konto aufsteigen, aus demselben Grund dürfen Sie nicht vom nicht administrativen Konto zum Root aufsteigen.
Wenn Sie dies tun, gibt es sogar ein Argument für sudo
gegenüber seinen Alternativen.
In diesem Setup gibt es einen Vorteil von sudo
gegenüber su
, obwohl dies kein entscheidender Vorteil ist. Sie können vermeiden, versehentlich das falsche Konto zu verwenden - das Konto, das für alle Arten anderer nicht administrativer Dinge verwendet wird, die es einem höheren Risiko aussetzen können -, um das System zu verwalten, indem Sie es so gestalten, dass es nur ein reguläres eingeschränktes Benutzerkonto ist Das ist nicht in der Datei / etc / sudoers
aufgeführt und gehört keiner Gruppe an.
Sie können dieses Ziel aber auch mit su
erreichen, indem Sie entweder die richtige Selbstdisziplin anwenden und sicherstellen, dass Sie niemals su
von dem von Ihnen erstellten Konto aus arbeiten als nicht administrativ oder indem verhindert wird, dass als nicht administrativ bezeichnete Konten die Berechtigungen mit su
erhöhen. (Eine Möglichkeit, dies auf einem GNU / Linux-System zu erreichen, ist AppArmor. Auf diese Weise hat Ubuntu verhindert, dass das Gastkonto su
jemals erfolgreich verwendet hat - in früheren Versionen von Ubuntu, mit denen es ausgeliefert wurde Gastkonten aktiviert.)
Das Risiko, sudo
oder su
auf die übliche Weise zu verwenden, kann für Sie akzeptabel sein.
Trotz allem sage ich nicht, dass Sie dies unbedingt tun müssen. Es liegt an Ihnen oder gegebenenfalls an Ihnen und anderen Interessengruppen.
Für viele Menschen steigen die Risiken, die mit der Verwendung desselben Kontos für (a) verbunden sind sudo
(oder ähnliche Mechanismen wie Polkit) oder su
(oder ähnliche Mechanismen wie doas
), wie sie für (b) verwendet werden em> Nicht administrative Aufgaben wie das Ausführen eines Webbrowsers können aus Bequemlichkeitsgründen ein akzeptabler Kompromiss sein.