From Fedora Project Wiki

Automatische Aktualisierung

Sie müssen selbst entscheiden, ob Sie die automatische Aktualisierung mittels yum auf allen Maschinen laufen lassen. Es müssen einige Argumente sowohl dafür als auch dagegen abgewogen werden. Die Entscheidung liegt in der Verantwortung des Systemadministrators jeder Maschine zu entscheiden, ob automatische Aktualisierungen wünschenswert sind oder nicht. Es zeichnet einen guten Systemadminsitrator aus, dass er die Fakten und die Empfehlungen der anderen abwägt und daraus seine Schlussfolgerungen zieht.

Eine in den meisten Fällen gültige Regel ist:

Ist der Rechner ein wichtiger Server, bei dem ungeplante Auszeiten eines Dienstes nicht akzeptabel sind, sollte die automatische Aktualisierung nicht verwendet werden. Anderenfalls könnten Sie sie verwenden.

Auch diese allgemeine Regel hat Ausnahmen oder kann umgangen werden. Einige Probleme können mit einem speziellen Setup auf Ihrer Seite gelöst werden. Beispielsweise könnten Sie ein eigenes Repository mit getesteten oder vertrauenswürdigen Aktualisierungen auf einem lokalen Server erstellen. Dann verwenden Sie nur Aktualisierungen von diesem Server. Solche Setups können - obwohl komplexer aufzusetzen und zu unterhalten - ein hohes Mass der Risiken von automatischen Aktualisierungen vermeiden.

Wie werden automatische Aktualisierungen eingerichtet?

Sie können den yum-Paketmanagerdienst für das automatische Herunterladen und Installieren neuer Aktualisierungen (z. B. Sicherheitsaktualisierungen) verwenden. Das yum-RPM-Paket enthält einen Dienst "yum", den Sie als root aktivieren können. Führen Sie die folgenden Kommandos als root aus:

service yum start


Die Aktualisierungen von Softwarepaketen werden nach /var/log/yum.log für evtl. notwendige Überprüfungen geloggt.

Wenn Sie diesen Dienst beim Starten des Rechners aktivieren wollen, müssen Sie folgendes Kommando als root eingeben:

chkconfig yum on

Kann man den Aktualisierungen von yum vertrauen?

Die Überprüfung des GPG-Schlüssels der Softwarepakete durch yum ist in Fedora standardmässig aktiviert. Wenn Sie die korrekten GPG-Schlüssel importiert und die Option gpgcheck=1 in /etc/yum.conf noch aktiviert haben, kann man zumindest davon ausgehen, dass alle aktualisierten Pakete nicht verändert wurden. Angreifer haben keine Möglichkeit ein vom System als gültig akzeptiertes Paket zu erzeugen, solange sie nicht den privaten Schlüssel zu dem Ihrem System gespeicherten öffentlichen erhalten haben.

Es stellt sich jedoch die Frage nach der Qualität der Aktualisierungen. Kann deren Installation zu Problemen auf dem System führen? Diese Frage können wir nicht beantworten. Jedes Paket durchläuft einen Qualitätssicherungsprozess. Allerdings können nicht alle denkbaren Konstellationen getestet werden. Es ist immer möglich, dass Aktualisierungen während oder nach ihrer Installation Probleme hervorrufen.

Warum sollte man automatische Aktualisierungen verwenden?

Der wichtigste Vorteil automatischer Aktualisierungen ist deren schnellere, häufigere und gleichmässigere Verteilung der Aktualisierungen auf die Rechner als deren manueller Installation. Wir haben zu viele kompromittierte Rechner im Internet gesehen, die abgesichert gewesen wären, wenn sie regelmässig aktualisiert worden wären.

Obwohl Sie speziell in Produktionsumgebungen mit automatischen Aktualisierungen zurückhaltend sein sollten, sollten Sie zumindest darüber nachgedacht haben.

Gründe FÜR das Nutzen automatischer Aktualisierungen

