Ich würde empfehlen, dass Sie nur das Root-Konto in erster Linie verwenden. Wenn Sie es so einrichten:
- Konfigurieren Sie Ihre
sshd_config
auf dem Zielcomputer PermitRootLogin without-password
.
- Verwenden Sie diese Option
ssh-keygen
auf dem Computer, der die Sicherung abruft, um einen privaten SSH-Schlüssel zu erstellen (nur, wenn Sie noch keinen SSH-Schlüssel haben). Legen Sie keine Passphrase fest. Google ein Tutorial, wenn Sie Details dazu benötigen, sollte es genügend geben.
- Hängen Sie den Inhalt des
/root/.ssh/id_rsa.pub
Sicherungscomputers an den Inhalt /root/.ssh/authorized_keys
Ihres Zielcomputers an.
- Jetzt hat Ihr Sicherungscomputer Root-Zugriff auf Ihren Zielcomputer, ohne dass Sie die Kennwortauthentifizierung verwenden müssen.
dann sollte das resultierende Setup ziemlich sicher sein.
sudo
Insbesondere in Verbindung mit NOPASSWD
den Empfehlungen in den Kommentaren ergeben sich keine Sicherheitsvorteile gegenüber der Verwendung des Root-Kontos. Zum Beispiel dieser Vorschlag:
Fügen Sie Ihrer /etc/sudoers
Datei Folgendes hinzu :rsyncuser ALL= NOPASSWD:/usr/bin/rsync
Im Wesentlichen gibt rsyncuser
root-Berechtigungen trotzdem. Du fragst:
@MartinvonWittich Einfach eine vollständige Root-Shell zu bekommen, da mit rsync
ausgeführt sudo
? Gehen Sie das bitte durch.
Na ja, einfach. Mit der empfohlenen Konfiguration rsyncuser
kann jetzt rsync
als root ausgeführt werden, ohne dass Sie nach einem Passwort gefragt werden. rsync
ist ein sehr leistungsfähiges Tool zum Bearbeiten von Dateien. Daher gibt es jetzt rsyncuser
ein sehr leistungsfähiges Tool zum Bearbeiten von Dateien mit Root-Berechtigungen. Es dauerte nur ein paar Minuten, um einen Weg zu finden, dies auszunutzen (getestet auf Ubuntu 13.04, erfordert dash
, bash
hat nicht funktioniert):
martin@martin ~ % sudo rsync --perms --chmod u+s /bin/dash /bin/rootdash
martin@martin ~ % rootdash
# whoami
root
# touch /etc/evil
# tail -n1 /etc/shadow
dnsmasq:*:15942:0:99999:7:::
Wie Sie sehen, habe ich mir eine Root-Shell erstellt. whoami
Identifiziert mein Konto als root, kann ich Dateien erstellen /etc
und lesen /etc/shadow
. Mein Exploit bestand darin, das setuid- Bit in der dash
Binärdatei zu setzen. Es bewirkt, dass Linux diese Binärdatei immer mit den Berechtigungen des Besitzers ausführt, in diesem Fall root.
Eine echte Wurzel zu haben, wird aus guten Gründen nicht empfohlen. - Redanimalwar vor 15 Stunden
Nein, unbeholfenes Umgehen des Root-Kontos in Situationen, in denen es absolut angemessen ist, es zu verwenden, hat keinen guten Grund. Dies ist nur eine andere Form der Frachtkult-Programmierung - Sie verstehen das Konzept von sudo vs root nicht wirklich, Sie wenden einfach blind den Glauben an "root ist schlecht, sudo ist gut" an, weil Sie das irgendwo gelesen haben.
Einerseits gibt es Situationen, in denen sudo
definitiv das richtige Werkzeug für den Job ist. Wenn Sie beispielsweise interaktiv an einem grafischen Linux-Desktop arbeiten, sagen wir, Ubuntu, dann ist die Verwendung sudo
in den seltenen Fällen, in denen Sie manchmal Root-Zugriff benötigen , in Ordnung. Ubuntu hat absichtlich ein deaktiviertes Root-Konto und zwingt Sie, sich sudo
standardmäßig anzumelden, um zu verhindern, dass Benutzer immer das Root-Konto verwenden, um sich anzumelden. Wenn der Benutzer nur z. B. den Webbrowser verwenden möchte, wäre es gefährlich, sich als Root anzumelden Wenn Sie also standardmäßig kein Root-Konto haben, wird dies von dummen Leuten verhindert.
Auf der anderen Seite gibt es Situationen wie Ihre, in denen ein automatisiertes Skript Root-Berechtigungen für etwas erfordert, zum Beispiel um ein Backup zu erstellen. Das Umgehen sudo
des Root-Kontos ist nicht nur sinnlos, sondern auch gefährlich: Auf den ersten Blick rsyncuser
sieht es aus wie ein gewöhnliches nicht privilegiertes Konto. Aber wie ich bereits erklärt habe, wäre es für einen Angreifer sehr einfach, vollständigen Root-Zugriff zu erhalten, wenn er bereits rsyncuser
Zugriff erhalten hätte. Im Grunde haben Sie jetzt ein zusätzliches Root-Konto, das überhaupt nicht wie ein Root-Konto aussieht, was keine gute Sache ist.
root
Konto an erster Stelle.sudo
Insbesondere in Kombination mitNOPASSWD
den Empfehlungen in den Kommentaren wird die Sicherheit Ihres Computers nicht wirklich verbessert.