Yum-Updates - Sind .rpmnew-Dateien jemals kritisch / wichtig, um darauf zu reagieren?

7

Wenn yum manchmal Updates installiert, wird eine Meldung angezeigt wie:

warning: /etc/ssh/sshd_config created as /etc/ssh/sshd_config.rpmnew

Meiner Meinung nach wäre es ratsam, darauf zu reagieren, da möglicherweise gelegentlich Änderungen an einer Konfigurationsdatei vorgenommen werden, die aus Sicherheitsgründen wichtig sind. Ich frage mich jedoch, ob ich einfach zu vorsichtig bin und das ist nur ein theoretisches Problem, das in der Praxis nicht wirklich ein Problem darstellt.

Ich denke, was ich frage, ist, dass jemand in den letzten Jahren einen Fall kennt, in dem das Nicht-Zusammenführen in einer .rpmnew-Datei einige bemerkenswerte unerwünschte Auswirkungen gehabt hätte - insbesondere in Bezug auf die Sicherheit, aber andere Aspekte wie Stabilität oder Wünschbarkeit der Konfiguration können sein erwähnenswert.

sa289
quelle

Antworten:

10

Es ist sehr selten, dass Änderungen an der Standardkonfiguration Auswirkungen auf die Sicherheit oder Stabilität haben. "Sehr selten" ist jedoch nicht "nie", und es ist eine gute Systemhygienepraxis, alle .rpmnewDateien zu überprüfen und zu überprüfen, ob sie keine wichtigen Änderungen enthalten, und sie dann zu löschen.

Zur Überprüfung sollten Sie auch sicherstellen, dass Sie Sicherheitshinweise und Informationen zu allen verfügbaren Updates erhalten. Wenn Sie die Änderungsprotokolle und Bulletins lesen, erhalten Sie eine gute Vorstellung von der Art der Probleme, die behoben werden.

womble
quelle
Haben Sie persönliche Erfahrungen oder kennen Sie ein bestimmtes Beispiel, als eine neue RPM-Datei wichtig war? Ich teile Ihre theoretischen Bedenken, aber ich hätte gerne einen realen Fall, um die Bedenken zu bestätigen. Danke
sa289
Ich habe Konfigurationsdateiformate geändert. Das ist immer eine amüsante Sache zu debuggen.
Womble
Wow, das ist eine unangenehme Überraschung. War das, wenn Sie in derselben Hauptversion (dh 6.x bis 6.x) auf RHEL / einer abgeleiteten Distribution blieben, oder war das in einer anderen Distribution oder wurde eine Hauptversion über ein direktes Upgrade nach oben verschoben?
Sa289
@ sa289 Normalerweise passiert das bei Hauptversionen, aber bei Nebenversionen kann etwas aktualisiert werden, wenn es einen zwingenden Grund dafür gibt. In der RHEL-Welt ist das allerdings sehr selten.
Michael Hampton
Ich habe gerade gesehen, dass ssl.conf.rpmnew eine Änderung in SSLCipherSuite enthält, von der ich mir vorstellen kann, dass sie Auswirkungen ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOWauf DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DESdie Sicherheit hat.
Sa289
1

