Kapitel 3. Sicherheits-Updates

Wenn Sicherheitsrisiken in einer Software entdeckt werden, muss die Software geändert werden, um das mögliche Sicherheitsrisiko auszuschließen. Ist das Paket Teil einer Red Hat Enterprise Linux Distribution, die derzeit unterstützt wird, liegt es im Interesse von Red Hat, Inc., so schnell wie möglich aktualisierte Pakete herauszugeben, die Sicherheitslöcher stopfen. Wird die Mitteilung eines Sicherheitsrisikos von einem Patch begleitet (oder Code, der den Fehler behebt), wird der Patch auf das Red Hat Enterprise Linux Paket angewendet, von unserem Qualitätssicherungsteam getestet und als Errata-Update herausgegeben. Enthält die Ankündigung keinen Patch, arbeitet ein Red Hat Entwickler mit dem Herausgeber des Pakets zusammen, um das Problem zu lösen. Wurde das Problem behoben, wird das Paket getestet und als Errata-Update herausgegeben.

Wenn Sie ein Paket verwenden, für das ein Sicherheits-Errata-Report herausgegeben wurde, wird strengstens empfohlen, dass Sie Ihre Sicherheits-Errata-Pakete sobald wie möglich aktualisieren, um die Zeit, die Ihr System angreifbar ist, zu minimieren.

3.1. Pakete aktualisieren

Wenn Sie Pakete auf Ihrem Szsten aktualisieren, ist es wichtig, das Update von einer vertrauenswürdigen Quelle herunterzuladen. Ein Cracker kann leicht eine Version eines Paketes nachbauen (mit der gleichen Versionsnummer des Pakets, das theoretisch das Problem lösen sollte), mit einem anderen Sicherheitsrisiko im Paket, und dieses im Internet veröffentlichen. Falls dies geschieht, kann durch Sicherheitsmaßnahmen wie das Abgleichen der Pakete gegen die ursprünglichen RPMs dieses Risiko nicht entdeckt werden. Es ist daher wichtig, dass Sie RPMs nur von Quellen wie Red Hat, Inc. herunterladen und die Signatur des Pakets prüfen, um sicherzustellen, dass es wirklich von dieser Quelle entwickelt wurde.

Red Hat bietet zwei Möglichkeiten, Sicherheitsupdates zu erhalten:

  1. Download vom Red Hat Network.

  2. Download von der Red Hat Errata Webseite

3.1.1. Red Hat Network benutzen

Red Hat Network ermöglicht Ihnen, den größten Teil des Update-Prozesses zu automatisieren. Es stellt fest, welche RPM-Pakete für Ihr System benötigt werden, lädt diese von einer sicheren Quelle herunter, prüft die RPM-Signatur, um festzustellen, ob diese nicht unbefugt geändert wurden, und aktualisiert diese. Die Paketinstallation kann sofort erfolgen oder auf einen bestimmten Zeitpunkt verlegt werden.

Red Hat Network benötigt von Ihnen ein Systemprofil von jeder Maschine, die aktualisiert werden soll. Dieses Systemprofil enthält Hardware- und Softwareinformationen über das System. Diese Informationen werden vertraulich behandelt und werden an niemanden weitergegeben. Sie werden nur benötigt, um festzustellen, welche Errata-Updates auf Ihr System angewendet werden können. Ohne diese kann Red Hat Network nicht feststellen, ob Ihr System aktualisiert werden muss. Wenn ein Sicherheits-Errata (oder ein anderes Errata) herausgegeben wird, schickt Red Hat Network Ihnen eine E-Mail mit einer Beschreibung der Errata, sowie Informationen, welche Teile Ihres Systems betroffen sind. Um das Update anzuwenden, können Sie den Red Hat Update Agent verwenden oder ein Update über die Webseite http://rhn.redhat.com planen.

TippTipp
 

Red Hat Enterprise Linux enthält das Red Hat Network Alert Notification Tool, ein Symbol im Panel, das sichtlich Hinweise für verfügbare Updates für ein Red Hat Enterprise Linux-System anzeigt.Weitere Informationen über das Applet finden Sie unter folgender URL: http://rhn.redhat.com/help/basic/applet.html

Weitere Informationen zu den Vorteilen des Red Hat Network finden Sie im Red Hat Network Reference Guide unter http://www.redhat.com/docs/manuals/RHNetwork/ oder besuchen Sie http://rhn.redhat.com.

WichtigWichtig
 

Bevor Sie jegliche Sicherheits-Errata installieren, stellen Sie sicher, dass Sie alle Anweisungen im Errata-Report gelesen und diese genau befolgt haben. Allgemeine Anweisungen über das Anwenden von Änderungen durch ein Errata-Update finden Sie unter Abschnitt 3.1.3.

3.1.2. Verwenden der Red Hat Errata-Webseite