Während keiner so einfach sagen kann, ob Ihr Rechner ein guter Kandidat für automatische Aktualisierungen ist, gibt es ein paar Dinge, die ihn zu einem besseren machen:

  • Sie wollen oder können Aktualisierungen nicht selbst machen - aus welchem Grund auch immer.
  • Der Rechner ist nicht kritisch und gelegentliche ungeplante Ausfälle sind akzeptabel.
  • Sie kommen ohne Fernzugriff aus, bis Sie an ihm direkt die Probleme lösen können.
  • Sie haben keine unersetzlichen Daten auf dem Rechner oder diese sind in einer Datensicherung außerhalb dieses Rechner enthalten.

Wenn all diese Punkte auf Ihren Rechner zutreffen, könnten automatische Aktualisierungen die beste Möglichkeit sein, ihn abzusichern. Sollten sie nicht alle zutreffen, müssen Sie die Risiken abwägen und selbst entscheiden.

Gründe GEGEN das Nutzen automatischer Aktualisierungen

Keiner kann sagen, ob Ihr Rechner ungeeignet für automatische Aktualisierungen ist. Es gibt aber ein paar Gründe, die ihn zu einem schlechteren Kandidaten machen:

  • Er stellt einen kritischen Dienst zur Verfügung, bei dem Sie keinen ungeplanten Ausfall riskieren wollen oder können.
  • Sie haben eigene oder selbst kompilierte Software installiert oder solche mit strikten Paketabhängigkeiten.
  • Sie haben einen eigenen Kernel, eigene Kernelmodule oder solche von Drittanbietern installiert oder Anwendungen, die von einer bestimmten Kernelversion abhängig sind (dieses Problem kann behoben werden, indem Sie die Kernelaktualisierungen explizit in yum.conf ausschliessen, was standardmäßig bei Fedora der Fall ist).
  • Sie haben spezielle Änderungskontrollprozeduren für Ihren Bereich eingeführt.
  • Sie aktualisieren aus yum-Repositories von Drittanbietern, deren Pakete mit den Versionierungsschemata von Fedora in Konflikt stehen könnten.

Es gibt ausserdem ein paar Gründe, warum das Installieren automatischer Aktualisierungen ohne vorheriges Testen eine schlechte Idee sind. Ein paar davon:

  • Die Notwendigkeit, vorher eine Sicherung der Konfigurationsdaten anzulegen. Auch die beste spec-Datei kann Fehler aufweisen. Wenn Sie eine Datei geändert haben, die nicht als Konfigurationsdatei gekennzeichnet ist, könnten diese Änderungen überschrieben werden. Oder eine Aktualisierung hat ein anderes Format für die Konfiguration, so dass Sie manuell eingreifen müssen. Es ist oft eine gute Idee, eine Sicherung der Konfigurationsdaten vor der Aktualisierung wichtiger Pakete wie Mail-, Web- oder Datenbankserver anzulegen.
  • Unerwünschte Nebeneffekte. Einige Pakete können lästige Nebeneffekte haben, speziell die mit cron-Jobs. Aktualisierungen von Paketen wie openssl, openldap, SQL-Servern usw. können Auswirkungen auf scheinbar nicht damit in Zusammenhang stehenden Paketen haben.
  • Fehler. Viele Pakete enthalten fehlerhafte Software oder Installationsskripte. Deren Aktualisierung kann Probleme hervorrufen. Sogar kosmetische Fehler wurden bereits gefunden wie z. B. in früheren Mozilla-Aktualisierungen (wobei die Icons verschwanden oder nicht mehr funktionierten), die lästig oder gar problematisch sein können.
  • Automatische Aktualisierungen könnten nicht vollständig ablaufen, um das System sicher zu machen. Beispielsweise könnte yum einen neuen Kernel installieren, aber bis zum Neustart des Rechners (was yum nicht automatisch tut) werden die Änderungen nicht wirksam. Das Gleiche trifft auf den Neustart von Diensten zu, was den Nutzer zu dem Irrtum führen könnte, er wäre sicher.


Empfehlungen zum Nutzen der automatischen Aktualisierungen