Ich würde empfehlen, nach Updates sowohl auf * .rpmnew- als auch auf * .rpmsave-Dateien zu reagieren. Die Erstellung dieser Dateien weist im Allgemeinen auf eines der folgenden drei Dinge hin:

  1. Sie waren nicht vorsichtig (oder es gab keine andere Möglichkeit) und haben eine Konfigurationsdatei geändert, die sich unter der Paketverwaltung befindet. Wenn ein Paket ein Verzeichnis für Konfigurations-Snippets bereitstellt (z. B. /etc/<package>.d/ wie in /etc/php.d/ für PHP), sollten Sie Ihre lokalen Änderungen dort ablegen und nicht von der betroffen sein Paket bereitgestellte Konfigurationsänderungen.

  2. Ein Packager war nicht vorsichtig und änderte eine Definition des entsprechenden Dateieintrags in der Spezifikationsdatei (z. B. vergaß er, eine bestimmte Datei als% config zu markieren, oder änderte die Modifikatoren in das Makro% config ().

  3. Es ist etwas faul und die betreffende Konfigurationsdatei wurde manipuliert.

In jedem Fall ist es gut, Folgendes zu tun, wenn ein Update entweder * .rpmnew oder * .rpmsave erzeugt hat:

  1. Machen Sie einen Unterschied zwischen der alten und der neuen Datei mit diff -uw old_file new_file(die Option -w ignoriert Änderungen in der Anzahl der Leerzeichen).

  2. Wenn es keine Unterschiede gibt (mit Ausnahme des Leerraums) und Sie die Erstellung der * .rpmnew-Datei untersuchen, ersetzen Sie die Originaldatei durch * .rpmnew mit mv config_file.rpmnew config_file. Dadurch wird sichergestellt, dass die Metadaten des Paketsatzes erhalten bleiben (z. B. Zeitstempel, Dateiberechtigungen und möglicherweise Funktionen).

  3. Wenn es Unterschiede gibt, stützen Sie Ihre Änderungen erneut auf die vom Paket bereitgestellte Datei (dh wenn Sie mit * .rpmnew arbeiten - kopieren Sie diese * .rpmnew-Datei unter einem temporären Namen und passen Sie sie an die gewünschten Änderungen aus der ursprünglichen Konfigurationsdatei an. Wenn Sie mit * .rpmsave arbeiten, übernehmen Sie Änderungen an der Konfigurationsdatei, die das Paket bereitgestellt hat. Dadurch wird sichergestellt, dass weitere Aktualisierungen einfacher sind und wenn Sie ein neues Konfigurationsdateiformat eingeführt haben, verwenden Sie es

  4. Wenn Sie diesen "Konflikt" behoben haben, entfernen Sie die entsprechende * .rpmnew- oder * .rpmsave-Datei, da sie von der Paketverwaltung nicht verfolgt werden.

Auf diese Weise erhalten Sie ein sauberes und ansprechendes System, mit dem Sie arbeiten können, und stellen sicher, dass Sie über die neuesten Änderungen an den Konfigurationsdateien informiert sind.

Galaxis
quelle
In meinem letzten Beispiel unter CentOS 7 habe ich yum update ausgeführt und am Ende /etc/ssh/sshd_config.rpmnew erhalten. Gibt es eine Konfigurationsdatei, die ich anstelle von / etc / ssh / sshd_config ändern sollte? Haben Sie persönlich wichtige Änderungen beim Zusammenführen von .rpmnew-Dateien gesehen, von denen Sie froh sind, dass Sie sie nicht verpasst haben?
Sa289
Vielleicht habe ich es in der Antwort schlecht formuliert, aber die Idee ist, dass Sie beide Dateien zum Zeitpunkt des Zusammenführens von Änderungen benötigen (um die Dinge zu überprüfen). In Ihrem Fall würde ich also "cp -a /etc/ssh/sshd_config.{rpmnew,temp}" ausführen und dann den Unterschied zwischen / etc / ssh / sshd_config und /etc/ssh/sshd_config.rpmnew anwenden Änderungen an /etc/sshd/sshd_config.temp. Überprüfen Sie, ob die neue Datei alles enthält, was Sie möchten, und klicken Sie dann auf "mv /etc/ssh/sshd_config{.temp,}". Dadurch wird die aktuelle Konfigurationsdatei atomar ersetzt und sshd neu gestartet und schließlich /etc/ssh/sshd_config.rpmnew entfernen.
Galaxie
1
Und ja, ich habe solche Änderungen gesehen und die Änderung von CentOS 7 in sshd_config ist eine solche Änderung. Ich bin froh, dass ich sie nicht verpasst habe, da sie aus irgendeinem Grund beschlossen haben, die Sicherheit von sshd erheblich zu lockern, indem sie Dinge aktiviert haben, die seit Ewigkeiten nicht mehr aktiviert waren :).
Galaxie
Waren diese Änderungen, als Sie von 6.x auf 7.x gewechselt sind, oder war es während einer Minor / Patch-Veröffentlichung?
Sa289
Es war zwischen Minderjährigen, vor ungefähr 3 Monaten, IIRC.
Galaxie