Wenn Sicherheits-Errata-Berichte veröffentlicht werden, werden diese auf der Red Hat Errata-Webseite unter http://www.redhat.com/apps/support/errata/ bekanntgegeben. Sie können auf dieser Seite das Produkt und die Version für Ihr System auswählen, und dann Security oben auf der Seite auswählen, um nur Red Hat Enterprise Linux Sicherheitsinformationen anzuzeigen. Beschreibt die Zusammenfassung in einer dieser Informationen ein Paket, das auf Ihrem System verwendet wird, klicken Sie auf die Zusammenfassung für weitere Details.

Die Detail-Seite beschreibt das Sicherheitsproblem und gibt alle nötigen Anweisungen, die zusätzlich zur Aktualisierung des Pakets befolgt werden müssen, um das Sicherheitsloch zu stopfen.

Um die aktualisierten Pakete herunterzuladen, klicken Sie auf den Paketnamen und speichern Sie diese auf der Festplatte. Es wird dringend empfohlen, dass Sie ein neues Verzeichnis, wie z.B. /tmp/updates erstellen, und hierdrin die heruntergeladenen Pakete speichern.

Alle Red Hat Enterprise Linux Pakete sind mit dem Red Hat, Inc. GPG-Schlüssel signiert. Die RPM-Utility in Red Hat Enterprise Linux versucht automatisch, die GPG Signatur einer RPM vor der Installation zu verifizieren. Wenn Sie den Red Hat, Inc. GPG-Schlüssel noch nicht installiert haben, dann sollten Sie ihn jetzt von einer sicheren, statischen Quelle wie einer Red Hat Enterprise Linux CD-ROM installieren.

Unter der Annahme, das die CD-ROM in /mnt/cdrom gemountet ist, können Sie den folgenden Befehl zum Importieren des Schlüssels in den Schlüsselring verwenden.

rpm --import /mnt/cdrom/RPM-GPG-KEY

Um eine Liste aller installierten Schlüssel für die RPM-Verifikation anzuzeigen, führen Sie folgenden Befehl aus:

rpm -qa gpg-pubkey*

Für den Red Hat, Inc. Schlüssel enthält das Output folgendes:

gpg-pubkey-db42a60e-37ea5438

Um Details über einen bestimmten Schlüssel anzuzeigen, verwenden Sie den Befehl rpm -qi, gefolgt vom Output des vorhergehenden Befehls:

rpm -qi gpg-pubkey-db42a60e-37ea5438

Es ist von größter Wichtigkeit, dass Sie die Signatur der RPM-Dateien verifizieren, bevor Sie diese installieren. Dieser Schritt versichert Ihnen, dass die RPMs der Red Hat, Inc. Version nicht verändert wurden. Um alle heruntergeladenen Pakete gleichzeitig zu prüfen, geben Sie folgenden Befehl ein:

