Post by Ralph AichingerPost by Peter J. HolzerPost by Ralph AichingerEr trägt aber zur Sicherheit bei (Angreifer kommt weniger leicht zu
erhöhten Privilegien, bzw. muß sich noch mal anstrengen).
Davon bin ich nicht überzeugt.
Beispiel: Login per ssh-Key ohne Superuser-Rechte, um höhere Rechte zu
bekommen, muß man das Passwort eingeben. Da braucht man schon mal u.U.
Key+Passwort um weiterzukommen.
Das zusätzliche Passwort bräuchte man bei su auch (in diesem Fall halt
das Root-Passwort). Ist das sicherer oder weniger sicher? Wenn ein
Angreifer meinen private Key hat, ist die Wahrscheinlichkeit, dass er
auch mein Passwort kennt, schon recht hoch. Das Root-Passwort hingegen
ist ein anderes. Andererseits steigt die Gefahr eines Leaks, wenn
mehrere Leute das Root-Passwort kennen. Und in beiden Fällen kann
jemand, der bereits Zugriff auf den Account hat, das Passwort mit hoher
Wahrscheinlichkeit abfangen. Also viel Unterschied sehe ich da nicht.
Gegenüber direktem Login als Root hat man einen Faktor mehr. Stimmt.
Aber ein Passwort ist in dem Szenario ein eher schwacher Faktor. Und ssh
könnte man z.B. über einen Yubikey absichern, das würde IMHO mehr
bringen (habe ich aber noch nicht ausprobiert).
Post by Ralph AichingerPost by Peter J. HolzerDas stimmt, aber nur, wenn man es auch auf per-Kommando-Basis verwendet.
Wenn jeder einfach »sudo -i« aufruft, dann weiß man erst wieder nicht,
wer was gemacht hat. Da kann man sich dann auch gleich als Root
einloggen.
Auch dann kann man sich oft aus den Zeiten was zusammenreimen (wenn 10
Minuten vorher XY "sudo -i" macht, und sich vorher 3 Tage lang keiner
eingeloggt hat, wer wird wohl verantwortlich sein?).
Das geht bei SSH auch. Wenn die Leute entsprechend kurzlebige Sessions
haben. Bei Leuten, die sich gewohnheitsmäßig kurz nach dem Reboot
einloggen und dann bis zum nächsten Reboot eingeloggt bleiben (eventuell
mit screen), hast Du in beiden Fällen verloren.
Post by Ralph AichingerAußerdem kann man sich eventuell mit dem Audit-Log was zusammenpuzzeln.
Wenn sich jemand als "root"/rootpasswort einloggt, dann wird es halt
unvergleichlich schwieriger. Da muß man dann vermutlich von der IP oder
irgendwelchen Manierismen des Users ausgehen.
Key Hash. Ist mindestens so eindeutig wie ein Username. Und von den
Usern, die sich als Root einloggen dürfen, sollte man die Hashes kennen.
Post by Ralph AichingerPost by Peter J. HolzerDoch, das geht schon. Du kannst genau festlegen, welche User welche
Kommandos mit welchen Privilegien ausführen dürfen.
Ich hab mal wo gearbeitet, wo viel mit Docker gemacht wurde, und es sehr
schwer war die Grenze zwischen "darf alles" und "kann nix mehr sinnvoll
mit Docker zu machen" zu ziehen.
Das liegt dann aber an Docker und nicht an sudo.
hp