7 Rückportierungen des Quellcodes #
SUSE verwendet häufig Rückportierungen, z. B. für die Migration aktueller Softwarereparaturen und -funktionen in veröffentlichte SUSE Linux Enterprise-Pakete. In diesem Kapitel wird erläutert, weshalb es irreführend sein kann, Versionsnummern zu vergleichen, um die Fähigkeiten und die Sicherheit von SUSE Linux Enterprise-Softwarepaketen zu beurteilen. Darüber hinaus wird in diesem Kapitel erläutert, wie SUSE die Systemsoftware sicher und aktuell hält und dabei die Kompatibilität für Ihre Anwendungssoftware beibehält, die Sie zusätzlich zu den SUSE Linux Enterprise-Produkten ausführen. Sie erfahren außerdem, wie Sie überprüfen können, welche öffentlichen Sicherheitsprobleme in Ihrer SUSE Linux Enterprise-Systemsoftware berücksichtigt wurden, und wie Sie den aktuellen Status Ihrer Software ermitteln.
7.1 Argumente für die Rückportierung #
Upstream-Entwickler befassen sich hauptsächlich damit, die Software weiterzuentwickeln. In vielen Fällen beheben sie Fehler, während sie gleichzeitig neue Funktionen einbauen, die noch nicht eingehend getestet wurden und daher ihrerseits neue Fehler verursachen.
Distributionsentwickler müssen daher zwischen Folgendem unterscheiden:
Fehlerbehebungen mit begrenztem Risiko von Funktionsstörungen und
Änderungen, die die bestehenden Funktionen stören.
In den meisten Fällen beachten Distributionsentwickler nicht alle Upstream-Änderungen, sobald ein Paket in eine veröffentlichte Distribution eingebunden ist. Häufig bleiben sie bei der Upstream-Version, die sie ursprünglich veröffentlicht hatten, und sie erstellen auf Patches auf der Grundlage der Upstream-Änderungen, mit denen dann Fehler behoben werden sollen. Dies wird als Rückportierung bezeichnet.
Im Allgemeinen stellen Distributionsentwickler nur in zwei Fällen eine neuere Software-Version bereit:
wenn die Änderungen zwischen ihren Paketen und den Upstream-Versionen so groß geworden sind, dass eine Rückportierung nicht mehr praktikabel ist, oder
für Software, die schon an sich rasch veraltet, beispielsweise Anti-Malware-Software.
Bei SUSE wird die Rückportierung umfassend genutzt, damit die verschiedenen Anforderungen an Unternehmenssoftware in ein gesundes Gleichgewicht gebracht werden können. Beispiele für die wichtigsten Punkte:
Es sollen stabile Schnittstellen (APIs) erzielt werden, auf die die Software-Hersteller sich verlassen können, wenn sie Produkte für die gemeinsame Verwendung mit den Unternehmensprodukten von SUSE bauen.
Die Pakete, die in den Unternehmensprodukten von SUSE zum Einsatz kommen, sollen die höchstmögliche Qualität aufweisen und gründlich getestet werden, und das nicht nur in sich selbst, sondern auch als Bestandteil des gesamten Unternehmensprodukts.
Die Zertifizierungen der Unternehmensprodukte von SUSE durch andere Hersteller, z. B. Zertifizierungen für Oracle- oder SAP-Produkte, sollen aufrechterhalten werden.
So können sich die SUSE-Entwickler voll und ganz auf die nächste Produktversion konzentrieren, müssen also nicht unzählige Versionen im Auge behalten.
Es soll klar ersichtlich sein, was in einer bestimmten Unternehmensversion vorhanden ist, damit unser Kundendienst genaue und zeitnahe Informationen dazu bereitstellen kann.
7.2 Argumente gegen die Rückportierung #
Es gilt die allgemeine Richtlinie, dass keine neuen Upstream-Versionen eines Pakets in unsere Unternehmensprodukte eingeführt werden. Diese Regel ist allerdings nicht ohne Ausnahmen. Bei bestimmten Arten von Paketen, insbesondere bei Antiviren-Software, wiegen die Sicherheitsaspekte schwerer als die konservative Vorgehensweise, die mit Blick auf die Qualitätssicherung aus einzuhalten wäre. Für Pakete in dieser Klasse werden gelegentlich neuere Versionen in eine veröffentliche Version einer Unternehmensproduktlinie eingeführt.
Gelegentlich wird auch bei anderen Arten von Paketen entschieden, eine neue Version einzuführen, statt eine Rückportierung vorzunehmen. Dies ist dann der Fall, wenn eine Rückportierung wirtschaftlich nicht praktikabel ist oder wenn äußerst relevante technische Argumente für die Einführung der neueren Version sprechen.
7.3 Auswirkungen der Rückportierungen auf die Interpretation der Versionsnummern #
Aufgrund der verbreiteten Praxis der Rückportierungen ist es nicht möglich, aus einem einfachen Vergleich der Versionsnummern festzustellen, ob ein SUSE-Paket eine Korrektur für ein bestimmtes Problem enthält oder eine bestimmte Funktion in dieses Paket eingefügt wurde. Durch die Rückportierung gibt der Upstream-Teil der Versionsnummer eines SUSE-Pakets lediglich an, auf welcher Upstream-Version das SUSE-Paket basiert. Das Paket enthält unter Umständen Fehlerkorrekturen und Funktionen, die in der zugehörigen Upstream-Version fehlen, jedoch in das SUSE-Paket rückportiert wurden.
Diese eingeschränkte Aussagefähigkeit der Versionsnummern durch die Rückportierung macht sich insbesondere bei Sicherheitssuchwerkzeugen negativ bemerkbar. Einige Werkzeuge für die Suche nach Sicherheitslücken (oder bestimmte Tests in diesen Werkzeugen) beruhen ausschließlich auf den Versionsinformationen. Wenn Rückportierungen zum Einsatz kommen, liefern diese Tools und Tests daher häufig „falsch-positive“ Ergebnisse (eine Software wird irrtümlich als anfällig eingestuft). Achten Sie daher in allen Berichten von Sicherheits-Scan-Tools darauf, ob ein Eintrag auf der Grundlage einer Versionsnummer entstanden ist oder nach einem tatsächlichen Test auf Schwachstellen.
7.4 Prüfen auf behobene Fehler sowie auf Funktionen nach einer Rückportierung #
Informationen über rückportierte Fehlerbehebungen und Funktionen werden an mehreren Stellen gespeichert:
Changelog des Pakets:
>
rpm-q --changelog name-of-installed-package>
rpm -qp --changelogpackagefile.rpmpackagefile.rpm
Die Ausgabe dokumentiert den Änderungsverlauf des Pakets in Kurzform.
Das Changelog des Pakets enthält beispielsweise Einträge wie
bsc#1234
(„Bugzilla Suse. Com“, die sich auf Fehler im Bugzilla-Fehlerverfolgungssystem beziehen oder mit anderen Fehlerüberwachungssystemen verknüpft sind. Aus Vertraulichkeitsgründen sind nicht alle Informationen frei für alle Benutzer zugänglich.Ein Paket kann eine Datei
/usr/share/doc/PACKAGENAME/README.SuSE
umfassen, in der Sie allgemeine Informationen zum betreffenden SUSE-Paket finden.Das RPM-Quellpaket enthält die Patches, die während der regulären binären RPMs als separate Dateien angewendet werden können. Wenn Sie das Lesen des Quellcodes beherrschen, können Sie diese Dateien interpretieren. Im Abschnitt 9.1.3.5, „Installieren oder Herunterladen von Quellpaketen“ finden Sie die Installationsquellen für die SUSE Linux Enterprise-Software. Im Abschnitt 9.2.5, „Installieren und Kompilieren von Quellpaketen“ finden Sie Informationen zum Erstellen von Paketen unter SUSE Linux Enterprise. Weitere Informationen zu den Software-Paket-Builds für SUSE Linux Enterprise finden Sie im Handbuch Maximum RPM.
In den SUSE-Sicherheitsmitteilungen finden Sie Korrekturen zu Sicherheitsfehlern. Die Fehler werden häufig mit standardisierten Kennungen wie
CAN-2005-2495
bezeichnet, die im Rahmen des CVE-Projekts (Common Vulnerabilities and Exposures, häufige Sicherheitslücken und Gefährdungen) vergeben werden.