[linux-l] Re: administrieren vieler Rechner

Thomas Knop tknop at maxrelax.de
Mi Feb 6 13:57:00 CET 2002


* Martin Kleinschmidt <mk at theochem.uni-duesseldorf.de> [06.02.02]:
>ich antworte mal oeffentlich, weil ich da noch mehr
>diskussionsbedarf habe.
>Hoffe du hast nix dagegen...
Nö, wenn ich an Dich per PM gemailt habe, war das ein Fehler,
der mir immer wieder mit meinem WebMail passiert (musst das auch
mal endlich ML-fähig machen :-)

>Thomas Knop wrote:
>> 
>> * Martin Kleinschmidt <mk at theochem.uni-duesseldorf.de> [05.02.02 18:30]:
>> > Hi,
>> [..]
>> > Ansonsten saehe mein Ansatz wie folgt aus:
>> > jeder Rechner guckt per cronjob ab und an nach, ob in
>> > einem ueber NFS gemounteten Verzeichnis ein neues script
>> > aufgetaucht ist und fuehrt das dann aus.
>> > Gibts da gravierende security-bedenken?
>> Ja.
>> Wenn es um Konfigurationen geht, werden meist root-Rechte benötigt.
>> In einem per NFS gemountetem Verzeichnis muss man sehr vorsichtig mit
>> ausführbaren Dateien sein (erlangt ein Einbrecher root-Rechte auf dem
>> NFS-server, kann er sie auf allen Clients erlangen).
>
>Richtig.
> 
>> besser:
>> + Benutzer "update" sieht per cronjob regelmäßig im NFS Verzeichniss nach
>>   und kopiert Installationsdateien unter seiner uid:giu nach /install
>> + Benutzer "install" führ in einem später laufendem cronjob die Skripte
>>   mit sudo als root aus.
>
>Inwiefern ist das denn jetzt besser?
a) Das NFS Verzeichniss kann mit "noexec,ro" gemountet werden.
b) Trennung von Ausführung/Kopieren. Nur Benutzer "update" darf 
   nach /install schreiben.

>Es kann doch immer noch ein kompromittiertes script sein,
>das er dort gefunden hat.
Dazu muss der Angreifer aber weit mehr "durschauen" als
/etc/exports; während er bei einem "exec" gemountetem NFS nur einen
einzigen beliebigen Benutzer auf jedem Client erraten muss um auch
auf dem Client root zu werden.

>> > Wie erledigt ihr sowas?
>> (
>> echo "Starting install at `date`"
>> for client in `cat clients.txt` ; do
>>   echo "Clinet '$client'"
>>   scp install.sh root@$client:/root/tmp 2>&1
>>   ssh root@$client /root/tmp/install.sh 2>&1
>> done
>> ) > instal.log

>Wenn ich das interaktiv mit password-authentication mache, 
>spare ich nicht viel an Aufwand.
Na ja, immerhin musst Du nur noch 10 x 2 passwörter eingeben.

>Und wenn ich es mit public-key mache, habe ich wieder
>das problem, dass eine kompromittierte Maschine
>reicht um alles lahm zu legen.
Richtig, dafür sollte man eine Admin-Maschine benutzen, die nur
von der Console bedient werden kann, _keine_ Verbindungung
zum Internet hat und _keine_ Verbindung vom Intranet zuläßt.
Regelmäßiges ändern der SHH2 Schlüssel sollte ebenso durchgeführt
werden.

>Allerdings sehe ich im Moment auch keine Moeglichkeit,
>dies anders zu machen. Wenn es denn eine automatisierte 
>Wartung sein soll, muss man wohl damit leben, dass 
>von einem System aus alles offen liegt, oder?
Ja.
Ich bevorzuge überigens die SSH Methode.

Gruß Thomas



Mehr Informationen über die Mailingliste linux-l