Mailinglist Archive: opensuse-de (2713 mails)

< Previous Next >
Re: Frage zu cron.daily
  • From: Christian Boltz <suse@xxxxxxxxx>
  • Date: Sun, 10 Jul 2005 01:13:07 +0200
  • Message-id: <200507100113.08638@xxxxxxxxxxxxxxx>
Hallo Andy, hallo Leute,

auch hier: Sorry für die Verzögerung ;-)

Am Montag, 6. Juni 2005 22:24 schrieb Andreas Schott:
> Am Montag, 6. Juni 2005 21:26 schrieb Christian Boltz:
[...]
> > Heißt das, dass Dein Script eine Benutzereingabe braucht?
> > Kein Wunder, dass es nicht geht - cron kann keine Passwörter tippen
> > ;-)
>
> Wie warum das denn nicht?
> Nein Scherz beiseite. Benutzereingaben werden nur erwartet, wenn root
> das Teil startet. Deshalb meine Überlegung es als User zu starten (da
> liegt der ssh-key schon auf dem Server) und cron müsste nicht tippen.
> Oder geht das mit cron.hourly nicht?

Siehe nebenan ;-)

> > Falls Du eine einigermaßen[1] sichere Lösung suchst, würde ich
> > einen SSH-Key mit Passphrase und einen ssh-agent im Hintergrund
> > empfehlen. Mit dieser Methode ist der Key nur benutzbar, solange
> > der Rechner an ist. Nach Stromausfall/Reboot/Diebstahl/... muss man
> > erst wieder die Passphrase eintippen.
>
> Ist das nicht ein wenig heikel an einem laufenden Rechner für root
> ohne Passwort per ssh Zugriff zu erlauben?

Jein ;-)

Grundsätzlich: Wenn dem Script auch User-Rechte reichen, ist das
natürlich sicherer. (Aber auch User-Logins kann man mit untenstehenden
Schritten besser absichern.)

Falls root-Rechte nötig sind (z. B. für ein Backup des kompletten
Systems), verwende ich folgende Lösung:
- einen SSH-Key, der per Passphrase geschützt ist
- ein kleines Startscript, das den ssh-agent startet - aber anstatt
seine Ausgabe wie üblich mit eval auszuwerten, wird diese
nach /root/irgendwas geschrieben
- ein Freischalt-Script, das /root/irgendwas source't und dann ssh-add
aufruft. Mit diesem Script muss nach jedem Reboot der Key
freigeschaltet werden - der Key ist also zumindest nach einem
Stromausfall (durch Diebstahl des Rechners, Booten mit Knoppix, ...)
geschützt.
- die Scripte, die den Key benötigen, sourcen ebenfalls /root/irgendwas
- serverseitig ist der Key mit command=... limitiert - siehe dazu
man 8 sshd - Stichwort "command=". Das passende Kommando kannst Du,
soweit nicht bekannt [1], einfach mit ps aux ermitteln, während der
entsprechende Befehl läuft.

Der verbleibende Risikofaktor ist, dass jemand ins laufende System
eindringt und dort root-Rechte ergattert - er kann dann auch den
SSH-Key nutzen. Dank Limitierung auf einen einzelnen Befehl ist aber
auch dieses Risiko überschaubar.

Diese Lösung ist immer noch besser als jeden Tag nachts um 3 das
Passwort einzugeben, damit das Backup laufen kann. Ein verschlafener
Admin ist schließlich auch ein Sicherheitsrisiko ;-))


Gruß

Christian Boltz, handverlesene sig ;-)

PS: Scripte auf Anfrage

[1] rsync (bzw. seine Parameter) wäre dafür ein Beispiel, da die
Parameter auf Client und Server unterschiedlich sind.
--
> PS.: Don't drink as root!
Das kann man gar nicht oft genug sagen: "uups, rm -rf * statt rm -rf *~
in /etc", das war eine Meisterleistung nachts um 3 mit 2.6 auf dem
Turm ;-)) [Volker Müller und Thomas Bendler in suse-linux]

< Previous Next >
Follow Ups