Wenn Sie sich für die Nutzung automatischer Aktualisierungen entschieden haben, sollten Sie ein paar Dinge tun, um sicher zu sein, dass Sie immer auf dem aktuellen Stand sind.

Überprüfen Sie für automatisch installierte Pakete, ob sie einen manuellen Eingriff benötigen. Sie können in yums Logdatei (normalerweise /var/log/yum.log) beobachten, was es aktualisiert hat. Das funtioniert auch automatisch per E-Mail, wenn Sie den cron-Job so ändern, dass er ihnen den letzten Teil der Logdatei sendet. Ändern Sie die Datei /etc/cron.daily/yum.cron so, dass sie folgendermaßen aussieht:

#!/bin/sh

if [ -f /var/lock/subsys/yum ] ; then
/usr/bin/yum -R 10 -e 0 -d 0 -y update yum
/usr/bin/yum -R 120 -e 0 -d 0 -y update
/usr/bin/tail /var/log/yum.log | /bin/mail -s yum-report youremail@yourdmain
fi

Dabei ersetzen Sie youremail@yourdomain mit der gewünschten E-Mail-Adresse, zu der der Bericht gesendet werden soll. Diese Änderungen bedeuten, dass Ihnen jede Nacht nach dem Ausführen von yum das Ende der Logdatei gesendet wird, was Ihnen sagt, was passierte. (Das erfordert natürlich eine funktionierende Mail-Installation auf Ihrem Rechner.)

Alternativen zur automatischen Aktualisierung

Benachrichtigungen

Statt der automatischen Aktualisierung kann Sie yum auch per E-Mail über zur Verfügung stehende Aktualisierungen informieren. Dazu richten Sie einen cron-Job wie den angegebenen ein. Speichern Sie ihn einfach unter einem geeigneten Dateinamen in /etc/cron.daily with (z. B. yum-check-updates.cron).

#!/bin/sh

/usr/bin/yum check-update 2>&1 | /bin/mail -s "yum check-update output" root

Sie können natürlich die E-Mail-Adresse ändern, an die der Bericht gesendet wird.

Aktualisierungen planen

Ein weiteres häufiges Problem ist, dass die Aktualisierungen ausgeführt werden, wenn es gar nicht erwünscht ist (Feiertage, Wochenende, Urlaub etc.). Wenn niemand da ist, der auftretende Probleme beheben könnte, ist es möglicherweise das Beste, Aktualisierungen an solchen Tagen zu vermeiden. Eine Möglichkeit ist einen crontab-Eintrag statt des Standards in /etc/cron.daily/yum.conf zu verwenden. Wenn die Aktualisierungen z. B. nur montags bis freitags ausgeführt werden sollen, könnten Sie einen crontab-Eintrag wie den folgenden verwenden:

0 7 * * 1-5   /usr/bin/yum -y update

Wenn Sie mehr Kontrolle über den Zeitpunkt des Starts benötigen, könnten Sie z. B. eine Datei /usr/local/etc/no-yum-update.conf mit den Datumsangaben erstellen, an denen yum nicht ausgeführt werden soll. Diese Datumsangaben sind im Format YYYY-MM-DD (2005-03-31) anzugeben. Danach erstellen Sie ein /etc/cron.daily/yum-update.cron-Skript wie das folgende:

#!/bin/sh

today=$(date +%Y-%m-%d)

while read banned; do
[ "$today" == "$banned" ]  && exit 0
done < /usr/local/etc/no-yum-update.conf
yum -y update


Andere Methoden des Schutzes

Ein weiterer zu berücksichtigender Punkt, wenn Sie automatische Aktualisierungen nicht verwenden ist, Ihren Rechner auf andere Art und Weise gegen vor der Aktualisierung auftretende Attacken zu schützen. Das schliesst eine (interne oder externe) Firewall ein, das Vermeiden gefährdender Arbeiten (wie Surfen im Internet oder Lesen von E-Mails) sowie das Überwachen des Systems auf Einbrüche oder Einbruchsversuche (mittels Systemlog, IDS, Login-Überwachung etc.). Dabei leisten Programme wie logwatch wertvolle Dienste.