rpm -K /tmp/updates/*.rpm

Für jedes Paket, bei dem der GPG-Schlüssel erfolgreich verifiziert wurde, sollte im Output gpg OK erscheinen.

Nachdem der GPG-Schlüssel verifiziert und alle Pakete im Zusammenhang mit dem Errata-Bericht heruntergeladen wurden, können Sie diese als Root angemeldet in einem Shell-Prompt installieren.

Dies kann für die meisten Pakete sicher durch den folgenden Befehl erreicht werden (Kernel-Pakete ausgenommen):

rpm -Uvh /tmp/updates/*.rpm

Für Kernel-Pakete sollten Sie den folgenden Befehl verwenden:

rpm -ivh /tmp/updates/<kernel-package>

Ersetzen Sie <kernel-package> im vorhergehenden Beispiel mit dem Namen der Kernel-RPM.

Nachdem die Maschine mithilfe des neuen Kernels sicher neu gestartet ist, kann der alte Kernel mit dem folgenden Befehl entfernt werden:

rpm -e <old-kernel-package>

Ersetzen Sie <old-kernel-package> im vorhergehenden Beispiel mit dem Namen der älteren Kernel-RPM.

AnmerkungHinweis
 

Das Entfernen des alten Kernels ist nicht dringend nötig.

WichtigWichtig
 

Bevor Sie jegliche Sicherheits-Errata installieren, stellen Sie sicher, dass Sie alle Anweisungen im Errata-Report gelesen und diese genau befolgt haben. Allgemeine Anweisungen über das Anwenden von Änderungen durch ein Errata-Update finden Sie unter Abschnitt 3.1.3.

3.1.3. Anwenden der Änderungen

Nachdem Sie die Sicherheitserrata über das Red Hat Network oder die Red Hat Errata-Webseite heruntergeladen und installiert haben, ist es wichtig, die ältere Software zu stoppen und die neue Software zu verwenden. Die Vorgehensweise hängt von der Art der Software ab, die aktualisiert wurde. Die folgende Liste stellt die allgemeinen Kategorien der Software dar und gibt Anweisungen für das Verwenden der aktualisierten Versionen nach einem Paket-Upgrade.

AnmerkungHinweis
 

Im allgemeinen ist ein Neustart der beste Weg, sicherzustellen, dass die aktuellste Version eines Softwarepakets verwendet wird. Diese Option ist jedoch nciht immer für den Systemadministrator verfügbar.

Applikaitonen

User-Space Applikationen sind alle Programme, die durch einen Systembenutzer initiiert werden. Gewöhnlicherweise werden diese Applikationen nur verwendet, wenn ein Benutzer, Skript oder automatisierter Task diese startet und nicht lange ausführt.

Wird solch eine Applikation aktualisiert, stoppen Sie alle Instanzen dieser Applikation auf dem System und starten Sie das Programm neu, um die aktualisierte Version zu verwenden.

Kernel

Der Kernel ist die Kern-Softwarekomponente für das Red Hat Enterprise Linux Betriebssystem. Er verwaltet den Zugang zum Speicher, zum Prozessor und zu Peripheriegeräten, sowie plant alle Aufgaben.

Durch dessen zentrale Rolle kann der Kernel nur durch ein Herunterfahren des Computers neu gestartet werden. Daher kann eine aktualisierte Version des Kernels nicht verwendet werden, bis das System neu gestartet wird.

Shared-Bibliotheken

Shared-Bibliotheken sind Einheiten von Code, wie z.B. glibc, die von einer Reihe von Applikationen und Softwareprogrammen gemeinsam verwendet werden. Applikationen, die Shared-Bibliotheken verwenden, laden normalerweise den gemeinsamen Code beim Starten der Applikation, so dass alle Applikationen, die die aktualisierte Bibliothek verwenden, neu gestartet werden müssen.

Um festzustellen, welche Applikationen mit einer bestimmten Bibliothek verknüpft sind, verwenden Sie den Befehl lsof wie im folgenden Beispiel:

lsof /usr/lib/libwrap.so*

Dieser Befehl gibt eine Liste aller laufenden Programme aus, die TCP Wrappers für die Host-Zugangskontrolle verwenden. Alle aufgelisteten Programme müssen angehalten und neu gestartet werden, wenn das tcp_wrappers-Paket aktualisiert wird.

SysV Services

SysV Services sind persistente Server-Programme, die während es Bootens gestartet werden. Beispiele für SysV Services sind sshd, vsftpd und xinetd.

Da sich diese Programme normalerweise im Speicher aufhalten, solange die Maschine gebootet wird, muss jeder aktualisierte SysV Service nach dem Upgrade des Pakets angehalten und neu gestartet werden. Dies kann über das Services Configuration Tool oder durch das Anmelden an einem Shell-Prompt und Eingeben des Befehls /sbin/service wie im folgenden Beispiel:

/sbin/service <service-name> restart

Ersetzen Sie im vorhergehenden Beispiel <service-name> mit dem Namen des Services, wie z.B. sshd.

Im Kapitel Zugangskontrolle für Services imRed Hat Enterprise Linux Handbuch zur System-Administration finden Sie weitere Informationen zum Services Configuration Tool.

xinetd Services

Services, die vom Super-Service xinetd verwaltet werden, werden nur ausgeführt, wenn eine aktive verbindung vorliegt. Beispiele von Services, die von xinetd igesteuert werden, sind Telnet, IMAP und POP3.

Da neue Instanzen dieser Services durch xinetd jedesmal gestartet werden, wenn eine neue Anfrage empfangen wird, werden die Verbindungen, die nach einem Upgrade entstehen, durch die aktualisierte Software verwaltet. Bestehen jedoch aktive Verbindungen zur der Zeit, zu der von xinetd verwaltete Services aktualisiert werden, werden diese von der älteren Version der Software verwaltet.

Um ältere Instanzen eines bestimmten xinetd-Services zu stoppen, aktualisieren Sie das Paket für den Service und stoppen Sie dann alle Prozesse, die zur Zeit laufen. Prüfen Sie erst, welche Prozesse laufen mit dem Befehl ps, und geben Sie dann den Befehl kill oder killall ein, um alle aktuellen Instanzen dieses Service zu stoppen.

Wenn zum Beispiel Sicherheits-Errata imap-Pakere herausgegeben werden, aktuali packages are released, upgrade the packages, then type the following command as root into a shell prompt:

ps -aux | grep imap

Dieser Befehl gibt alle aktiven IMAP-Sitzungen aus. Individuelle Sitzungen können dann durch den folgenden Befehl beendet werden:

kill -9 <PID>

Ersetzen Sie im vorhergehenden Beispiel <PID> durch die Prozess-Identifikationsnummer der IMAP-Sitzung.

Um alle aktiven IMAP-Sitzungen zu beenden, geben Sie den folgenden Befehl ein:

killall imapd

Im Kapitel TCP Wrappersund xinetd im Red Hat Enterprise Linux Referenzhandbuch finden Sie weitere Informationen zu xinetd.