Welche spezifischen Sicherheitslücken erzeuge ich, indem ich das sudo-Passwort deaktiviere?

16

Hier finden Sie einige Anweisungen zum Deaktivieren Ihres sudoKennworts. Diese tragen die folgende Warnung

Wenn Sie das sudoKennwort für Ihr Konto deaktivieren , wird die Sicherheit Ihres Computers ernsthaft gefährdet. Jeder, der in Ihrem unbeaufsichtigten, angemeldeten Konto sitzt, hat vollständigen rootZugriff, und Remote-Exploits werden für böswillige Cracker viel einfacher.

Ich mache mir keine Sorgen, dass Menschen physischen Zugang zu meinem Computer erhalten. Welche Remote-Exploits sind möglich oder einfacher, wenn ich diese Warnung ignoriere und das Passwort deaktiviere?

Rupert Madden-Abbott
quelle

Antworten:

23

Wenn Sie Sudo ohne Kennwort zulassen, kann jeder, der es schafft, Code auf Ihrem Computer als Benutzer auszuführen, Code trivial als root ausführen. Dies könnte jemand sein, der Ihre Konsole benutzt, während Sie angemeldet sind, aber nicht vor Ihrem Computer, worüber Sie sich keine Sorgen machen (auf jeden Fall kann jemand mit physischem Zugriff so ziemlich alles tun, was er will). Dies kann auch jemand sein, der auf Ihr Konto auf einem anderen Computer zugreift, auf dem Sie auf Ihren eigenen Computer zugreifen. Es kann sich aber auch um jemanden handeln, der eine Sicherheitslücke ausnutzt - beispielsweise eine Website, die einen Browser-Fehler ausnutzt, um Code in Ihre Browser-Instanz einzufügen.

Wie groß ist das Geschäft? Aus mehreren Gründen nicht so viel:

  • Ein Angreifer, der ein entferntes Loch gefunden hat, kann wahrscheinlich auch ein lokales Wurzelloch finden.
  • Eine Reihe von Angreifern interessieren sich nicht für Root-Rechte. Sie möchten lediglich Spam versenden und andere Computer infizieren, und können dies als Benutzer tun.
  • Ein Angreifer, der Zugriff auf Ihr Konto hat, kann einen Trojaner ablegen, der Ihre Tastatureingaben (einschließlich Ihres Kennworts) aufzeichnet oder der sich auf das bezieht, was Sie als nächstes verwenden, um root zu werden und einen eigenen Befehl auszuführen.
  • Wenn Sie der einzige Benutzer auf Ihrem Computer sind, gibt es nicht viel zu schützen, auf das Sie als Benutzer nicht zugreifen können.

Auf der anderen Seite:

  • Wenn Sie mit den Sicherheitsupdates auf dem neuesten Stand sind, findet der Angreifer möglicherweise keine lokale Sicherheitslücke, die ausgenutzt werden kann.
  • Ein Nicht-Root-Angreifer kann seine Spuren nicht sehr gut löschen.
  • Hin und wieder ein Passwort eingeben zu müssen, ist keine große Belastung.
  • Wenn Sie ein Kennwort eingeben müssen, werden Sie daran erinnert, dass Sie etwas Gefährliches tun (z. B. Daten verlieren oder Ihren Computer unbrauchbar machen können). (Als Nicht-Root-Benutzer besteht die einzige reale Gefahr darin, Daten versehentlich zu löschen. Dies ist normalerweise offensichtlich, wenn Sie etwas löschen, und sollte besonders vorsichtig sein.)
Gilles 'SO - hör auf böse zu sein'
quelle
9

Ich denke, dass das Passwort für sudo Sie nur vor zwei Dingen schützen kann:

  1. versehentliche Beschädigung Ihres eigenen Systems (z. B. einige rm -rfmit einem relativen Pfad aus dem Shell-Verlauf in einem anderen Verzeichnis als zuvor oder so ähnlich)
  2. Ausführen eines (bösartigen) Skripts, das sudoIhr System aufruft und versucht, es zu schädigen (aber ich glaube nicht, dass diese Art von bösartiger Software sehr beliebt ist)

Wenn Sie möchten, können Sie die NOPASSWDOption nur für ausgewählte Befehle verwenden, die Ihr System nicht beeinträchtigen (für Editoren oder zum Neustarten von Diensten), und das Kennwort für andere Befehle beibehalten.

pbm
quelle
-1 für den gefährlichen Vorschlag, dass das Ausführen eines Editors als Root dem System nicht schaden kann. An diesem Punkt können Sie auch alles als root ausführen lassen , da eine Editor-Sitzung die Ausführung von beliebigem Code sowieso ermöglicht.
Caleb
2

Es ist erwähnenswert, dass einige kompetente Organisationen passwortloses sudo tatsächlich bevorzugen, wenn sie Benutzer haben, die sich bei vielen verschiedenen Remote-Hosts anmelden müssen - insbesondere, wenn dies Hosts mit unterschiedlichen Sicherheitsstufen umfasst.

Das Problem bei der Eingabe Ihres Kennworts besteht darin, dass Sie Ihr Kennwort regelmäßig an ferne Systeme weitergeben. Einer der Gründe, warum wir SSH verwenden, besteht darin, genau diese Art von Sicherheitslücke zu vermeiden. Es ist eine Frage der Kompromisse: Sie erhöhen die Wahrscheinlichkeit, dass das Kennwort eines Benutzers kompromittiert wird, um die Wahrscheinlichkeit zu verringern, dass ein Angreifer, der eine Sitzung oder einen Schlüssel kompromittiert hat, Root-Zugriff erhält. Stellen Sie sich insbesondere folgendes Szenario vor:

  • große Organisation
  • viele Gastgeber
  • Hosts haben unterschiedliche Sicherheitsstufen
  • Nicht-Root-Zugriff ist bereits schädlich
  • Benutzerkennwörter entsperren viele Dinge

In dem von mir beschriebenen Szenario kann Sudo ohne Passwort Ihre Sicherheit erhöhen, indem es das Passwort des Benutzers schützt. Dies ähnelt den im Internet verbreiteten Angriffen zur Wiederverwendung von Kennwörtern, mit der Ausnahme, dass die Sicherheitsanfälligkeit eher auf einem einheitlichen Authentifizierungssystem als auf der tatsächlichen Wiederverwendung von Kennwörtern beruht.

Wenn Sie sich nicht in einem riesigen Unternehmen befinden, wird Sudo mit Kennwort wahrscheinlich Ihre Sicherheit erhöhen - aber nicht unbedingt um ein Vielfaches. Wenn Sie nicht wirklich ein Experte in Sachen Systemsicherheit sind oder wenn es sich um einen Host handelt, auf dem nichts besonders Wertvolles zu finden ist, würde ich Ihnen empfehlen, ihn eingeschaltet zu lassen.

Sarah G
quelle
-1

Wenn Sie nicht sshdinstalliert haben , ist es ziemlich sicher, es sei denn, Sie brechen selbst etwas.

Arlock
quelle